ai-constitutionlisted
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