Skip to content

Rename commands to skills throughout CI/CD workflows#179

Merged
nhorton merged 12 commits intomainfrom
claude/fix-validate-generation-ci-2tB1K
Jan 29, 2026
Merged

Rename commands to skills throughout CI/CD workflows#179
nhorton merged 12 commits intomainfrom
claude/fix-validate-generation-ci-2tB1K

Conversation

@nhorton
Copy link
Contributor

@nhorton nhorton commented Jan 29, 2026

Summary

This PR updates all references from "commands" to "skills" across the CI/CD workflows and documentation to align with the project's terminology update.

Key Changes

  • Updated workflow documentation in .github/workflows/README.md to reflect the new "skill generation" terminology
  • Renamed all file paths from .claude/commands/ to .claude/skills/ in the integration test workflow
  • Updated test validation logic to check for SKILL.md files in skill directories instead of .md files in a flat commands directory
  • Updated all echo messages, comments, and step names to use "skill" instead of "command"
  • Updated artifact upload paths to reference the new skills directory structure

Notable Implementation Details

  • The skill directory structure now uses subdirectories (e.g., fruits.identify/SKILL.md) instead of flat files (e.g., fruits.identify.md)
  • Meta-skills for jobs are now stored in their own directories (e.g., fruits/SKILL.md)
  • All validation checks in the test workflow have been updated to verify the new directory structure
  • Both the fixture-based validation job and the full end-to-end test job have been updated consistently

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84

The validate-generation CI job was looking for `.claude/commands/` which
is the old structure. DeepWork now generates skills in `.claude/skills/`
with SKILL.md files inside directories.

Changes:
- Update validate-generation job to check for skill directories
- Update claude-code-e2e job to use skill paths
- Update artifact upload paths for new skill structure
- Update README documentation to reference skills

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
@nhorton nhorton enabled auto-merge January 29, 2026 16:24
@nhorton nhorton added this pull request to the merge queue Jan 29, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 29, 2026
…ocation

- Rename TestCommandGenerationE2E to TestSkillGenerationE2E
- Rename project_with_commands fixture to project_with_skills
- Fix claude invocation: use /fruits instead of appending args to skill name
- Provide input via stdin instead of as part of skill path
- Update docstrings from "commands" to "skills"

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
The --yes flag is not a valid claude CLI option. Remove it from all
subprocess.run calls that invoke claude.

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
- Remove invalid --yes flag from all claude CLI invocations
- Consolidate STEP 3 and STEP 4 into single /fruits workflow invocation
- The meta-skill automatically runs all sub-steps (identify + classify)
- Update timeout to 10 minutes for full workflow execution
- Update summary to reflect the simplified workflow

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
Replace three separate tests (test_identify_step_execution,
test_classify_step_execution, test_full_workflow_execution) with a
single test_fruits_workflow_execution that invokes /fruits once.

The /fruits meta-skill automatically runs all sub-steps, so individual
step invocations are not needed. This matches how DeepWork is actually
used.

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
@nhorton nhorton added this pull request to the merge queue Jan 29, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 29, 2026
claude and others added 4 commits January 29, 2026 18:11
The e2e test was failing because it relied on Claude to generate a valid
job.yml, which is flaky (Claude sometimes adds invalid fields like
'parameters').

Simplify the e2e test to:
1. Copy the pre-existing fruits job fixture into the test project
2. Run deepwork sync to generate skills
3. Execute /fruits workflow and validate outputs

This makes the test deterministic while still validating that generated
skills work correctly when executed with Claude Code.

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
The e2e test was failing because Claude generated a job.yml with an
invalid 'parameters' field at the root level. The job schema only
allows: name, version, summary, description, changelog, steps.

Update the prompt to explicitly tell Claude:
- What root-level fields are allowed
- NOT to add fields like 'parameters' or 'config'
- The correct format for step inputs

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
@nhorton nhorton enabled auto-merge January 29, 2026 18:52
@nhorton nhorton added this pull request to the merge queue Jan 29, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 29, 2026
@nhorton nhorton enabled auto-merge January 29, 2026 19:40
@nhorton nhorton added this pull request to the merge queue Jan 29, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 29, 2026
Create a .claude/settings.json with allow permissions for:
- Bash(*)
- Read(./**)
- Edit(./**)
- Write(./**)
- Skill(*)

This allows Claude to create output files without permission prompts
during CI e2e tests, while still preserving hook functionality.

https://claude.ai/code/session_01UUxYSXJyUU8uinbBwNwG84
@nhorton nhorton added this pull request to the merge queue Jan 29, 2026
Merged via the queue into main with commit e30b56f Jan 29, 2026
4 checks passed
@nhorton nhorton deleted the claude/fix-validate-generation-ci-2tB1K branch January 29, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants