Amend project constitution with semantic versioning and changelog management. Use when user asks to "amend constitution", "update constitution version", "add principle", or "modify governance rules"...
You are amending a project's CONSTITUTION.md with version tracking.
Update constitutional principles with semantic versioning, maintain changelog (newest first), and automatically regenerate the implementation checklist.
Search for CONSTITUTION.md:
Parse version from footer:
*Version: X.Y.Z*
If not found: Assume 1.0.0
Interactive prompts:
Prompt 1: Amendment Type
What type of amendment?
1. MAJOR - Breaking change (removes/fundamentally changes core principles)
2. MINOR - Additive change (adds new principles)
3. PATCH - Clarification (typo fixes, wording improvements)
Choice [1-3]:
Prompt 2: Change Description
Describe the changes (2-5 sentences):
Prompt 3: Migration Notes (skip for PATCH)
Migration guidance for existing code (what needs to change?):
Prompt 4: Rationale
Why is this amendment necessary?
Rules:
MAJOR: X+1.0.0 (e.g., 2.3.1 ā 3.0.0)
MINOR: X.Y+1.0 (e.g., 2.3.1 ā 2.4.0)
PATCH: X.Y.Z+1 (e.g., 2.3.1 ā 2.3.2)
Load template from:
${CLAUDE_PLUGIN_ROOT}/plugins/constitution/skills/amend/templates/amendment.template.md
Replace placeholders:
{{new_version}} ā Calculated version (e.g., "2.4.0"){{amendment_date}} ā Today's date (YYYY-MM-DD format){{amendment_type}} ā MAJOR/MINOR/PATCH{{change_description}} ā User input{{migration_notes}} ā User input (or "N/A" for PATCH){{rationale}} ā User inputRendering: Simple string replacement (no external dependencies)
Find or create changelog section:
Look for:
## Changelog
If not found, insert after preamble (before first ## principle):
## Changelog
### Version {{new_version}} - {{amendment_date}}
**Type**: {{amendment_type}}
**Changes**:
{{change_description}}
**Migration Notes**:
{{migration_notes}}
**Rationale**:
{{rationale}}
---
If found:
Insert rendered entry immediately after ## Changelog header (newest first):
## Changelog
### Version 2.4.0 - 2026-01-25
...
### Version 2.3.0 - 2026-01-20
...
Find footer (last 3 lines typically):
---
*Last amended: YYYY-MM-DD*
*Version: X.Y.Z*
Update:
Last amended: ā Today's dateVersion: ā New versionIf no footer exists, append:
---
*Last amended: 2026-01-25*
*Version: 2.4.0*
Automatically invoke checklist generator:
Output instruction:
Amendment complete. Now regenerating checklist to reflect updated principles...
Then instruct Claude:
Please run the constitution:checklist-generator skill to update the implementation checklist based on the amended constitution.
(Skills cannot directly invoke other skills, so this is an instruction for Claude to execute next)
Output:
ā Constitution amended successfully
Version: 1.2.3 ā 2.0.0
Type: MAJOR
Date: 2026-01-25
Changelog entry added (3 total entries)
Footer updated
Checklist regeneration requested
ā ļø MAJOR version change detected!
Review existing code for compliance with updated principles.
Migration notes:
[User's migration guidance]
No constitution found: Error with "Run constitution:writer first"
Invalid version format: Assume 1.0.0 and add warning
Changelog placement: If unclear structure, add section at end (before footer)
Empty migration notes: Use "N/A" for PATCH, require for MAJOR/MINOR
Amendment removes principles? ā MAJOR
Amendment changes core requirements fundamentally? ā MAJOR
Amendment adds new principles? ā MINOR
Amendment expands scope? ā MINOR
Amendment clarifies existing wording? ā PATCH
Amendment fixes typos? ā PATCH
When uncertain: Ask user to confirm type before proceeding
ā Don't:
ā Do: