feat: add Grok Build skills-only support#1349
Conversation
📝 WalkthroughWalkthroughGrok Build is added as a supported skills-only tool with ChangesGrok Build skills-only support
Estimated code review effort: 2 (Simple) | ~10 minutes Sequence Diagram(s)sequenceDiagram
participant InitCommand
participant AI_TOOLS
participant SkillGeneration
participant CommandAdapterRegistry
InitCommand->>AI_TOOLS: resolve grok with skillsDir .grok
InitCommand->>SkillGeneration: generate skills under .grok/skills
InitCommand->>CommandAdapterRegistry: look up Grok adapter
CommandAdapterRegistry-->>InitCommand: no adapter registered
InitCommand-->>InitCommand: skip command-file generation and log reason
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.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/how-commands-work.md (1)
83-87: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winClarify Grok’s slash-based skill invocation.
The new row correctly uses
/openspec-propose, but the surrounding guidance says skill-based tools use skills “instead of slash commands” while the page’s generic instructions still direct users to/opsx. Qualify those instructions or explicitly state that Grok uses/openspec-*slash-invoked skills.Suggested wording
-| Grok Build | skill-style, e.g. `/openspec-propose` | +| Grok Build | skill-style slash invocation, e.g. `/openspec-propose` | -A few tools surface OpenSpec as named skills instead of slash commands; for those you invoke the skill by name. +Some tools surface OpenSpec as named skills; use the tool-specific slash syntax shown above.🤖 Prompt for 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. In `@docs/how-commands-work.md` around lines 83 - 87, Clarify the guidance in docs/how-commands-work.md to explicitly state that Grok invokes its skills through /openspec-* slash commands, while other named-skill tools may use non-slash invocation. Align the generic instructions with the Grok Build row and existing /opsx guidance without changing the command mappings.
🤖 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.
Outside diff comments:
In `@docs/how-commands-work.md`:
- Around line 83-87: Clarify the guidance in docs/how-commands-work.md to
explicitly state that Grok invokes its skills through /openspec-* slash
commands, while other named-skill tools may use non-slash invocation. Align the
generic instructions with the Grok Build row and existing /opsx guidance without
changing the command mappings.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e0e690d2-4e58-4560-a084-18b5c0d97647
📒 Files selected for processing (15)
docs/cli.mddocs/commands.mddocs/how-commands-work.mddocs/supported-tools.mddocs/troubleshooting.mdopenspec/changes/archive/2026-07-11-add-grok-build-skills-only-support/.openspec.yamlopenspec/changes/archive/2026-07-11-add-grok-build-skills-only-support/design.mdopenspec/changes/archive/2026-07-11-add-grok-build-skills-only-support/proposal.mdopenspec/changes/archive/2026-07-11-add-grok-build-skills-only-support/specs/ai-tool-paths/spec.mdopenspec/changes/archive/2026-07-11-add-grok-build-skills-only-support/specs/cli-init/spec.mdopenspec/changes/archive/2026-07-11-add-grok-build-skills-only-support/tasks.mdopenspec/specs/ai-tool-paths/spec.mdopenspec/specs/cli-init/spec.mdsrc/core/config.tstest/core/init.test.ts
Summary
skillsDir: '.grok'/openspec-*skill invocations2026-07-11-add-grok-build-skills-only-support)Technical Analysis
Grok Build does not expose a stable project-local file-based custom command surface like Claude Code or Codex. Its documented extension model is skill discovery from
./.grok/skills/(and~/.grok/skills/), and user-invocable skills appear as slash commands (/<skill-name>). Core TUI commands (/plan,/model,/skills, …) are built-in, not OpenSpec-generated project files. Because of that, this change treats Grok Build as a skills-only tool and does not add agrokcommand adapter.The OpenSpec implementation follows the same narrow adapterless pattern merged for Kimi CLI:
feat: add Kimi CLI skills-only support.forge), Mistral Vibe (.vibe)Upstream docs used for the integration surface:
./.grok/skills/, skills surface as/<skill-name>.grok/commands/project layout for custom opsx filesThis intentionally does not rely on Grok’s Claude/Cursor compatibility scanners as the product integration. Free-riding on
.claude/skillscan work for some users, but it couples Grok support to Claude layout, can be disabled via Grok config/env, and never registers Grok as a configured OpenSpec tool forinit/update. Native.grokremains the canonical target.Tool metadata:
Validation
openspec validate add-grok-build-skills-only-support --strict(pre-archive)pnpm exec vitest run test/core/init.test.ts -t "Grok Build"Summary by CodeRabbit
New Features
.grok/skillsdirectory./openspec-*skill invocations instead of generated command files.Documentation