AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Speckit Constitution

skill-merllinsbeard-merlin-skills-speckit-constitution · by merllinsbeard

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

No reviews yet
0 installs
25 views
0.0% view→install

Install

$ agentstack add skill-merllinsbeard-merlin-skills-speckit-constitution

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-merllinsbeard-merlin-skills-speckit-constitution)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Speckit Constitution? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

User Input

$ARGUMENTS

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

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, skip hook checking silently and 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 slash commands 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. ```

  • 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. 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.

Note: If .specify/memory/constitution.md does not exist yet, it should have been initialized from .specify/templates/constitution-template.md during project setup. If it's missing, copy the template first.

Follow this execution flow:

  1. Load the existing constitution at .specify/memory/constitution.md.
  • 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.

  1. 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.
  1. Draft 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.
  • 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.
  1. 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 CLAUDE only) remain when generic guidance is required.
  • Read any runtime guidance docs (e.g., README.md, docs/quickstart.md, or agent-specific guidance files if present). Update references to principles changed.
  1. Produce a Sync Impact Report (prepend as an HTML comment at top of the constitution file after update):
  • Version change: old → new
  • List of modified principles (old title → new title if renamed)
  • Added sections
  • Removed sections
  • Templates requiring updates (✅ updated / ⚠ pending) with file paths
  • Follow-up TODOs if any placeholders intentionally deferred.
  1. 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).
  1. Write the completed constitution back to .specify/memory/constitution.md (overwrite).
  1. Output a final summary to the user with:
  • New version and bump rationale.
  • Any files flagged for manual follow-up.
  • Suggested commit message (e.g., docs: amend constitution to vX.Y.Z (principle additions + governance update)).

Formatting & Style Requirements:

  • Use Markdown headings exactly as in the template (do not demote/promote levels).
  • Wrap long rationale lines to keep readability (): 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.

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, skip hook checking silently and 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 slash commands 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} ```

  • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.