AGENT SKILL

iikit-00-constitution

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.

License 许可
MIT
所属仓库
hafidzlvm/opencode
最近更新
2026-10-12
Stars
★ 1
Forks
0

01 前言 Front Matter

name
iikit-00-constitution
license
MIT
metadata
{ "version": "2.10.0" }
description
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.

02 资源文件 29

03 SKILL.md 正文

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

  1. 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.
  2. Validate PREMISE.md:
    bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-00-constitution/scripts/bash/validate-premise.sh --json
    
    If FAIL (missing sections or placeholders): ERROR — show details, suggest re-running init.
  3. Check if constitution exists: cat CONSTITUTION.md 2>/dev/null || echo "NO_CONSTITUTION"
  4. If missing, copy from constitution-template.md

Execution Flow

  1. Load existing constitution — identify placeholder tokens [ALL_CAPS_IDENTIFIER]. Adapt to user's needs (more or fewer principles than template).

  2. 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)
  3. Draft content: replace all placeholders, preserve heading hierarchy, ensure each principle has name + rules + rationale, governance section covers amendment/versioning/compliance.

  4. Consistency check: validate against plan-template.md, spec-template.md, tasks-template.md.

  5. Sync Impact Report (HTML comment at top): version change, modified principles, added/removed sections, follow-up TODOs.

  6. 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.

  7. Phase separation validation: scan for technology-specific content per phase-separation-rules.md. Auto-fix violations, re-validate until clean.

  8. Write TWO files — both are required outputs of this skill:

    a) Write CONSTITUTION.md with the finalized constitution content.

    b) Write .specify/context.json with the TDD determination extracted from the constitution you just wrote. All downstream skills (testify, bugfix, implement) read TDD policy from this file. Determine the value from the constitution text:

    • Constitution contains MUST/REQUIRED + "TDD", "test-first", or "red-green-refactor" → mandatory
    • Constitution contains MUST + "test-driven" or "tests before code" → mandatory
    • Constitution contains MUST + "test-after" or "no unit tests" → forbidden
    • Testing is described as OPTIONAL or SHOULD → optional
    • No testing policy stated → optional

    Create the file:

    mkdir -p .specify
    

    Write .specify/context.json containing at minimum:

    {
      "tdd_determination": "<mandatory|optional|forbidden>"
    }
    

    If .specify/context.json already exists, merge (don't overwrite other fields). You can use jq if available, or write the file directly.

    Verify: confirm .specify/context.json exists and contains tdd_determination.

  9. Git init (if needed): git init to ensure project isolation

  10. Report: version, bump rationale, TDD determination, git status

Formatting

  • Markdown headings per template, lines <100 chars, single blank line between sections, no trailing whitespace.

Commit, Dashboard & Next Steps

bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-00-constitution/scripts/bash/post-phase.sh --phase 00 --commit-files "CONSTITUTION.md,.specify/context.json" --commit-msg "Add project constitution"

Windows: pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-00-constitution/scripts/powershell/post-phase.ps1 -Phase 00 -CommitFiles "CONSTITUTION.md,.specify/context.json" -CommitMsg "Add project constitution"

Parse next_step from JSON. Present per model-recommendations.md:

Constitution ready!
Next: [/clear → ] <next_step> (model: <tier>)
[- <alt_step> — <reason> (model: <tier>)]
- Dashboard: file://$(pwd)/.specify/dashboard.html

04 同仓库更多 Skills

hafidzlvm
hafidzlvm/opencode

swiss-design

Apply a Swiss International Style design system using Tailwind CSS. Use when asked to style a webpage, clean up a UI, apply a design system, make something look great, or when the user references Swiss design, grotesque fonts, Helvetica, grid systems, modernist typography, or 1960s/1950s design aesthetics. Implements IBM Plex Sans typography, stone color palette, opacity-based hierarchy, generous whitespace, and structured grid layouts.

设计师视觉设计
★ 1
hafidzlvm
hafidzlvm/opencode

karpathy-guidelines

Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria.

★ 1
hafidzlvm
hafidzlvm/opencode

iikit-core

Initialize an IIKit (Intent Integrity Kit) project, check IIKit feature progress, select the active IIKit feature, and display the IIKit workflow command reference. Use when starting a new IIKit project, running IIKit init or setup, checking IIKit status, switching between IIKit features, looking up IIKit available commands and phases, or asking for help with the IIKit workflow.

★ 1
hafidzlvm
hafidzlvm/opencode

iikit-clarify

Resolve ambiguities in any project artifact — auto-detects the most recent artifact (spec, plan, checklist, testify, tasks, or constitution), asks targeted questions with option tables, and writes answers back into the artifact's Clarifications section. Use when requirements are unclear, a plan has trade-off gaps, checklist thresholds feel wrong, test scenarios are imprecise, task dependencies seem off, or constitution principles are vague.

★ 1
hafidzlvm
hafidzlvm/opencode

iikit-bugfix

Report a bug against an existing feature — creates a structured bugs.md record, generates fix tasks in tasks.md, and optionally imports from or creates GitHub issues. Use when fixing a bug, reporting a defect, importing a GitHub issue into the workflow, or triaging an error without running the full specification process.

★ 1
hafidzlvm
hafidzlvm/opencode

iikit-08-taskstoissues

Convert tasks from tasks.md into GitHub Issues with labels and dependencies. Use when exporting work items to GitHub, setting up project boards, or assigning tasks to team members.

★ 1