Sanduq adds software-delivery processes to Spec Kit projects. Each process is an extension you install on its own: QA analysis, an application manual, pull request generation, GitHub Project sync, diagrams, and project memory. The Workflow extension can also run them together, taking one GitHub issue to a verified pull request and resuming after an interruption. If you do not use Spec Kit, the same diagram, manual and delegation skills are available as portable agent skills in sanduq-skills. The product brief says who Sanduq is for and how its success is measured.
The map shows each extension and what it requires; arrows point to the dependency. Editable source and static version.
| Job | Product | Purpose | Runs at | Requires | Live-run hosts |
|---|---|---|---|---|---|
| Managed delivery | Workflow | Takes one GitHub issue to a verified PR and resumes after an interruption. Includes Scope: issue scope, prerequisites and decomposition. | Every stage, Scope to PR | Python 3.11+, Git, gh; installs the extensions it uses |
Claude Code, Codex |
| Checks and pull requests | QA (assure) |
Finds missing test work before implementation; writes the tester walkthrough after it | After Tasks, around Implement | Illustrate | Claude Code, Codex (through Workflow) |
| Checks and pull requests | Pull requests (pr) |
Writes the PR from the feature's files and checks; works through review feedback | After Implement | Illustrate | Claude Code (through Workflow) |
| Documentation | User Manual | Manuals for the audiences and languages you choose, in Markdown; HTML and PDF through a renderer | After Tasks and Implement; at release | Illustrate | Claude Code, Codex (through Workflow) |
| Documentation | Illustrate | Themed diagrams and charts, 44 types | When you ask | Nothing | Claude Code, Codex (through Workflow) |
| Tracking and context | Project sync (project) |
Mirrors each feature onto a GitHub Project (v2) board | Specify to Implement | gh |
Claude Code (through Workflow) |
| Tracking and context | Progress | Live HTML progress report with lanes, blockers and decisions | Tasks to Implement | Python 3.11+, Spec Kit 1.1.1+ | Claude Code (through Workflow) |
| Tracking and context | Memory | Project memory and recoverable spec archiving | Before Specify and Analyze; after merge | Python 3.11+, Git | Claude Code (through Workflow) |
| No Spec Kit | Portable skills | illustrate, user-manual, github-wiki-publish, delegate-task, planning-majlis, progress-report | Whenever you call them | Per skill | Per skill |
Every extension works without Workflow. "Requires" lists hard dependencies; Spec Kit does not install them for you, see who enforces dependencies. A live run is a recorded managed run of a real issue, from scope to an open pull request. Workflow has live runs on both hosts; Project sync, Pull requests, Progress and Memory have run end to end only on Claude Code so far. Compatibility lists the evidence.
On a plain Spec Kit project each extension runs from a hook on its phase. Under the managed Workflow the same commands run as stages, and a stage passes only on recorded evidence. When something changes later, the numbered paths above are how work goes back. When each extension runs shows both views and follows one made-up feature from issue to merge.
| Level | You get | Start here |
|---|---|---|
| 1. Skills only | One task in your agent, no Spec Kit | Skills only |
| 2. One extension | One process in a Spec Kit project | One extension |
| 3. Pick your extensions | Several processes you choose, each running from its own hooks, with no Workflow | Pick your extensions |
| 4. Managed Workflow | One issue to a verified PR, resumable | Managed Workflow |
Install the prerequisites first.
A plugin bundle, in Claude Code:
/plugin marketplace add samykabu/sanduq
/plugin install illustration-tools@sanduq
A skill only, in Codex:
npx skills add samykabu/sanduq-skills --skill illustrate -a codexAn extension, in a Spec Kit project:
specify init --here --integration claude # or --integration codex
specify extension catalog add --name sanduq --priority 1 --install-allowed https://raw.githubusercontent.com/samykabu/sanduq/main/catalog.json
specify extension add illustrateThe community catalog publishes unrelated scope and memory extensions. If you keep Spec Kit's
default catalogs, register Sanduq's catalog ahead of them.
The managed Workflow needs a GitHub Project (v2) board with seven named statuses before its first claim. Managed Workflow lists them, with a first-run checklist.
specify extension add workflow/speckit-workflow-init Enable QA and User Manual. Use our existing GitHub Project and an advisory managed-only evidence gate.
/speckit-workflow-doctor Check project readiness, dependencies and host commands.
/speckit-workflow-scope 412 Assess refund approval and continue through implementation. Stop before PR creation.
Codex uses $ instead of /. Every host is covered in install by host,
including what the Workflow installer adds to each host: a guard hook, two role agents and the
optional short aliases (--with-aliases).
Upgrade with Workflow's upgrade.py, which updates Workflow and the companions it pins together. The
steps and each release's migration table are in upgrades.
Yes. Every package in this repository, its presets, and the portable skills in sanduq-skills are under the MIT License, including commercial use. Versions released before the MIT relicensing keep the license they were published under. Bundled upstream material keeps its own license; see THIRD_PARTY_NOTICES.md and the per-package table.
The guides live in docs/ and are published to the wiki.
- Documentation index
- When each extension runs: hooks, managed stages, what sends work back, and one feature traced from issue to merge
- Command reference, hooks and glossary
- Troubleshooting and upgrades
- Published versions: catalog.json. Versions awaiting release: pending releases. History: CHANGELOG.md.
- Contributing and security: trust assumptions, what runs automatically, how to report