Skip to content

Commit dc6d6a1

Browse files
natechadwicktest
authored andcommitted
feat(integrations): add Grok Build skills-based integration
Add first-class support for xAI Grok Build via SkillsIntegration, installing speckit skills under .grok/skills and wiring init/invocation/catalog surfaces. Assisted-by: Grok Build (model: grok-4, supervised)
1 parent ad601e5 commit dc6d6a1

14 files changed

Lines changed: 146 additions & 2 deletions

File tree

.github/ISSUE_TEMPLATE/agent_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
1010
11-
**Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
11+
**Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
1212
1313
- type: input
1414
id: agent-name

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ body:
7676
- Gemini CLI
7777
- GitHub Copilot
7878
- Goose
79+
- Grok Build
7980
- Hermes Agent
8081
- IBM Bob
8182
- Junie

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ body:
7070
- Gemini CLI
7171
- GitHub Copilot
7272
- Goose
73+
- Grok Build
7374
- Hermes Agent
7475
- IBM Bob
7576
- Junie

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@ docs/dev
5353

5454
# The following directories/file are intentionally ignored so that they are not accidentally
5555
# committed to the repository. They contain the scaffolding `specify init --integration copilot`
56-
# does and they are meant for dogfooding Spec Kit during its own feature development.
56+
# (or other agents) does and they are meant for dogfooding Spec Kit during its own feature development.
5757
.github/agents/
5858
.github/prompts/
5959
.github/copilot-instructions.md
60+
.grok/
6061
.specify/
6162
specs/

docs/reference/integrations.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
2020
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `gemini` | |
2121
| [GitHub Copilot](https://code.visualstudio.com/) | `copilot` | Defaults to legacy markdown mode: `.agent.md` command files under `.github/agents/`, companion `.prompt.md` files under `.github/prompts/`, and a `.vscode/settings.json` merge. Pass `--integration-options="--skills"` to scaffold skills as `speckit-<command>/SKILL.md` under `.github/skills/` instead. Legacy markdown mode is deprecated and will stop being the default in a future release. |
2222
| [Goose](https://goose-docs.ai/) | `goose` | Uses YAML recipe format in `.goose/recipes/` |
23+
| [Grok Build](https://docs.x.ai/build/overview) | `grok` | Skills-based integration; installs skills into `.grok/skills` and invokes them as `/speckit-<command>` |
2324
| [Hermes](https://github.com/NousResearch/hermes-agent) | `hermes` | Skills-based integration; installs skills globally into `~/.hermes/skills/` |
2425
| [IBM Bob](https://www.ibm.com/products/bob) | `bob` | IDE-based agent |
2526
| [Junie](https://junie.jetbrains.com/) | `junie` | |
@@ -263,6 +264,7 @@ The currently declared multi-install safe integrations are:
263264
| `cursor-agent` | `.cursor/skills`, `.cursor/rules/specify-rules.mdc` |
264265
| `firebender` | `.firebender/commands`, `.firebender/rules/specify-rules.mdc` |
265266
| `gemini` | `.gemini/commands`, `GEMINI.md` |
267+
| `grok` | `.grok/skills` |
266268
| `junie` | `.junie/commands`, `.junie/AGENTS.md` |
267269
| `kilocode` | `.kilocode/workflows`, `.kilocode/rules/specify-rules.md` |
268270
| `qodercli` | `.qoder/commands`, `QODER.md` |

extensions/agent-context/agent-context-defaults.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"gemini": "GEMINI.md",
1818
"generic": "AGENTS.md",
1919
"goose": "AGENTS.md",
20+
"grok": "AGENTS.md",
2021
"hermes": "AGENTS.md",
2122
"junie": ".junie/AGENTS.md",
2223
"kilocode": ".kilocode/rules/specify-rules.md",

integrations/catalog.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,15 @@
282282
"repository": "https://github.com/github/spec-kit",
283283
"tags": ["cli"]
284284
},
285+
"grok": {
286+
"id": "grok",
287+
"name": "Grok Build",
288+
"version": "1.0.0",
289+
"description": "xAI Grok Build CLI skills-based integration",
290+
"author": "spec-kit-core",
291+
"repository": "https://github.com/github/spec-kit",
292+
"tags": ["cli", "skills", "xai"]
293+
},
285294
"hermes": {
286295
"id": "hermes",
287296
"name": "Hermes Agent",

src/specify_cli/_invocation_style.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"claude",
2222
"copilot",
2323
"cursor-agent",
24+
"grok",
2425
"hermes",
2526
"lingma",
2627
"rovodev",

src/specify_cli/commands/init.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,7 @@ def init(
689689
copilot_skill_mode = selected_ai == "copilot" and _is_skills_integration
690690
devin_skill_mode = selected_ai == "devin"
691691
zed_skill_mode = selected_ai == "zed" and _is_skills_integration
692+
grok_skill_mode = selected_ai == "grok" and _is_skills_integration
692693
cline_skill_mode = selected_ai == "cline"
693694
native_skill_mode = (
694695
codex_skill_mode
@@ -701,6 +702,7 @@ def init(
701702
or copilot_skill_mode
702703
or devin_skill_mode
703704
or zed_skill_mode
705+
or grok_skill_mode
704706
)
705707

706708
if codex_skill_mode:
@@ -733,6 +735,11 @@ def init(
733735
f"{step_num}. Start Zed in this project directory; spec-kit skills were installed to [cyan].agents/skills[/cyan]"
734736
)
735737
step_num += 1
738+
if grok_skill_mode:
739+
steps_lines.append(
740+
f"{step_num}. Start Grok Build in this project directory; spec-kit skills were installed to [cyan].grok/skills[/cyan]"
741+
)
742+
step_num += 1
736743
usage_label = "skills" if native_skill_mode else "slash commands"
737744

738745
from .._invocation_style import (

src/specify_cli/integrations/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def _register_builtins() -> None:
6363
from .gemini import GeminiIntegration
6464
from .generic import GenericIntegration
6565
from .goose import GooseIntegration
66+
from .grok import GrokIntegration
6667
from .hermes import HermesIntegration
6768
from .junie import JunieIntegration
6869
from .kilocode import KilocodeIntegration
@@ -99,6 +100,7 @@ def _register_builtins() -> None:
99100
_register(GeminiIntegration())
100101
_register(GenericIntegration())
101102
_register(GooseIntegration())
103+
_register(GrokIntegration())
102104
_register(HermesIntegration())
103105
_register(JunieIntegration())
104106
_register(KilocodeIntegration())

0 commit comments

Comments
 (0)