MoonSpec is a fork of GitHub Spec Kit with an opinionated approach to Spec-Driven Development:
- Keep useful docs accurate in the same change; the current task and applicable AGENTS.md set requirements
- Breakdown declarative documents into one or more stories
- Implement one story at a time (not 3+)
- Generate imperative plans and tasks only as temporary artifacts
- Implement code using Test-Driven Development (TDD)
- Aim to create both integration tests and unit tests
- Use the verify skill to enable a corrective loop with a quality gate
- Keep constitution-like guidance in AGENTS.md
- Chain all of the implementation steps with an orchestrate skill
Note that for chaining steps, an orchestration tool like MoonMind is recommended because it improves context management and the resilience of failed steps.
Canonical skill IDs use moonspec-*.
Canonical slash commands use /moonspec.*.
The main lifecycle is:
/moonspec.breakdownwhen a broad design must be split into one-story candidates./moonspec.specifyfor one-story specs./moonspec.planfor planning artifacts./moonspec.tasksfor TDD-first implementation tasks./moonspec.alignfor artifact consistency repair./moonspec.implementfor implementation./moonspec.verifyas the final read-only completion gate./moonspec.orchestrateto coordinate the lifecycle for a preselected one-story request.
The repository packages the assets that consumers need to run the MoonSpec lifecycle:
- agent skills under
bundle/skills/ - command wrappers under
bundle/commands/ - spec, plan, task, checklist, and agent templates under
bundle/templates/ - helper scripts under
bundle/scripts/ - portable preset definitions under
bundle/presets/ - bundle docs and projection recipes under
bundle/docs/andbundle/projections/
bundle/
moonspec.bundle.yaml
skills/
templates/
commands/
gemini/
markdown/
scripts/
bash/
presets/
docs/
projections/
bundle/moonspec.bundle.yaml is the authoritative manifest. Consumers should read the manifest and the relevant projection recipe instead of hardcoding individual files.
Run:
python tools/validate_bundle.py
pytestThe validator checks exported file existence, skill front matter, OpenAI wrappers, preset skill references, command/skill consistency, projection recipes, script references, and legacy terminology.
MoonMind consumes this repository as a pinned git submodule at moonspec.
For a consumer checkout, project the bundle with:
python tools/project_bundle.py --target /path/to/consumer --projection moonmind --write
python tools/project_bundle.py --target /path/to/consumer --projection moonmind --checkBoth projection entrypoints check for retired files in the bundle's skill and command namespaces; --write removes them while preserving custom assets outside those namespaces. Output scopes must be real directories within the consumer. MoonMind's wrapper adds its consumer-specific checks.
The Python package is intentionally thin. The bundle is the product.
moonspec bundle-path
moonspec validate
moonspec project --target /path/to/consumer --projection moonmind --checkSee bundle/docs/AuthoringGuide.md for adding or changing bundle assets and bundle/docs/BundleIntegration.md for consumer integration rules.