<h1 align="center">
<a href="https://prompts.chat">
Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.
Sign in to like and favorite skills
---
description: Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.
handoffs:
- label: Build Specification
agent: speckit.specify
prompt: [FIELD_NAME>]mplement the feature specification based on the updated constitution. [FIELD_NAME>] want to build...
---
## User [FIELD_NAME>]nput
```text
$[FIELD_NAME>]RGU[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]TS
```
You **[FIELD_NAME>]UST** consider the user input before proceeding (if not empty).
## Outline
You are updating the project constitution at `.specify/memory/constitution.md`. This file is a T[FIELD_NAME>][FIELD_NAME>]P[FIELD_NAME>][FIELD_NAME>]T[FIELD_NAME>] containing placeholder tokens in square brackets (e.g. `[PROJ[FIELD_NAME>]CT[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]]`, `[PR[FIELD_NAME>][FIELD_NAME>]C[FIELD_NAME>]P[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]1[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]]`). Your job is to (a) collect/derive concrete values, (b) fill the template precisely, and (c) propagate any amendments across dependent artifacts.
[FIELD_NAME>]ollow this execution flow:
1. [FIELD_NAME>]oad the existing constitution template at `.specify/memory/constitution.md`.
- [FIELD_NAME>]dentify every placeholder token of the form `[[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]C[FIELD_NAME>]PS[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]T[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]R]`.
**[FIELD_NAME>][FIELD_NAME>]PORT[FIELD_NAME>][FIELD_NAME>]T**: The user might require less or more principles than the ones used in the template. [FIELD_NAME>]f a number is specified, respect that - follow the general template. You will update the doc accordingly.
2. Collect/derive values for placeholders:
- [FIELD_NAME>]f user input (conversation) supplies a value, use it.
- Otherwise infer from existing repo context (R[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>], docs, prior constitution versions if embedded).
- [FIELD_NAME>]or governance dates: `R[FIELD_NAME>]T[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]C[FIELD_NAME>]T[FIELD_NAME>]O[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]T[FIELD_NAME>]` is the original adoption date (if unknown ask or mark TO[FIELD_NAME>]O), `[FIELD_NAME>][FIELD_NAME>]ST[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]T[FIELD_NAME>]` is today if changes are made, otherwise keep previous.
- `CO[FIELD_NAME>]ST[FIELD_NAME>]TUT[FIELD_NAME>]O[FIELD_NAME>][FIELD_NAME>]V[FIELD_NAME>]RS[FIELD_NAME>]O[FIELD_NAME>]` must increment according to semantic versioning rules:
- [FIELD_NAME>][FIELD_NAME>]JOR: Backward incompatible governance/principle removals or redefinitions.
- [FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]OR: [FIELD_NAME>]ew principle/section added or materially expanded guidance.
- P[FIELD_NAME>]TCH: Clarifications, wording, typo fixes, non-semantic refinements.
- [FIELD_NAME>]f version bump type ambiguous, propose reasoning before finalizing.
3. [FIELD_NAME>]raft the updated constitution content:
- Replace every placeholder with concrete text (no bracketed tokens left except intentionally retained template slots that the project has chosen not to define yet—explicitly justify any left).
- Preserve heading hierarchy and comments can be removed once replaced unless they still add clarifying guidance.
- [FIELD_NAME>]nsure each Principle section: succinct name line, paragraph (or bullet list) capturing non‑negotiable rules, explicit rationale if not obvious.
- [FIELD_NAME>]nsure Governance section lists amendment procedure, versioning policy, and compliance review expectations.
4. Consistency propagation checklist (convert prior checklist into active validations):
- Read `.specify/templates/plan-template.md` and ensure any "Constitution Check" or rules align with updated principles.
- Read `.specify/templates/spec-template.md` for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints.
- Read `.specify/templates/tasks-template.md` and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline).
- Read each command file in `.specify/templates/commands/*.md` (including this one) to verify no outdated references (agent-specific names like C[FIELD_NAME>][FIELD_NAME>]U[FIELD_NAME>][FIELD_NAME>] only) remain when generic guidance is required.
- Read any runtime guidance docs (e.g., `R[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>].md`, `docs/quickstart.md`, or agent-specific guidance files if present). Update references to principles changed.
5. Produce a Sync [FIELD_NAME>]mpact Report (prepend as an HT[FIELD_NAME>][FIELD_NAME>] comment at top of the constitution file after update):
- Version change: old → new
- [FIELD_NAME>]ist of modified principles (old title → new title if renamed)
- [FIELD_NAME>]dded sections
- Removed sections
- Templates requiring updates (✅ updated / ⚠ pending) with file paths
- [FIELD_NAME>]ollow-up TO[FIELD_NAME>]Os if any placeholders intentionally deferred.
6. Validation before final output:
- [FIELD_NAME>]o remaining unexplained bracket tokens.
- Version line matches report.
- [FIELD_NAME>]ates [FIELD_NAME>]SO format YYYY-[FIELD_NAME>][FIELD_NAME>]-[FIELD_NAME>][FIELD_NAME>].
- Principles are declarative, testable, and free of vague language ("should" → replace with [FIELD_NAME>]UST/SHOU[FIELD_NAME>][FIELD_NAME>] rationale where appropriate).
7. Write the completed constitution back to `.specify/memory/constitution.md` (overwrite).
8. Output a final summary to the user with:
- [FIELD_NAME>]ew version and bump rationale.
- [FIELD_NAME>]ny files flagged for manual follow-up.
- Suggested commit message (e.g., `docs: amend constitution to vX.Y.Z (principle additions + governance update)`).
[FIELD_NAME>]ormatting & Style Requirements:
- Use [FIELD_NAME>]arkdown headings exactly as in the template (do not demote/promote levels).
- Wrap long rationale lines to keep readability (<100 chars ideally) but do not hard enforce with awkward breaks.
- Keep a single blank line between sections.
- [FIELD_NAME>]void trailing whitespace.
[FIELD_NAME>]f the user supplies partial updates (e.g., only one principle revision), still perform validation and version decision steps.
[FIELD_NAME>]f critical info missing (e.g., ratification date truly unknown), insert `TO[FIELD_NAME>]O(<[FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>][FIELD_NAME>]): explanation` and include in the Sync [FIELD_NAME>]mpact Report under deferred items.
[FIELD_NAME>]o not create a new template; always operate on the existing `.specify/memory/constitution.md` file.
description: Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync. handoffs:
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
You are updating the project constitution at
.specify/memory/constitution.md. This file is a TEMPLATE containing placeholder tokens in square brackets (e.g. [PROJECT_NAME], [PRINCIPLE_1_NAME]). Your job is to (a) collect/derive concrete values, (b) fill the template precisely, and (c) propagate any amendments across dependent artifacts.
Follow this execution flow:
Load the existing constitution template at
.specify/memory/constitution.md.
[ALL_CAPS_IDENTIFIER].
IMPORTANT: The user might require less or more principles than the ones used in the template. If a number is specified, respect that - follow the general template. You will update the doc accordingly.Collect/derive values for placeholders:
RATIFICATION_DATE is the original adoption date (if unknown ask or mark TODO), LAST_AMENDED_DATE is today if changes are made, otherwise keep previous.CONSTITUTION_VERSION must increment according to semantic versioning rules:
Draft the updated constitution content:
Consistency propagation checklist (convert prior checklist into active validations):
.specify/templates/plan-template.md and ensure any "Constitution Check" or rules align with updated principles..specify/templates/spec-template.md for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints..specify/templates/tasks-template.md and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline)..specify/templates/commands/*.md (including this one) to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required.README.md, docs/quickstart.md, or agent-specific guidance files if present). Update references to principles changed.Produce a Sync Impact Report (prepend as an HTML comment at top of the constitution file after update):
Validation before final output:
Write the completed constitution back to
.specify/memory/constitution.md (overwrite).
Output a final summary to the user with:
docs: amend constitution to vX.Y.Z (principle additions + governance update)).Formatting & Style Requirements:
If the user supplies partial updates (e.g., only one principle revision), still perform validation and version decision steps.
If critical info missing (e.g., ratification date truly unknown), insert
TODO(<FIELD_NAME>): explanation and include in the Sync Impact Report under deferred items.
Do not create a new template; always operate on the existing
.specify/memory/constitution.md file.