feat: multi-agent commands & skill discovery (phase 2b, v0.17.0)#12
Conversation
All SKILL.md files now carry YAML frontmatter so the model can auto-discover skills by description across agents (not just explicit /name). ADR-018 item 4 done. First increment of phase 2b.
- skills: name/description frontmatter on all SKILL.md → auto-discovery on every agent (done earlier in this branch). - commands (hybrid, ADR-018): opencode → .opencode/command/*.md, Copilot → .github/prompts/*.prompt.md (native copies of the canonical workflow prompts); Gemini/Cursor/Codex → new "## Workflows" section in AGENTS.md. Claude keeps .claude/commands/. Per selected harness, create-only. - registry: emit_agent_commands + DOTCONTEXT_COMMANDS; init wires it in. - --version --json: + commands:true. ADR-018 Accepted. - bump 0.17.0 + CHANGELOG. Deferred (recorded in ADR-018): code-review/deep-context → skill-mode promotion; per-agent TOML/skill command transforms for Gemini/Cursor/Codex.
|
Warning Review limit reached
More reviews will be available in 45 minutes and 16 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (35)
✨ 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 |
/add-skill produced the old format (# Skill: … with no YAML frontmatter), so newly created skills wouldn't be auto-discoverable — inconsistent with the frontmatter now required across agents. Updated the command to emit name/description frontmatter (description front-loaded for discovery) and noted the .agents/skills mirror for non-Claude agents.
Functional (commands were reading/writing the now-stub CLAUDE.md):
- setup-context: writes project instructions to AGENTS.md (was CLAUDE.md)
- fix-bug, execute-prp, deep-context, code-review: read AGENTS.md (canonical)
- doctor: Claude CLI missing → warn not fail; commands check is harness-aware
(no false failure for valid non-Claude projects)
User-facing text:
- help.sh tagline/init desc/section header → multi-agent
- update.sh MCP prompt "for your agents"
- README: taglines, AGENTS.md canonical, 4-skill tree, per-harness commands row,
conditional setup-context launch, per-agent notifications
- CLAUDE.md: tagline, init --agents / --version --features, template-init mapping,
multi-agent integration section
- CONTEXT.md: tagline, AGENTS.md canonical entity, command entity
ADRs reconciled:
- ADR-003: drop --force (contradicted its own v2.0); doctor not "status" cmd
- ADR-004: note extended beyond Claude by 016/017/018 + Related
- ADR-005: cross-agent note ({{ASK}} via ADR-018) + Related
- ADR-015: multiagent/skills/hooks/commands now true; drop "(forthcoming)"
- ADR-016/018: fix dangling "ADR-005 v2.0" ref → ADR-018; status/History consistency
Leads with the most common contribution — adding a skill (SKILL.md frontmatter, init/update wiring, .agents/.claude mirror, build) — then covers other contributions, local dev, PR workflow, decision compliance, and the deploy model (templates live on merge; CLI binary + release via tag-triggered release.yml; merge != release). Includes issue/PR guidance and community expectations per GitHub's contributing-guidelines recommendations.
- .github/ISSUE_TEMPLATE/: bug_report + feature_request (skill/harness-aware) + config (links to CONTRIBUTING) - .github/PULL_REQUEST_TEMPLATE.md: summary/changes/type/checklist (incl. the make-build-in-sync reminder CI enforces) + test plan
Remove AI-writing tells (em-dash overuse, signposting, inline-header dashes, rule-of-three, generic bookends) per the humanizer guide. Keeps the technical content and tone; just reads less like generated text.
Squash-merges collapse history, so git-log-based notes were one line. Pull the matching CHANGELOG.md section as the release body instead (fall back to git log when absent), and keep the Full Changelog compare link. Docs/ADR-014 updated.
The release notes come from this section, so it must reflect everything shipping in v0.17.0: phase 2b + the consistency fixes, doctor non-Claude fix, CONTRIBUTING, issue/PR templates, humanized docs, and the CHANGELOG-based release notes.
…0.17.0 PR #10 merged after v0.16.0 with no release of its own, so the skill first ships in v0.17.0; give it a proper entry instead of only a passing mention.
Summary
Phase 2b — makes skills discoverable and workflows usable across all six harnesses (ADR-018). Builds on the multi-agent foundation from v0.16.0.
Changes
Skill discovery (frontmatter)
Every
SKILL.mdnow opens with YAMLname+description, so the model can auto-discover a skill by matching the task against its description — not just via explicit/name. Applied to all four skills (bug-reproduction,batch-operations,git-platform,update-api-documentation). This was the gap flagged in review of #10 (now fixed, not just documented).Commands across harnesses — hybrid (ADR-018)
.claude/commands/*.md(slash).opencode/command/*.md(native copy).github/prompts/*.prompt.md(native copy)## Workflowssection inAGENTS.md(lists each workflow + use your native structured-question tool)Emission is per selected harness and create-only (no junk, no clobber).
--version --jsonnow reportscommands: true.Why hybrid (not native files everywhere)
Per-agent transforms (Gemini TOML, Cursor skill+flag, Codex global prompts) are format-divergent and not runtime-verifiable here, so they were intentionally not generated. The
AGENTS.mdWorkflows section makes the workflows usable on those agents without fragile generation. Rationale in ADR-018.Deferred (recorded in ADR-018)
code-review/deep-context→ skill-mode promotion (they still ship as commands).Test plan
make buildclean;bash -nall modules + binary; build in-syncemit_agent_commandsverified locally: opencode → 12.md, Copilot → 12.prompt.md, Codex → none--version --jsonreportscommands: truev0.17.0→ release.yml