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
A mid-size software company (80 engineers across 12 teams) wants to replace their daily standup meetings with an asynchronous bot. Each morning, team members answer three questions in Slack. The bot collects responses, identifies blockers, and posts a team summary. Managers can view summaries across teams.
Your job is to produce the specification, plan, test specifications, and task breakdown for this feature.
Produce the following files in order:
specs/009-standup-bot/spec.md — feature specificationspecs/009-standup-bot/plan.md — technical implementation planspecs/009-standup-bot/research.md — technology decisionsspecs/009-standup-bot/data-model.md — entity definitionsspecs/009-standup-bot/tests/features/*.feature — BDD test specifications (one or more files)specs/009-standup-bot/tasks.md — dependency-ordered task breakdownThe following files are provided as inputs. Extract them before beginning.
=============== FILE: CONSTITUTION.md ===============
Test-first development MUST be used for all features. Test specifications MUST be written before implementation begins. Implementation tasks MUST reference test spec IDs. Test assertions MUST NOT be modified to match buggy code — fix the code, not the tests.
User response data MUST NOT be accessible to anyone outside the user's team unless the user explicitly opts in. Cross-team summaries MUST show only aggregated data (blocker counts, response rates), never individual responses.
The bot MUST NOT send unsolicited messages outside configured hours. All notifications MUST respect user timezone and working hours. Users MUST be able to snooze or opt out of reminders without manager visibility into who opted out.
Features MUST be deliverable in vertical slices. Each user story MUST be independently deployable.
Amendments require engineering lead approval and increment the minor version. P1 (TDD) and P2 (Privacy) are immutable principles.
=============== FILE: PREMISE.md ===============
An asynchronous standup bot for Slack that replaces synchronous daily meetings with structured text check-ins, blocker detection, and team summaries.
Primary users are individual contributors who submit standup responses. Secondary users are engineering managers and team leads who review summaries. Tertiary users are program managers who view cross-team blocker reports.
Synchronous standups consume 12 teams × 15 minutes × 5 days = 15 hours of meeting time per week. Teams across 4 time zones can't find a common meeting slot. Written responses are searchable and create an audit trail that verbal standups don't.
Developer tooling, team communication, Slack integration
Standup question prompts, response collection, blocker detection, team summaries, cross-team blocker dashboard. Excludes sprint planning, retrospectives, and project tracking integration.
=============== FILE: .specify/context.json =============== { "tdd_determination": "mandatory", "active_feature": "009-standup-bot" }
"Here's what we need:
Daily check-in collection: Every morning at a configured time (per team, respecting time zones), the bot DMs each team member with three questions: What did you do yesterday? What are you doing today? Any blockers? Team members respond in the DM thread. They have until noon their local time.
Blocker detection: If someone mentions a blocker, the bot should tag it and include it in a special blockers section of the team summary. We want basic keyword detection — words like 'blocked', 'waiting on', 'stuck', 'need help', 'dependent on'.
Team summary: After the collection window closes, the bot posts a summary to the team's standup channel. It should list who responded, what their updates are, and highlight any blockers. People who didn't respond should show as 'No response' — don't nag them.
Cross-team blocker view: Managers should be able to type a slash command like
/blockersand see all current blockers across their teams, grouped by team. This must only show the blocker text, not the full standup response, to respect the privacy of individual updates."
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