Closing the intent-to-code chasm - specification-driven development with BDD verification chain
86
92%
Does it follow best practices?
Impact
86%
1.82xAverage score across 14 eval scenarios
Advisory
Suggest reviewing before use
Report a bug against an existing feature, create a structured bugs.md record, and generate fix tasks in tasks.md.
$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-bugfix is either a #number (GitHub issue) or a text bug description.
Determine the input type:
#number pattern (e.g., #42): GitHub inbound flow (Step 2a)/iikit-bugfix 'Login fails when email contains plus sign' or /iikit-bugfix #42If input contains BOTH #number and text, prioritize the #number and warn that text is ignored.
gh issue view <number> --json title,body,labels if available, otherwise curl the GitHub API (GET /repos/{owner}/{repo}/issues/{number})title → bug descriptionbody → reproduction stepslabels → severity: "critical" → critical, "high"/"priority" → high, "bug" → medium (default), otherwise → mediumRun full setup to list features, validate, and get bug ID and task IDs. First, present feature list to user. After selection:
Unix/macOS/Linux:
bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-bugfix/scripts/bash/bugfix-helpers.sh --full-setup "<feature_dir>" <task_count>Windows (PowerShell):
pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-bugfix/scripts/powershell/bugfix-helpers.ps1 --full-setup "<feature_dir>" <task_count>Use task_count = 2 if TDD mandatory (from tdd_determination in response), 3 otherwise.
Parse JSON for: features (list for display), validation (check valid), bug_id (BUG-NNN), task_ids (T-BNNN array), tdd_determination.
If validation.valid is false: ERROR with the message. If features is empty: ERROR with "No features found."
For text input (2b):
For GitHub inbound (2a):
Create or append to <feature_dir>/bugs.md using the template at bugs-template.md.
Fill in:
reported#number if from GitHub inbound, _(none)_ otherwise_(empty until investigation)__(empty until implementation)_If bugs.md already exists, append with --- separator before the new entry. Do NOT modify existing entries.
If bugs.md does not exist, create it with the header # Bug Reports: <feature-name> followed by the entry.
For text-input bugs only (NOT for GitHub inbound — issue already exists):
gh issue create --title "<description>" --body "<bugs.md entry content>" --label "bug" if gh available, otherwise curl the GitHub API (POST /repos/{owner}/{repo}/issues)Use tdd_determination and task_ids from Step 3. Use bug_id from Step 3.
If TDD is mandatory (determination = mandatory):
<feature_dir>/tests/features/ if it doesn't exist<feature_dir>/tests/features/bugfix_<BUG-NNN>.feature:
@BUG-NNN
Feature: Bug fix for BUG-NNN — <description>
Scenario: <description>
Given <conditions that trigger the bug>
When <action that causes incorrect behavior>
Then <expected correct behavior>bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-bugfix/scripts/bash/testify-tdd.sh rehash "<feature_dir>/tests/features"valid, STOP and report error:
bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-bugfix/scripts/bash/testify-tdd.sh verify-hash "<feature_dir>/tests/features"Use task_ids from Step 3. Task IDs use T-B prefix — parsers and dashboard rely on this.
Non-TDD task set (determination is NOT mandatory, count = 3):
## Bug Fix Tasks
- [ ] T-BNNN [BUG-NNN] Investigate root cause for BUG-NNN: <description>
- [ ] T-BNNN+1 [BUG-NNN] Implement fix for BUG-NNN: <description>
- [ ] T-BNNN+2 [BUG-NNN] Write regression test for BUG-NNN: <description>TDD task set (determination = mandatory, count = 2). The TS-NNN reference MUST point to the test spec created in Step 8:
## Bug Fix Tasks
- [ ] T-BNNN [BUG-NNN] Implement fix for BUG-NNN referencing test spec TS-NNN: <description>
- [ ] T-BNNN+1 [BUG-NNN] Verify fix passes test TS-NNN for BUG-NNN: <description>If a GitHub issue is linked, include its reference in task descriptions (e.g., (GitHub #42)).
Append to existing <feature_dir>/tasks.md. If tasks.md does not exist, create it with:
# Tasks: <feature-name>
## Bug Fix Tasks
[tasks here]Do NOT modify existing entries or task IDs in tasks.md.
Unix/macOS/Linux:
bash .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-bugfix/scripts/bash/post-phase.sh --phase bugfix --commit-files "specs/*/bugs.md,specs/*/tasks.md,specs/*/tests/features/" --commit-msg "bugfix: <BUG-ID> <short-description>"Windows (PowerShell):
pwsh .tessl/tiles/tessl-labs/intent-integrity-kit/skills/iikit-bugfix/scripts/powershell/post-phase.ps1 -Phase bugfix -CommitFiles "specs/*/bugs.md,specs/*/tasks.md,specs/*/tests/features/" -CommitMsg "bugfix: <BUG-ID> <short-description>"Parse next_step from JSON. Present per model-recommendations.md:
Bug reported!
Next: [/clear → ] <next_step> (model: <tier>)
[- <alt_step> — <reason> (model: <tier>)]
- Dashboard: file://$(pwd)/.specify/dashboard.html| Condition | Response |
|---|---|
| Empty input | ERROR with usage example |
| No features found | ERROR: "Run /iikit-01-specify first" |
| Feature validation failed | ERROR with specific message |
| GitHub API unreachable | Fall back: gh → curl GitHub API → skip with WARN |
| GitHub issue not found | ERROR with "verify issue number" |
| TDD required, no test artifacts | ERROR: "Run /iikit-04-testify first" |
| Existing bugs.md | Append without modifying existing entries |
| Existing tasks.md | Append without modifying existing entries |
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
rules
skills
iikit-00-constitution
scripts
dashboard
iikit-01-specify
iikit-02-plan
iikit-03-checklist
scripts
bash
dashboard
iikit-04-testify
iikit-05-tasks
iikit-06-analyze
iikit-07-implement
iikit-08-taskstoissues
iikit-bugfix
scripts
dashboard
iikit-clarify
iikit-core
references
scripts
bash
dashboard
powershell
templates