.claude/skills/iikit-00-constitution/SKILL.md
Create or update a CONSTITUTION.md that defines project governance — establishes coding standards, quality gates, TDD policy, review requirements, and non-negotiable development principles with versioned amendment tracking. Use when defining project rules, setting up coding standards, establishing quality gates, configuring TDD requirements, or creating non-negotiable development principles.
npx skillsauth add JaviMontano/mao-iic iikit-00-constitutionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create or update the project constitution at CONSTITUTION.md — the governing principles for specification-driven development.
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.
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
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.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.cat CONSTITUTION.md 2>/dev/null || echo "NO_CONSTITUTION"Load existing constitution — identify placeholder tokens [ALL_CAPS_IDENTIFIER]. Adapt to user's needs (more or fewer principles than template).
Collect values for placeholders:
RATIFICATION_DATE: original adoption dateLAST_AMENDED_DATE: today if changes madeCONSTITUTION_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
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:
clear_after is true: suggest /clear before proceedingnext_step as the primary recommendationalt_steps non-empty: list as alternativesnext_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.Format:
Constitution ready!
Next: [/clear → ] <next_step> (model: <tier>)
[- <alt_step> — <reason> (model: <tier>)]
- Dashboard: file://$(pwd)/.specify/dashboard.html (resolve the path)
testing
Generate dependency-ordered task breakdown from plan and specification. Use when breaking features into implementable tasks, planning sprints, or creating work items with parallel markers.
development
Generate Gherkin .feature files from requirements before implementation — produces executable BDD scenarios with traceability tags, computes assertion integrity hashes, and locks acceptance criteria for test-driven development. Use when writing tests first, doing TDD, creating test cases from a spec, locking acceptance criteria, or setting up red-green-refactor with hash-verified assertions.
testing
Generate quality checklists that validate requirements completeness, clarity, and consistency — produces scored checklist items linked to specific spec sections (FR-XXX, SC-XXX). Use when reviewing a spec for gaps, doing a requirements review, verifying PRD quality, auditing user stories and acceptance criteria, or gating before implementation.
development
Generate a technical design document from a feature spec — selects frameworks, defines data models, produces API contracts, and creates a dependency-ordered implementation strategy. Use when planning how to build a feature, writing a technical design doc, choosing libraries, defining database schemas, or setting up Tessl tiles for runtime library knowledge.