Agent skill

Speckit Constitution

by kunstmusik in kunstmusik/blue

Create or update the project constitution from interactive or provided principle inputs.

GPL-3.0Auto-check passedDevelopment

Install Speckit Constitution

skills CLI
$ npx skills add kunstmusik/blue --skill speckit-constitution -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kunstmusik/blue speckit-constitution --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kunstmusik/blue.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/speckit-constitution .claude/skills/speckit-constitution && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
speckit-constitution
GitHub stars
154
Used in
6 other repos
Token cost
~2.6k tokens
SKILL.md length
1,332 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
GPL-3.0

At a glance

Create or update the project constitution from interactive or provided principle inputs.

  • Works in 7 steps: Run… → Collect/derive values for placeholders → Draft the updated constitution content… → …
  • Tasks that involve Spec-driven development
  • SKILL.md covers User Input, Scope Guard, Pre-Execution Checks and Outline, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Speckit Constitution is an agent skill from kunstmusik/blue. Create or update the project constitution from interactive or provided principle inputs.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires spec-kit project structure with .specify/ directory

It sits in Development, covering Spec-driven development. The repository describes itself as: Blue - An Integrated Music Environment. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve Spec-driven development

Example prompts

  • “/speckit-constitution”

Requirements

  • Compatibility (from SKILL.md): Requires spec-kit project structure with .specify/ directory

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Run .specify/scripts/bash/resolve-template.sh constitution-template --json from the repository root and parse TEMPLATE_CONTENT as the…
  2. Collect/derive values for placeholders
  3. Draft the updated constitution content using the resolved template as the required structure
  4. Produce a Sync Impact Report as an HTML comment at the top of the constitution file after update.
  5. Validation before final output
  6. Write the completed constitution back to .specify/memory/constitution.md (overwrite).
  7. Output a final summary to the user with

What it can do on your machine

Read from SKILL.md and the folder at commit 3c32d58. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires spec-kit project structure with .specify/ directory

    From compatibility in the SKILL.md frontmatter.

Context cost

Speckit Constitution loads about 2.6k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 1,332 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kunstmusik/blue at commit 3c32d58, republished under its GPL-3.0 licence (© kunstmusik). 1,332 words, ~2,625 tokens.

