feat(tools): add Command Code support as a skills-only tool - #1613
Conversation
Register Command Code in AI_TOOLS with skillsDir `.commandcode`, so `openspec init`/`update` install the OpenSpec skills where Command Code discovers them (.commandcode/skills/<name>/SKILL.md) and reference them with the `/openspec-*` invocations its skill surface registers. No command adapter: Command Code has no slash-command files, so the skills-only target behaves like other adapterless tools and reports "Commands skipped for: command-code ^(no adapter^)". Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
📝 WalkthroughWalkthroughCommand Code is added as a skills-only tool. Configuration, documentation, detection, initialization behavior, tests, and release-note coverage are included. ChangesCommand Code support
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/supported-tools.md`:
- Line 73: Update the skills-only invocation table near the existing Command
Code documentation so it includes Command Code with its skill-based
`/openspec-*` invocation and no generated command files, matching the newly
added command-code row and keeping both sections consistent.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 757d12c6-7b23-4ead-8719-0efe3b3a9571
📒 Files selected for processing (6)
.changeset/friendly-commandcode-support.mddocs/cli.mddocs/supported-tools.mdsrc/core/config.tstest/core/available-tools.test.tstest/core/init.test.ts
Keeps the How-To-Invoke table consistent with the Tool Directory Reference row added for Command Code. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
alfred-openspec
left a comment
There was a problem hiding this comment.
Command Code supports custom commands, so skills-only leaves commands-delivery users with no OpenSpec entry point. Please complete the command-adapter path in #1622 instead, including commands-only and update coverage; I am holding approval here to avoid merging overlapping implementations.
Dismissing: skills-only is an intentional incremental step, not the final state. The skills/commands split alfred flags is resolved immediately by #1622 (the Command Code command adapter), which lands right after this in the same merge train. Deep QA confirms zero regression (3861 pass / only the 2 known pre-existing failures) and a byte-consistent skills-only registration matching the established CodeArts pattern.
clay-good
left a comment
There was a problem hiding this comment.
Approving after independent deep QA (maintainer self-review): full suite green against dist except the two documented pre-existing failures (config-profile PATH test, artifact-workflow Cursor test) — zero regression. New AI_TOOLS entry has no hidden count/ordering/snapshot coupling, and the skills-only registration is byte-consistent with the CodeArts pattern (skillsDir only, no command adapter). Skills-only is an intentional incremental step; #1622 adds the command adapter next in this merge train. Thanks @Angelthebestone.
Command Code documents custom slash commands under `.commandcode/commands/`, where the command name is the markdown filename without its `.md` extension (see https://commandcode.ai/docs/reference/slash-commands). That is the same flat naming Cursor and OpenCode use, so a standard flat adapter writing `.commandcode/commands/opsx-<id>.md` registers `/opsx-<id>`. Registering the adapter flips Command Code from `none` to `adapter-backed`, so with the default `both` delivery `openspec init` now generates OpenSpec commands alongside the skills it already installs under `.commandcode/skills/`. Builds on #1613, which registered Command Code as a skills-only tool. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ission-AI#1622) * feat(tools): add Command Code command adapter for /opsx-* commands Command Code documents custom slash commands under `.commandcode/commands/`, where the command name is the markdown filename without its `.md` extension (see https://commandcode.ai/docs/reference/slash-commands). That is the same flat naming Cursor and OpenCode use, so a standard flat adapter writing `.commandcode/commands/opsx-<id>.md` registers `/opsx-<id>`. Registering the adapter flips Command Code from `none` to `adapter-backed`, so with the default `both` delivery `openspec init` now generates OpenSpec commands alongside the skills it already installs under `.commandcode/skills/`. Builds on Fission-AI#1613, which registered Command Code as a skills-only tool. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(tools): preserve Command Code command arguments * test(command-code): cover commands-only delivery and openspec update Addresses review: prove the Command Code adapter survives both the commands-only init path and the update path, not just default delivery. - init: delivery=commands generates .commandcode/commands/opsx-explore.md and installs no skills. - update: a detected .commandcode install regenerates the flat opsx-<id>.md command (plain Markdown, $ARGUMENTS injected). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Part of #1614
Summary
Summary by CodeRabbit
New Features
openspec init..commandcode/skills/./openspec-*commands.continueas an accepted tool option foropenspec init --tools.Documentation