You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge upstream/main: resolve conflicts with lean preset bundling
- Keep both workflow and preset force-include in pyproject.toml
- Keep both _locate_bundled_workflow and _locate_bundled_preset helpers
- Add workflow files to yaml base inventory test (goose)
@@ -343,16 +344,82 @@ Command content with {SCRIPT} and {{args}} placeholders.
343
344
"""
344
345
```
345
346
347
+
### YAML Format
348
+
349
+
Used by: Goose
350
+
351
+
```yaml
352
+
version: 1.0.0
353
+
title: "Command Title"
354
+
description: "Command description"
355
+
author:
356
+
contact: spec-kit
357
+
extensions:
358
+
- type: builtin
359
+
name: developer
360
+
activities:
361
+
- Spec-Driven Development
362
+
prompt: |
363
+
Command content with {SCRIPT} and {{args}} placeholders.
364
+
```
365
+
346
366
## Argument Patterns
347
367
348
368
Different agents use different argument placeholders. The placeholder used in command files is always taken from `registrar_config["args"]` for each integration — check there first when in doubt:
349
369
350
370
- **Markdown/prompt-based**: `$ARGUMENTS` (default for most markdown agents)
351
371
- **TOML-based**: `{{args}}` (e.g., Gemini)
372
+
- **YAML-based**: `{{args}}` (e.g., Goose)
352
373
- **Custom**: some agents override the default (e.g., Forge uses `{{parameters}}`)
353
374
- **Script placeholders**: `{SCRIPT}` (replaced with actual script path)
354
375
- **Agent placeholders**: `__AGENT__` (replaced with agent name)
355
376
377
+
## Special Processing Requirements
378
+
379
+
Some agents require custom processing beyond the standard template transformations:
380
+
381
+
### Copilot Integration
382
+
383
+
GitHub Copilot has unique requirements:
384
+
- Commands use `.agent.md` extension (not `.md`)
385
+
- Each command gets a companion `.prompt.md` file in `.github/prompts/`
386
+
- Installs `.vscode/settings.json` with prompt file recommendations
387
+
- Context file lives at `.github/copilot-instructions.md`
388
+
389
+
Implementation: Extends `IntegrationBase` with custom `setup()` method that:
390
+
1. Processes templates with `process_template()`
391
+
2. Generates companion `.prompt.md` files
392
+
3. Merges VS Code settings
393
+
394
+
### Forge Integration
395
+
396
+
Forge has special frontmatter and argument requirements:
- Injects `name` field into frontmatter when missing
400
+
401
+
Implementation: Extends `MarkdownIntegration` with custom `setup()` method that:
402
+
1. Inherits standard template processing from `MarkdownIntegration`
403
+
2. Adds extra `$ARGUMENTS` → `{{parameters}}` replacement after template processing
404
+
3. Applies Forge-specific transformations via `_apply_forge_transformations()`
405
+
4. Strips `handoffs` frontmatter key
406
+
5. Injects missing `name` fields
407
+
6. Ensures the shared `update-agent-context.*` scripts include a `forge` case that maps context updates to `AGENTS.md` and lists `forge` in their usage/help text
408
+
409
+
### Goose Integration
410
+
411
+
Goose is a YAML-format agent using Block's recipe system:
412
+
- Uses `.goose/recipes/` directory for YAML recipe files
413
+
- Uses `{{args}}` argument placeholder
414
+
- Produces YAML with `prompt: |` block scalar for command content
415
+
416
+
Implementation: Extends `YamlIntegration` (parallel to `TomlIntegration`):
417
+
1. Processes templates through the standard placeholder pipeline
418
+
2. Extracts title and description from frontmatter
4. Uses `yaml.safe_dump()` for header fields to ensure proper escaping
421
+
5. Context updates map to `AGENTS.md` (shared with opencode/codex/pi/forge)
422
+
356
423
## Common Pitfalls
357
424
358
425
1. **Using shorthand keys for CLI-based integrations**: For CLI-based integrations (`requires_cli: True`), the `key` must match the executable name (e.g., `"cursor-agent"` not `"cursor"`). `shutil.which(key)` is used for CLI tool checks — mismatches require special-case mappings. IDE-based integrations (`requires_cli: False`) are not subject to this constraint.
Copy file name to clipboardExpand all lines: README.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -186,8 +186,10 @@ The following community-contributed extensions are available in [`catalog.commun
186
186
| Archive Extension | Archive merged features into main project memory. |`docs`| Read+Write |[spec-kit-archive](https://github.com/stn1slv/spec-kit-archive)|
187
187
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication |`integration`| Read+Write |[spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops)|
188
188
| Branch Convention | Configurable branch and folder naming conventions for /specify with presets and custom patterns |`process`| Read+Write |[spec-kit-branch-convention](https://github.com/Quratulain-bilal/spec-kit-branch-convention)|
189
+
| Brownfield Bootstrap | Bootstrap spec-kit for existing codebases — auto-discover architecture and adopt SDD incrementally |`process`| Read+Write |[spec-kit-brownfield](https://github.com/Quratulain-bilal/spec-kit-brownfield)|
| CI Guard | Spec compliance gates for CI/CD — verify specs exist, check drift, and block merges on gaps |`process`| Read-only |[spec-kit-ci-guard](https://github.com/Quratulain-bilal/spec-kit-ci-guard)|
191
193
| Checkpoint Extension | Commit the changes made during the middle of the implementation, so you don't end up with just one very large commit at the end |`code`| Read+Write |[spec-kit-checkpoint](https://github.com/aaronrsun/spec-kit-checkpoint)|
192
194
| Cleanup Extension | Post-implementation quality gate that reviews changes, fixes small issues (scout rule), creates tasks for medium issues, and generates analysis for large issues |`code`| Read+Write |[spec-kit-cleanup](https://github.com/dsrednicki/spec-kit-cleanup)|
193
195
| Conduct Extension | Orchestrates spec-kit phases via sub-agent delegation to reduce context pollution. |`process`| Read+Write |[spec-kit-conduct-ext](https://github.com/twbrandon7/spec-kit-conduct-ext)|
@@ -197,6 +199,7 @@ The following community-contributed extensions are available in [`catalog.commun
197
199
| Fix Findings | Automated analyze-fix-reanalyze loop that resolves spec findings until clean |`code`| Read+Write |[spec-kit-fix-findings](https://github.com/Quratulain-bilal/spec-kit-fix-findings)|
| Fleet Orchestrator | Orchestrate a full feature lifecycle with human-in-the-loop gates across all SpecKit phases |`process`| Read+Write |[spec-kit-fleet](https://github.com/sharathsatish/spec-kit-fleet)|
| Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building |`docs`| Read+Write |[spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate)|
201
204
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support |`integration`| Read+Write |[spec-kit-jira](https://github.com/mbachorik/spec-kit-jira)|
202
205
| Learning Extension | Generate educational guides from implementations and enhance clarifications with mentoring context |`docs`| Read+Write |[spec-kit-learn](https://github.com/imviancagrace/spec-kit-learn)|
@@ -225,19 +228,23 @@ The following community-contributed extensions are available in [`catalog.commun
225
228
| Review Extension | Post-implementation comprehensive code review with specialized agents for code quality, comments, tests, error handling, type design, and simplification |`code`| Read-only |[spec-kit-review](https://github.com/ismaelJimenez/spec-kit-review)|
| Security Review | Comprehensive security audit of codebases using AI-powered DevSecOps analysis |`code`| Read-only |[spec-kit-security-review](https://github.com/DyanGalih/spec-kit-security-review)|
231
+
| SFSpeckit | Enterprise Salesforce SDLC with 18 commands for the full SDD lifecycle. |`process`| Read+Write |[spec-kit-sf](https://github.com/ysumanth06/spec-kit-sf)|
| Spec Critique Extension | Dual-lens critical review of spec and plan from product strategy and engineering risk perspectives |`docs`| Read-only |[spec-kit-critique](https://github.com/arunt14/spec-kit-critique)|
230
234
| Spec Diagram | Auto-generate Mermaid diagrams of SDD workflow state, feature progress, and task dependencies |`visibility`| Read-only |[spec-kit-diagram-](https://github.com/Quratulain-bilal/spec-kit-diagram-)|
231
235
| Spec Refine | Update specs in-place, propagate changes to plan and tasks, and diff impact across artifacts |`process`| Read+Write |[spec-kit-refine](https://github.com/Quratulain-bilal/spec-kit-refine)|
232
236
| Spec Sync | Detect and resolve drift between specs and implementation. AI-assisted resolution with human approval |`docs`| Read+Write |[spec-kit-sync](https://github.com/bgervin/spec-kit-sync)|
237
+
| SpecTest | Auto-generate test scaffolds from spec criteria, map coverage, and find untested requirements |`code`| Read+Write |[spec-kit-spectest](https://github.com/Quratulain-bilal/spec-kit-spectest)|
233
238
| Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage |`code`| Read-only |[spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review)|
234
239
| Status Report | Project status, feature progress, and next-action recommendations for spec-driven workflows |`visibility`| Read-only |[Open-Agent-Tools/spec-kit-status](https://github.com/Open-Agent-Tools/spec-kit-status)|
235
240
| Superpowers Bridge | Orchestrates obra/superpowers skills within the spec-kit SDD workflow across the full lifecycle (clarification, TDD, review, verification, critique, debugging, branch completion) |`process`| Read+Write |[superpowers-bridge](https://github.com/RbBtSn0w/spec-kit-extensions/tree/main/superpowers-bridge)|
236
241
| TinySpec | Lightweight single-file workflow for small tasks — skip the heavy multi-step SDD process |`process`| Read+Write |[spec-kit-tinyspec](https://github.com/Quratulain-bilal/spec-kit-tinyspec)|
237
242
| V-Model Extension Pack | Enforces V-Model paired generation of development specs and test specs with full traceability |`docs`| Read+Write |[spec-kit-v-model](https://github.com/leocamello/spec-kit-v-model)|
238
243
| Verify Extension | Post-implementation quality gate that validates implemented code against specification artifacts |`code`| Read-only |[spec-kit-verify](https://github.com/ismaelJimenez/spec-kit-verify)|
239
244
| Verify Tasks Extension | Detect phantom completions: tasks marked [X] in tasks.md with no real implementation |`code`| Read-only |[spec-kit-verify-tasks](https://github.com/datastone-inc/spec-kit-verify-tasks)|
245
+
| What-if Analysis | Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them |`visibility`| Read-only |[spec-kit-whatif](https://github.com/DevAbdullah90/spec-kit-whatif)|
240
246
| Worktree Isolation | Spawn isolated git worktrees for parallel feature development without checkout switching |`process`| Read+Write |[spec-kit-worktree](https://github.com/Quratulain-bilal/spec-kit-worktree)|
247
+
| Worktrees | Default-on worktree isolation for parallel agents — sibling or nested layout |`process`| Read+Write |[spec-kit-worktree-parallel](https://github.com/dango85/spec-kit-worktree-parallel)|
241
248
242
249
To submit your own extension, see the [Extension Publishing Guide](extensions/EXTENSION-PUBLISHING-GUIDE.md).
243
250
@@ -253,6 +260,7 @@ The following community-contributed presets customize how Spec Kit behaves — o
253
260
| AIDE In-Place Migration | Adapts the AIDE extension workflow for in-place technology migrations (X → Y pattern) — adds migration objectives, verification gates, knowledge documents, and behavioral equivalence criteria | 2 templates, 8 commands | AIDE extension |[spec-kit-presets](https://github.com/mnriem/spec-kit-presets)|
254
261
| Canon Core | Adapts original Spec Kit workflow to work together with Canon extension | 2 templates, 8 commands | — |[spec-kit-canon](https://github.com/maximiliamus/spec-kit-canon)|
255
262
| Explicit Task Dependencies | Adds explicit `(depends on T###)` dependency declarations and an Execution Wave DAG to tasks.md for parallel scheduling | 1 template, 1 command | — |[spec-kit-preset-explicit-task-dependencies](https://github.com/Quratulain-bilal/spec-kit-preset-explicit-task-dependencies)|
263
+
| Fiction Book Writing | It adapts the Spec-Driven Development workflow for storytelling: features become story elements, specs become story briefs, plans become story structures, and tasks become scene-by-scene writing tasks. Supports single and multi-POV, all major plot structure frameworks, and two style modes, author voice sample or humanized AI prose. | 21 templates, 17 commands | — |[spec-kit-preset-fiction-book-writing](https://github.com/adaumann/speckit-preset-fiction-book-writing)|
256
264
| Multi-Repo Branching | Coordinates feature branch creation across multiple git repositories (independent repos and submodules) during plan and tasks phases | 2 commands | — |[spec-kit-preset-multi-repo-branching](https://github.com/sakitA/spec-kit-preset-multi-repo-branching)|
257
265
| Pirate Speak (Full) | Transforms all Spec Kit output into pirate speak — specs become "Voyage Manifests", plans become "Battle Plans", tasks become "Crew Assignments" | 6 templates, 9 commands | — |[spec-kit-presets](https://github.com/mnriem/spec-kit-presets)|
258
266
| Table of Contents Navigation | Adds a navigable Table of Contents to generated spec.md, plan.md, and tasks.md documents | 3 templates, 3 commands | — |[spec-kit-preset-toc-navigation](https://github.com/Quratulain-bilal/spec-kit-preset-toc-navigation)|
@@ -307,6 +315,7 @@ Community projects that extend, visualize, or build on Spec Kit:
|[IBM Bob](https://www.ibm.com/products/bob)| ✅ | IDE-based agent with slash command support |
312
321
|[Jules](https://jules.google.com/)| ✅ ||
@@ -651,7 +660,7 @@ specify init . --force --ai claude
651
660
specify init --here --force --ai claude
652
661
```
653
662
654
-
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Forge, or Mistral Vibe installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
663
+
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Forge, Goose, or Mistral Vibe installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
655
664
656
665
```bash
657
666
specify init <project_name> --ai claude --ignore-agent-tools
0 commit comments