Download SKILL.mdSave it as .claude/skills/speckit-constitution/SKILL.md (or your agent's skills folder).
name
speckit-constitution
description
Create or update the project constitution from interactive or provided principle inputs.
compatibility
Requires spec-kit project structure with .specify/ directory
metadata.author
github-spec-kit
metadata.source
templates/commands/constitution.md

User Input

text
$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Scope Guard

This command's own work is limited to updating the project constitution itself. Dependent templates and commands read the constitution at runtime and are not modified here.

  • Classify every part of the user input as either constitution content or a separate, non-governance intent.
  • If the input includes feature implementation, code generation, refactoring, building, or deployment requests, you MUST NOT execute them. Extract them as deferred intents instead.
  • You MUST NOT create, modify, or delete application source files, feature routes, components, tests, deployment files, or other artifacts unrelated to the constitution workflow.
  • If it is unclear whether an instruction is constitution content, ask for clarification before making changes.
  • After completing the constitution update, include a Next Actions section for each deferred intent. List the original intent and suggest the appropriate follow-up Spec Kit command, such as $speckit-specify, without invoking it.
  • If there are no non-governance intents, omit the Next Actions section.

Pre-Execution Checks

Check for extension hooks (before constitution update):

  • Check if .specify/extensions.yml exists in the project root.
  • If it exists, read it and look for entries under the hooks.before_constitution key
  • If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that .specify/extensions.yml could not be read (include the parser error) and that no hooks were checked, including any mandatory (optional: false) hooks registered there, then continue normally
  • Filter out hooks where enabled is explicitly false. Treat hooks without an enabled field as enabled by default.
  • For each remaining hook, do not attempt to interpret or evaluate hook condition expressions:
    • If the hook has no condition field, or it is null/empty, treat the hook as executable
    • If the hook defines a non-empty condition, skip the hook and leave condition evaluation to the HookExecutor implementation
  • When constructing command invocations from hook command names, replace dots (.) with hyphens (-). For example, speckit.git.commit → $speckit-git-commit.
  • For each executable hook, output the following based on its optional flag:
    • Optional hook (optional: true):
      ## Extension Hooks
      
      **Optional Pre-Hook**: {extension}
      Command: `/{command}`
      Description: {description}
      
      Prompt: {prompt}
      To execute: `/{command}`
    • Mandatory hook (optional: false):
      ## Extension Hooks
      
      **Automatic Pre-Hook**: {extension}
      Executing: `/{command}`
      EXECUTE_COMMAND: {command}
      
      Wait for the result of the hook command before proceeding to the Outline.
      After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook.
  • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

Outline

You are updating the project constitution at .specify/memory/constitution.md. The active constitution scaffold is resolved at command time from constitution-template through the Spec Kit preset/template resolution stack.

Follow this execution flow:

  1. Run .specify/scripts/bash/resolve-template.sh constitution-template --json from the repository root and parse TEMPLATE_CONTENT as the active template.

    • The shared resolver applies project overrides, composing preset layers, and extension layers before the core template fallback. It MUST succeed before continuing.
    • If it fails, stop and report the resolution error; do not continue with only one contributing template layer.
    • If .specify/memory/constitution.md exists, load it as the source of current project-specific values and amendments. Preserve information that is still applicable when applying the newly resolved scaffold.
    • If it does not exist, use the resolved template as the initial document.
    • Do not write back to any versioned template layer.
    • Identify every placeholder token of the form [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.
  2. Collect/derive values for placeholders:

    • If user input (conversation) supplies a value, use it.
    • Otherwise infer from existing repo context (README, docs, prior constitution versions if embedded).
    • For governance dates: 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:
      • MAJOR: Backward incompatible governance/principle removals or redefinitions.
      • MINOR: New principle/section added or materially expanded guidance.
      • PATCH: Clarifications, wording, typo fixes, non-semantic refinements.
    • If version bump type ambiguous, propose reasoning before finalizing.
  3. Draft the updated constitution content using the resolved template as the required structure:

    • 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.
    • Ensure each Principle section: succinct name line, paragraph (or bullet list) capturing non‑negotiable rules, explicit rationale if not obvious.
    • Ensure Governance section lists amendment procedure, versioning policy, and compliance review expectations.
  4. Produce a Sync Impact Report as an HTML comment at the top of the constitution file after update. This report is temporary scratch material for human review of the amendment, not governance content; it is expected to be removed before the amended constitution file is committed.

    • Version change: old → new
    • List of modified principles (old title → new title if renamed)
    • Added sections
    • Removed sections
    • Follow-up TODOs if any placeholders intentionally deferred.
  5. Validation before final output:

    • No remaining unexplained bracket tokens.
    • Version line matches report.
    • Dates ISO format YYYY-MM-DD.
    • Principles are declarative, testable, and free of vague language ("should" → replace with MUST/SHOULD rationale where appropriate).
  6. Write the completed constitution back to .specify/memory/constitution.md (overwrite).

  7. Output a final summary to the user with:

    • New version and bump rationale.
    • Any TODO placeholders or deferred items requiring manual follow-up.
    • Suggested commit message (e.g., docs: amend constitution to vX.Y.Z (principle additions + governance update)).
    • A Next Actions section for any deferred non-governance intents.
Show full SKILL.md (367 more words)Show less

Formatting & Style Requirements:

  • Use Markdown 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.
  • Avoid trailing whitespace.

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.

Write only .specify/memory/constitution.md; do not create or modify template source files.

Post-Execution Checks

Check for extension hooks (after constitution update): Check if .specify/extensions.yml exists in the project root.

  • If it exists, read it and look for entries under the hooks.after_constitution key
  • If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that .specify/extensions.yml could not be read (include the parser error) and that no hooks were checked, including any mandatory (optional: false) hooks registered there, then continue normally
  • Filter out hooks where enabled is explicitly false. Treat hooks without an enabled field as enabled by default.
  • For each remaining hook, do not attempt to interpret or evaluate hook condition expressions:
    • If the hook has no condition field, or it is null/empty, treat the hook as executable
    • If the hook defines a non-empty condition, skip the hook and leave condition evaluation to the HookExecutor implementation
  • When constructing command invocations from hook command names, replace dots (.) with hyphens (-). For example, speckit.git.commit → $speckit-git-commit.
  • For each executable hook, output the following based on its optional flag:
    • Optional hook (optional: true):
      ## Extension Hooks
      
      **Optional Hook**: {extension}
      Command: `/{command}`
      Description: {description}
      
      Prompt: {prompt}
      To execute: `/{command}`
    • Mandatory hook (optional: false):
      ## Extension Hooks
      
      **Automatic Hook**: {extension}
      Executing: `/{command}`
      EXECUTE_COMMAND: {command}
      After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook.
  • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

© kunstmusik, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/speckit-constitution of kunstmusik/blue.

Open the folder on GitHubat commit 3c32d58

Used in 6 other repositories

We found 7 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 6 other GitHub owners. This page covers the copy in kunstmusik/blue, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Speckit Constitution next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Speckit Constitution compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Speckit Constitution this skillkunstmusik/blue1546 repos~2.6kAutomated safety check: PassGPL-3.0
OpenSpec Bulk Change ArchiverFission-AI/OpenSpec72k2 repos~5.6kAutomated safety check: PassMIT
Speckit ConstitutionWeihanLi/WeihanLi.Common24211 repos~2.1kAutomated safety check: PassApache-2.0
Review Spdzhu1090093659/spec_driven_develop987—~1.5kAutomated safety check: PassMIT
SPARC Development Methodologyruvnet/ruflo74k2 repos~829Automated safety check: PassMIT
React Router RFC Implementerremix-run/react-router57k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Archives several completed OpenSpec changes in one operation, checking the codebase to resolve spec conflicts rather than archiving blindly.

    72k GitHub starsUsed in 2 repos~5.6k tokens
    DevelopmentAuto-check passed
  • Speckit Constitution

    WeihanLi/WeihanLi.Common

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

    242 GitHub starsUsed in 11 repos~2.1k tokens
    DevelopmentAuto-check passed
  • Review Spd

    zhu1090093659/spec_driven_develop

    Findings-first code review workflow for AI coding agents. An agent skill from zhu1090093659/spec_driven_develop.

    987 GitHub stars~1.5k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Applies the SPARC method (specification, pseudocode, architecture, refinement, completion) with 17 specialized modes and multi-agent orchestration, from research to deployment.

    74k GitHub starsUsed in 2 repos~829 tokens
    DevelopmentAuto-check passed
  • React Router RFC Implementer

    remix-run/react-router

    Turns a React Router RFC discussion on GitHub into an implementation, weighing community feedback and settling open questions with you before coding.

    57k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Ss Spec

    Serial-Studio/Serial-Studio

    Phase 1 of Serial Studio's spec-driven workflow: capture WHAT a feature must do and WHY, with no implementation detail.

    7.2k GitHub stars~766 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from kunstmusik/blue

All 16 skills in this repo
  • Speckit Plan

    kunstmusik/blue

    Execute the implementation planning workflow using the plan template to generate design artifacts.

    154 GitHub starsUsed in 18 repos~2.1k tokens
    Auto-check passed
  • Speckit Specify

    kunstmusik/blue

    Create or update the feature specification from a natural language feature description.

    154 GitHub starsUsed in 18 repos~4.7k tokens
    Auto-check passed
  • Speckit Tasks

    kunstmusik/blue

    Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.

    154 GitHub starsUsed in 18 repos~3k tokens
    Auto-check passed
  • Speckit Analyze

    kunstmusik/blue

    Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.

    154 GitHub starsUsed in 17 repos~3k tokens
    Auto-check passed
  • Karpathy Coder

    kunstmusik/blue

    A skill your agent uses when writing, reviewing, or committing code to enforce Karpathy's 4 coding principles — surface assumptions before coding, keep it simple, make surgical changes, define…

    154 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Speckit Clarify

    kunstmusik/blue

    Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.

    154 GitHub starsUsed in 17 repos~4.9k tokens
    Auto-check passed

Categories

Questions about Speckit Constitution

What does Speckit Constitution do?

Create or update the project constitution from interactive or provided principle inputs. Speckit Constitution is an agent skill from kunstmusik/blue. Create or update the project constitution from interactive or provided principle inputs.

When should I use Speckit Constitution?

Speckit Constitution fits situations like: tasks that involve Spec-driven development.

How do I install Speckit Constitution in Claude Code?

Run `npx skills add kunstmusik/blue --skill speckit-constitution -a claude-code`. Or copy the skill folder (.agents/skills/speckit-constitution in kunstmusik/blue) into .claude/skills/speckit-constitution in your project. Claude Code loads it when a task matches its description.

How do I install Speckit Constitution in Codex?

Run `npx skills add kunstmusik/blue --skill speckit-constitution -a codex`. Or copy the skill folder (.agents/skills/speckit-constitution in kunstmusik/blue) into .agents/skills/speckit-constitution in your project. Codex loads it when a task matches its description.

Can I use Speckit Constitution in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kunstmusik/blue --skill speckit-constitution -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/speckit-constitution, .gemini/skills/speckit-constitution, .github/skills/speckit-constitution and .opencode/skills/speckit-constitution in your project.

What does Speckit Constitution need to run?

SKILL.md names no scripts, command-line tools or credentials: Speckit Constitution is instructions for the agent only. Compatibility (from SKILL.md): Requires spec-kit project structure with .specify/ directory.

Does Speckit Constitution access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Speckit Constitution safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Speckit Constitution use?

Speckit Constitution is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Speckit Constitution use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Speckit Constitution?

Skills that share tags, products or a category with Speckit Constitution: OpenSpec Bulk Change Archiver (Fission-AI/OpenSpec, 72k stars), Speckit Constitution (WeihanLi/WeihanLi.Common, 242 stars), Review Spd (zhu1090093659/spec_driven_develop, 987 stars) and SPARC Development Methodology (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Speckit Constitution?

kunstmusik (a GitHub user) maintains it in kunstmusik/blue, which has 154 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 8, 2026.

Source: kunstmusik/blue on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.