Learn-skills.dev spec-kit-constitution
Use when creating or amending a Spec Kit project constitution, especially when `memory/constitution.md` is missing, contains `[PLACEHOLDER]` tokens, or principle changes must be propagated to planning/spec/task templates.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/ahgraber/skills/spec-kit-constitution" ~/.claude/skills/neversight-learn-skills-dev-spec-kit-constitution && rm -rf "$T"
manifest:
data/skills-md/ahgraber/skills/spec-kit-constitution/SKILL.mdsource content
Spec Kit Constitution
Create or amend the project constitution and keep dependent templates aligned.
When to Use
- User asks to create the first constitution for a Spec Kit project.
- User asks to amend governance/principles and update constitution versioning.
is missing or still containsmemory/constitution.md
tokens.[PLACEHOLDER]- Principle changes must be propagated into planning/spec/task templates.
Router Fit
- Primary route from
when intent is governance/principles.spec-kit - Run before feature planning when constitutional rules changed.
- Downstream dependency:
constitution checks rely on this output.spec-kit-plan
Preconditions
- Work from the target project repository root.
- Treat
as the source of truth once created.memory/constitution.md
Workflow
- Resolve constitution file:
- Target:
.{REPO_ROOT}/memory/constitution.md - If missing, initialize from
when present; otherwise use{REPO_ROOT}/templates/constitution-template.md
.assets/constitution-template.md
- Target:
- Capture baseline state from existing constitution (if present):
- Current version.
- Ratified and last amended dates.
- Principle/section titles for diff reporting.
- Any unresolved
tokens.[PLACEHOLDER]
- Fill required values from user input first, then repository context.
- If critical data is unknown, use
.TODO(<FIELD_NAME>): <reason>
- If critical data is unknown, use
- Decide semantic version bump and dates:
: backward-incompatible governance/principle redefinition or removal.MAJOR
: new principle/section or materially expanded policy.MINOR
: clarifications, wording, typo, non-semantic refinements.PATCH
: keep original adoption date.RATIFICATION_DATE
: set to today (LAST_AMENDED_DATE
) only when content changes.YYYY-MM-DD
- Draft the constitution:
- Replace placeholders with concrete policy text.
- Keep heading hierarchy from the template.
- Make principles declarative and testable (
/MUST
with rationale).SHOULD - Keep Governance explicit about amendment process, versioning policy, and compliance review.
- Propagate policy changes to dependent templates in the target repo when present:
templates/plan-template.mdtemplates/spec-template.md
Update constitutional checks, required sections, and task expectations to match revised principles.templates/tasks-template.md
- Prepend a Sync Impact Report HTML comment to
containing:memory/constitution.md- Version change (
).old -> new - Modified principles (including renames).
- Added/removed sections.
- Template sync status (
vsupdated
) with file paths.pending - Deferred TODO items.
- Version change (
- Validate before finalizing:
- No unexplained bracket placeholders remain.
- Version/date line matches report and uses
format.YYYY-MM-DD - File path is
(notmemory/constitution.md
)./memory/constitution.md
- Write
and report results to the user.memory/constitution.md
Output
- Updated
.memory/constitution.md - Updated template files when present and required.
- Summary including version bump rationale, pending follow-ups, and a suggested commit message.
Common Mistakes
- Updating principles without updating dependent templates.
- Using a patch bump for material policy changes that require a minor/major bump.
- Leaving unresolved placeholders without explicit TODO annotations.
- Writing to
instead of/memory/constitution.md
.memory/constitution.md
References
for where constitution work fits in the Spec Kit sequence.references/spec-kit-workflow.dotassets/constitution-template.mdassets/spec-template.mdassets/plan-template.mdassets/tasks-template.mdhttps://github.com/github/spec-kit/blob/9111699cd27879e3e6301651a03e502ecb6dd65d/templates/commands/constitution.md