Closing the intent-to-code chasm - specification-driven development with BDD verification chain
Overall
score
96%
Does it follow best practices?
Validation for skill structure
Create or update a feature specification from a natural language description.
$ARGUMENTSYou MUST consider the user input before proceeding (if not empty).
Load constitution per constitution-loading.md (soft mode — warn if missing, proceed without).
The text after /iikit-01-specify is the feature description.
Before proceeding with feature specification, analyze the user description for bug-fix intent using contextual analysis (not keyword-only):
Bug-fix signals (keywords in a fixing context): "fix", "crash", "broken", "bug", "doesn't work", "fails", "error" when used to describe existing broken behavior.
NOT bug-fix (keywords in a new-feature context): "Add error handling", "Implement crash recovery", "Create bug tracking" — these describe new capabilities, not fixes to existing behavior.
Decision rule: Is the primary intent to fix existing broken behavior or to add new capability? Keywords alone are insufficient — evaluate the full description.
If bug-fix intent is detected:
/iikit-bugfix instead."/iikit-bugfix '<the user description>'/iikit-bugfix/iikit-bugfixbash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-01-specify/scripts/bash/generate-dashboard-safe.shWindows: pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-01-specify/scripts/powershell/generate-dashboard-safe.ps1
Create 2-4 word action-noun name from description:
Check current branch. If on main/master/develop, suggest creating feature branch (default). If already on feature branch, suggest skipping.
Unix/macOS/Linux:
bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-01-specify/scripts/bash/create-new-feature.sh --json "$ARGUMENTS" --short-name "your-short-name"
# Add --skip-branch if user declined branch creationWindows (PowerShell):
pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-01-specify/scripts/powershell/create-new-feature.ps1 -Json "$ARGUMENTS" -ShortName "your-short-name"
# Add -SkipBranch if user declinedParse JSON for BRANCH_NAME, SPEC_FILE, FEATURE_NUM. Only run ONCE per feature.
[NEEDS CLARIFICATION: question] (max 3) when choice significantly impacts scope and no reasonable default existsWrite to SPEC_FILE using spec-template.md structure.
Scan for implementation details per phase-separation-rules.md (Specification section). Auto-fix violations, re-validate until clean.
Generate FEATURE_DIR/checklists/requirements.md covering: content quality (no implementation details), requirement completeness, feature readiness.
If [NEEDS CLARIFICATION] markers remain, present each as a question with options table and wait for user response.
Output: branch name, spec file path, checklist results, readiness for next phase.
If spec.md already exists: extract semantic elements (stories, requirements, criteria), compare with new content per formatting-guide.md (Semantic Diff section), show downstream impact warnings, ask confirmation before overwriting.
You MUST read model-recommendations.md, check the expiration date (refresh via web search if expired), detect the agent via env vars, and include a model switch tip in the output below if the next phase needs a different model tier.
Specification complete! Next steps:
- /iikit-02-clarify - (Recommended) Resolve ambiguities
- /iikit-03-plan - Create technical implementation plan
Tip: <model switch suggestion if tier mismatch, omit if already on the right model>
- Dashboard: file://$(pwd)/.specify/dashboard.html (resolve the path)Install with Tessl CLI
npx tessl i tessl-labs/intent-integrity-kitrules
skills
iikit-00-constitution
scripts
iikit-01-specify
iikit-02-clarify
iikit-03-plan
iikit-04-checklist
scripts
dashboard
iikit-05-testify
iikit-06-tasks
iikit-07-analyze
iikit-08-implement
iikit-09-taskstoissues
iikit-bugfix
scripts
iikit-core
scripts
bash
dashboard
powershell