spec-kit/skills/constitution/SKILL.md
Use when the user invokes $spec-kit:constitution or /spec-kit:constitution, or asks to generate or update a pragmatic solo-dev project constitution.
npx skillsauth add grailautomation/claude-plugins constitutionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is a user-invoked Spec Kit workflow. Treat user text after the invocation as the workflow input.
Use the spec-kit plugin root when running bundled scripts. In Claude Code, ${CLAUDE_PLUGIN_ROOT} resolves to this plugin root. If that variable is unavailable, resolve the plugin root as the directory two levels above this SKILL.md.
User input:
$ARGUMENTS
Create or update .specify/memory/constitution.md. The constitution is a small
set of guardrails for future specs, plans, and tasks. For this plugin, it must
be useful to a solo indie developer working in existing repos, not a ceremonial
process document.
.specify/memory/ exists.bash "${CLAUDE_PLUGIN_ROOT}/scripts/detect-project-context.sh" --write
Generate 4-7 principles. Prefer these themes unless project context demands otherwise:
Include a governance rule like:
"Documented waivers are allowed for solo-dev pragmatism. A waiver must name the
principle, explain why the simpler compliant option is worse for this change,
and record the compensating validation in plan.md."
This keeps the constitution authoritative without forcing upstream Spec Kit's library-first, CLI-first, or strict TDD rules onto every brownfield repo.
Write:
# [Project Name] Constitution
## Core Principles
### I. [Principle]
[Concrete MUST/SHOULD rules and brief rationale]
### II. [Principle]
...
## Brownfield Workflow
[Rules for fitting existing repos]
## Quality Gates
[How plans/tasks prove compliance]
## Governance
[Versioning, amendment, waiver, and review rules]
**Version**: [X.Y.Z] | **Ratified**: [YYYY-MM-DD] | **Last Amended**: [YYYY-MM-DD]
1.0.0Do not update every template like upstream Spec Kit. Instead, report the affected gates/artifacts:
plan.md constitution compliancetasks.md quality gates.specify/memory/project-context.mdAGENTS.md, only if the user asksReport:
/spec-kit:specify <feature description>development
Parse and analyze Workato recipe JSON exports. Use when the user asks about a Workato recipe's logic, data flow, field mappings, error handling, or control flow. Also use when the user references a .recipe.json file or asks to debug a Workato integration.
databases
Review implementation plans as a staff software engineer. Use when the user asks for staff engineer feedback, senior engineering review, plan review, architecture review, implementation-plan critique, approval before proceeding, risk review, or feedback on a proposed technical plan.
tools
Use when the user invokes $spec-kit:tasks or /spec-kit:tasks, or asks to generate dependency-ordered tasks from the plan and repo context.
testing
Use when the user invokes $spec-kit:specify or /spec-kit:specify, or asks to create a brownfield-aware feature specification from a natural language description.