Skip to content

refactor(bugfix): migrate commands to skills-only architecture#78

Merged
jwm4 merged 1 commit intoambient-code:mainfrom
jwm4:refactor/bugfix-commands-to-skills
Mar 23, 2026
Merged

refactor(bugfix): migrate commands to skills-only architecture#78
jwm4 merged 1 commit intoambient-code:mainfrom
jwm4:refactor/bugfix-commands-to-skills

Conversation

@jwm4
Copy link
Copy Markdown
Contributor

@jwm4 jwm4 commented Mar 19, 2026

Summary

  • Delete .claude/commands/ directory — the 8 thin stub commands (assess through pr) were pure boilerplate that just dispatched to the controller skill; speedrun was the only command with real logic
  • Convert speedrun to a skill at .claude/skills/speedrun/SKILL.md with updated self-references
  • Add Dispatch section to each phase skill so it reads the controller first when invoked directly (preserving the controller-based orchestration that previously lived in the command stubs)
  • Simplify ambient.json — remove unused greeting field, trim systemPrompt from ~500 chars to ~170 chars (workspace layout and artifact paths are already covered by the controller and individual skills)
  • Update docs — README, CLAUDE.md, and WORKFLOW_DEVELOPMENT_GUIDE examples updated to reflect the skills-only structure

Motivation

Commands in Claude Code are now unified with skills — skills are directly invocable via / and support frontmatter options that commands lack. The command files were redundant indirection that added no value.

Test plan

  • Start a new bugfix session and verify the controller loads on startup
  • Invoke /assess directly and confirm it reads the controller first
  • Invoke /speedrun and confirm it runs phases in sequence
  • Verify phase skills return to the correct dispatcher (controller or speedrun)
  • Confirm ambient.json parses correctly (validated locally with python3 -m json.tool)

Made with Cursor

Commands in Claude Code are now unified with skills. The eight thin
stub commands that just dispatched to the controller were pure
boilerplate, and speedrun was the only command with real logic.

- Delete .claude/commands/ directory (9 files)
- Convert speedrun command to .claude/skills/speedrun/SKILL.md
- Add Dispatch section to each phase skill so it reads the controller
  when invoked directly (not via controller or speedrun)
- Update return-path references from commands/speedrun to skills/speedrun
- Trim ambient.json: remove unused greeting field, simplify systemPrompt
- Update README, CLAUDE.md, and WORKFLOW_DEVELOPMENT_GUIDE examples

Made-with: Cursor
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 19, 2026

Walkthrough

The bugfix workflow system was refactored from using thin command wrapper files at .claude/commands/ to direct skill implementations at .claude/skills/{phase}/SKILL.md. All command files were removed, and skill files were updated with dispatch routing logic and corrected phase handoff references from commands to skills.

Changes

Cohort / File(s) Summary
Command files removed
workflows/bugfix/.claude/commands/assess.md, diagnose.md, document.md, fix.md, pr.md, reproduce.md, review.md, test.md
Removed all 8 command wrapper files that previously delegated to the controller and dispatched phases. Direct skill invocation replaces this layer.
Skill files updated with dispatch logic
workflows/bugfix/.claude/skills/{assess,diagnose,document,fix,pr,reproduce,review,test}/SKILL.md
Added "Dispatch" sections to 8 skill files that check for controller or speedrun delegation; if invoked standalone, they redirect to read .claude/skills/controller/SKILL.md first. Updated all speedrun return references from .claude/commands/speedrun.md to .claude/skills/speedrun/SKILL.md.
Speedrun and controller skills
workflows/bugfix/.claude/skills/speedrun/SKILL.md, .../controller/SKILL.md
Speedrun frontmatter updated: removed displayName and icon, added name: speedrun. Updated all internal references from "command" to "skill" terminology. Controller updated to reference "available phases" instead of "commands".
Configuration and metadata
workflows/bugfix/.ambient/ambient.json
Simplified systemPrompt to remove controller/workspace details, removed greeting property.
Workflow documentation
workflows/bugfix/WORKFLOW_DEVELOPMENT_GUIDE.md, CLAUDE.md, README.md
Updated guidance to reflect skills-based architecture. Changed examples from .claude/commands/ to .claude/skills/ paths. Documented controller role in phase transitions and speedrun as standalone executor of all remaining phases.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main refactoring effort to migrate from a commands-based to a skills-only architecture, which is the primary focus of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description clearly explains the rationale for removing command stubs, converting speedrun to a skill, adding dispatch sections, and simplifying configuration.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jwm4 jwm4 marked this pull request as ready for review March 22, 2026 22:00
@jwm4 jwm4 merged commit f67d7c7 into ambient-code:main Mar 23, 2026
2 checks passed
@jwm4 jwm4 deleted the refactor/bugfix-commands-to-skills branch March 23, 2026 17:09
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.

1 participant