← ClaudeAtlas

ai-constitutionlisted

Interviews the operator to produce a project-identity CONSTITUTION.md (Mission / Stakeholders / Vocabulary / Prohibitions / Compliance gates / Anti-goals / Boundaries / Escalation / Language / Lifecycle phase). Trigger for 'set up the constitution', 'define project identity', 'who is this project for', 'what does this project never do', 'amend the constitution'. Not for AI-behaviour rules — those live in CANONICAL.md / AGENTS.md. Not for spec governance; use /ai-governance instead.
arcasilesgroup/ai-engineering · ★ 49 · AI & Automation · score 84
Install: claude install-skill arcasilesgroup/ai-engineering
# Constitution ## Quick start ``` /ai-constitution generate # interview + write CONSTITUTION.md from scratch /ai-constitution update # change a single section (Mission, Prohibitions, etc.) /ai-constitution amend # formal amendment with version bump + audit event ``` ## Workflow Apply §10.6 (SDD) — every CONSTITUTION.md write is traceable to a spec decision (D-131-04 anchored this rewrite). Apply §10.4 (DRY) — project identity lives ONCE in CONSTITUTION.md; AI-behaviour content lives in CANONICAL.md. The two never overlap. 1. **Auto-detect** — read `.ai-engineering/manifest.yml`, package files (`pyproject.toml` / `package.json` / `Cargo.toml`) to seed the interview with project name, stack, version. 2. **Read existing** — if `CONSTITUTION.md` exists, load it and show the operator the diff BEFORE any overwrite. NEVER overwrite without diff + explicit confirm (R-131-03 mitigation). 3. **Interview the 10 sections** — see "Interview" below. 4. **Write** — emit `CONSTITUTION.md` using the 10-section skeleton. Refuse to write any header from `tools/skill_lint/checks/md_mirror.py:FORBIDDEN_CONSTITUTION_HEADERS` (those are AI-behaviour headers; CONSTITUTION owns project identity only). 5. **Rotate** — when `update` or `amend` replaces operator-authored content, copy the pre-write body to `.ai-engineering/specs/_history-constitution-<YYYY-MM-DD>.md` so the prior identity is recoverable. 6. **Verify + record** — run `python -m skill_lint