Intent Integrity Kit Constitution
Create or update the project constitution at CONSTITUTION.md — the governing principles for specification-driven development.
Scope
MUST contain: governance principles, non-negotiable development rules, quality standards, amendment procedures, compliance expectations.
MUST NOT contain: technology stack, frameworks, databases, implementation details, specific tools or versions. These belong in /iikit-02-plan. See phase-separation-rules.md.
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Prerequisites Check
- Check PREMISE.md exists:
test -f PREMISE.md. If missing: ERROR — "PREMISE.md not found. Run /iikit-core init first to create it." Do NOT proceed without PREMISE.md.
- Validate PREMISE.md:
bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/validate-premise.sh --json
If FAIL (missing sections or placeholders): ERROR — show details, suggest re-running init.
- Check if constitution exists:
cat CONSTITUTION.md 2>/dev/null || echo "NO_CONSTITUTION"
- If missing, copy from constitution-template.md
Execution Flow
Load existing constitution — identify placeholder tokens [ALL_CAPS_IDENTIFIER]. Adapt to user's needs (more or fewer principles than template).
Collect values for placeholders:
- From user input, or infer from repo context
RATIFICATION_DATE: original adoption date
LAST_AMENDED_DATE: today if changes made
CONSTITUTION_VERSION: semver (MAJOR: principle removal/redefinition, MINOR: new principle, PATCH: clarifications)
Draft content: replace all placeholders, preserve heading hierarchy, ensure each principle has name + rules + rationale, governance section covers amendment/versioning/compliance.
Consistency check: validate against plan-template.md, spec-template.md, tasks-template.md.
Sync Impact Report (HTML comment at top): version change, modified principles, added/removed sections, follow-up TODOs.
Validate: no remaining bracket tokens, version matches report, dates in ISO format, principles are declarative and testable. Constitution MUST have at least 3 principles — if fewer, add more based on the project context.
Phase separation validation: scan for technology-specific content per phase-separation-rules.md. Auto-fix violations, re-validate until clean.
Write to CONSTITUTION.md
Store TDD determination in .specify/context.json so all skills read from here instead of re-parsing the constitution:
TDD_DET=$(bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/testify-tdd.sh get-tdd-determination "CONSTITUTION.md")
Write to .specify/context.json using jq (merge, don't overwrite):
jq --arg det "$TDD_DET" '. + {tdd_determination: $det}' .specify/context.json > .specify/context.json.tmp && mv .specify/context.json.tmp .specify/context.json
If .specify/context.json doesn't exist, create it: echo '{}' | jq --arg det "$TDD_DET" '{tdd_determination: $det}' > .specify/context.json
Git init (if needed): git init to ensure project isolation
Commit: git add CONSTITUTION.md .specify/context.json && git commit -m "Add project constitution"
Dashboard Refresh (optional, never blocks):
bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/generate-dashboard-safe.sh
Windows: pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/powershell/generate-dashboard-safe.ps1
- Report: version, bump rationale, TDD determination, git status, suggested next steps
Formatting
- Markdown headings per template, lines <100 chars, single blank line between sections, no trailing whitespace.
Next Steps
Run: bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/next-step.sh --phase 00 --json
Windows: pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/powershell/next-step.ps1 -Phase 00 -Json
Parse the JSON and present:
- If
clear_after is true: suggest /clear before proceeding
- Present
next_step as the primary recommendation
- If
alt_steps non-empty: list as alternatives
- For
next_step and each alt_step, include the model_tier from the JSON so the user knows which model is best for each option. Look up tiers in model-recommendations.md for agent-specific switch commands.
- Append dashboard link
Format:
Constitution ready!
Next: [/clear → ] <next_step> (model: <tier>)
[- <alt_step> — <reason> (model: <tier>)]
- Dashboard: file://$(pwd)/.specify/dashboard.html (resolve the path)
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: intent-integrity-chain-kit-iikit-00-constitution3description: Intent Integrity Kit Constitution4---56# Intent Integrity Kit Constitution78Create or update the project constitution at `CONSTITUTION.md` — the governing principles for specification-driven development.910## Scope1112**MUST contain**: governance principles, non-negotiable development rules, quality standards, amendment procedures, compliance expectations.1314**MUST NOT contain**: technology stack, frameworks, databases, implementation details, specific tools or versions. These belong in `/iikit-02-plan`. See [phase-separation-rules.md](../iikit-core/references/phase-separation-rules.md).1516## User Input1718```text19$ARGUMENTS20```2122You **MUST** consider the user input before proceeding (if not empty).2324## Prerequisites Check25261. **Check PREMISE.md exists**: `test -f PREMISE.md`. If missing: ERROR — "PREMISE.md not found. Run `/iikit-core init` first to create it." Do NOT proceed without PREMISE.md.272. **Validate PREMISE.md**:28 ```bash29 bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/validate-premise.sh --json30 ```31 If FAIL (missing sections or placeholders): ERROR — show details, suggest re-running init.323. Check if constitution exists: `cat CONSTITUTION.md 2>/dev/null || echo "NO_CONSTITUTION"`334. If missing, copy from [constitution-template.md](../iikit-core/templates/constitution-template.md)3435## Execution Flow36371. **Load existing constitution** — identify placeholder tokens `[ALL_CAPS_IDENTIFIER]`. Adapt to user's needs (more or fewer principles than template).38392. **Collect values for placeholders**:40 - From user input, or infer from repo context41 - `RATIFICATION_DATE`: original adoption date42 - `LAST_AMENDED_DATE`: today if changes made43 - `CONSTITUTION_VERSION`: semver (MAJOR: principle removal/redefinition, MINOR: new principle, PATCH: clarifications)44453. **Draft content**: replace all placeholders, preserve heading hierarchy, ensure each principle has name + rules + rationale, governance section covers amendment/versioning/compliance.46474. **Consistency check**: validate against [plan-template.md](../iikit-core/templates/plan-template.md), [spec-template.md](../iikit-core/templates/spec-template.md), [tasks-template.md](../iikit-core/templates/tasks-template.md).48495. **Sync Impact Report** (HTML comment at top): version change, modified principles, added/removed sections, follow-up TODOs.50516. **Validate**: no remaining bracket tokens, version matches report, dates in ISO format, principles are declarative and testable. Constitution MUST have at least 3 principles — if fewer, add more based on the project context.52537. **Phase separation validation**: scan for technology-specific content per [phase-separation-rules.md](../iikit-core/references/phase-separation-rules.md). Auto-fix violations, re-validate until clean.54558. **Write** to `CONSTITUTION.md`56579. **Store TDD determination** in `.specify/context.json` so all skills read from here instead of re-parsing the constitution:58 ```bash59 TDD_DET=$(bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/testify-tdd.sh get-tdd-determination "CONSTITUTION.md")60 ```61 Write to `.specify/context.json` using `jq` (merge, don't overwrite):62 ```bash63 jq --arg det "$TDD_DET" '. + {tdd_determination: $det}' .specify/context.json > .specify/context.json.tmp && mv .specify/context.json.tmp .specify/context.json64 ```65 If `.specify/context.json` doesn't exist, create it: `echo '{}' | jq --arg det "$TDD_DET" '{tdd_determination: $det}' > .specify/context.json`666710. **Git init** (if needed): `git init` to ensure project isolation686911. **Commit**: `git add CONSTITUTION.md .specify/context.json && git commit -m "Add project constitution"`707112. **Dashboard Refresh** (optional, never blocks):72```bash73bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/generate-dashboard-safe.sh74```75Windows: `pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/powershell/generate-dashboard-safe.ps1`767713. **Report**: version, bump rationale, TDD determination, git status, suggested next steps7879## Formatting8081- Markdown headings per template, lines <100 chars, single blank line between sections, no trailing whitespace.8283## Next Steps8485Run: `bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/bash/next-step.sh --phase 00 --json`86Windows: `pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-core/scripts/powershell/next-step.ps1 -Phase 00 -Json`8788Parse the JSON and present:891. If `clear_after` is true: suggest `/clear` before proceeding902. Present `next_step` as the primary recommendation913. If `alt_steps` non-empty: list as alternatives924. For `next_step` and each `alt_step`, include the `model_tier` from the JSON so the user knows which model is best for each option. Look up tiers in [model-recommendations.md](../iikit-core/references/model-recommendations.md) for agent-specific switch commands.935. Append dashboard link9495Format:96```97Constitution ready!98Next: [/clear → ] <next_step> (model: <tier>)99[- <alt_step> — <reason> (model: <tier>)]100101- Dashboard: file://$(pwd)/.specify/dashboard.html (resolve the path)102```103104---105> Converted and distributed by [TomeVault](https://tomevault.io/claim/intent-integrity-chain) — claim your Tome and manage your conversions.106<!-- tomevault:4.0:skill_md:2026-04-11 -->