General

Speckit.constitution

Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.

promptBeginner5 min to valuemarkdown
0 views
Feb 7, 2026

Sign in to like and favorite skills

Prompt Playground

1 Variables

Fill Variables

Preview

---
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.
Share: