agentsclimarketplace

Bdd coder

Skill aglabo/deckrd/skills/bdd-coder/skills/bdd-coder

BDD-style implementation agent. Use when the user gives ANY coding instruction — natural-language, explicit Task ID, or custom task list. Always spawns checklist-builder first to generate a checklist, then runs BDD implementation. Examples: "implement X", "add function Y", "create Z", "write code for W", "implement task T01-02", "run bdd-coder", "start BDD implementation". Do NOT commit or push — implementation only, no git operations. Do NOT implement multiple tasks in one invocation — one task per call.From its SKILL.md

Install
npx -y skills add aglabo/deckrd --skill bdd-coder

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.3 KB, as published. Nobody here has run it

<!-- textlint-disable ja-technical-writing/sentence-length -->

bdd-coder

Implements tasks using strict BDD: Red → Green → Refactor. Always generates a checklist first via checklist-builder, then delegates BDD implementation to bdd-coder.

Skill Announcement (REQUIRED)

Before every phase, YOU MUST output:

"I am executing /bdd-coder:bdd-coder [TASK_ID] — Phase [N]: [Phase Name]."

No announcement = violation. Restart with announcement.

Before You Begin (REQUIRED)

Raise ALL questions before writing any code. Ask NOW if any of the following are unclear:

  • Task scope or acceptance criteria
  • Ambiguous specs
  • Implementation approach or dependencies

Once Phase 1 (Checklist Build) starts, stop asking scope questions.

Usage

# Natural-language instruction
"グリーティング関数を実装して"
"implement config file parser"

# Explicit Task ID (from tasks.md)
/bdd-coder:bdd-coder T01-02
/bdd-coder:bdd-coder T01-02 --checklist <path>   # skip checklist-builder, use existing checklist

Execution Flow

bdd-coder is an orchestration layer with the following fixed phase order:

PhaseNameAgentWhat happens
0Environmentexplore-agentDetect language, test framework, lint, type-check setup
1Checklist Buildchecklist-builderGenerate checklist from instruction or Task ID
2Dependency Mapbdd-coderClassify checklist tasks into serial / parallel groups
3bdd-coder Dispatchbdd-coderSpawn bdd-coder per task; collect status reports
4Quality Gatebdd-coderGlobal lint + type-check + all tests pass
5Done Checkbdd-coderConfirm all checklist items complete; write back status to task files
6Session Endbdd-coderReset state; remind user to commit manually

Gate Rule: phases must run in order. No skipping.

All tests MUST pass at Phase 4. No exceptions. Do NOT commit after completion — user commits manually.

Phase 1: Checklist Build

Always spawn checklist-builder with the user's instruction or Task ID.

Input typechecklist-builder behavior
Natural-languageAnalyze instruction, decompose into BDD tasks, generate file
Task ID (e.g. T01-02)Read tasks.md entry, expand into BDD checklist, generate file
--checklist <path>Skip checklist-builder, use the specified existing file

Output: temp/tasks/<slug>-<adjective>-checklist.md

Phase 3: bdd-coder Dispatch

Pass the following context to each bdd-coder instance:

ItemContent
Task IDe.g. T-01-02-01
Task descriptionFull Given/When/Then from checklist
Quality gate cmdsCommands table from ENV PROFILE
Checklist pathPath to generated checklist file

Do NOT pass: session-wide context, other tasks' info, or session.json.

If bdd-coder reports BLOCKED:

  1. Collect the blocking issues from the bdd-coder report.
  2. Report to the user with the exact CRITICAL findings and the affected task ID.
  3. Wait for one of the following user instructions:
    • Fix and retry: user provides guidance → re-run bdd-coder Phase 3–7 for the same task.
    • Skip task: user decides to defer → mark task as SKIPPED and continue with the next task.
    • Abort session: user stops work → end the session and summarize open blockers.

Do NOT proceed to the next task while any task remains BLOCKED.

Phase 5: Done Check — Task Status Write-back

After all bdd-coder instances in Phase 3 report DONE or DONE_WITH_CONCERNS, and Phase 4 quality gate passes, write the implementation status back to the task files.

Step 1: Check each Test Target

For each Test Target (T-01, T-02, ...) that was implemented in this session:

  1. Read the checklist file at temp/tasks/<slug>-<adjective>-checklist.md
  2. Locate all checklist items under the Test Target (T-XX):
    • In tasks.md: all Case checkboxes - [ ] **T-XX-YY-ZZ**
    • In checklist file: all phase items [T-XX-YY-ZZ-R], [T-XX-YY-ZZ-G], [T-XX-YY-ZZ-F], [T-XX-YY-ZZ-TF] (per Scenario), and [T-XX-CF]
  3. Determine status:
    • All items checked ([x]) → status = done
    • Any item unchecked ([ ]) → status = in-progress

Step 2: Write back to tasks.md (Task ID input only)

If the session was started with a Task ID (e.g. T01-02), update tasks.md:

  1. Locate the Task Summary table at the top of tasks.md
  2. Find the row for the implemented Test Target (e.g. T-01)
  3. Update the Status column:
    • done → write done
    • in-progress → write in-progress
## Task Summary

| Test Target  | Scenarios | Cases | Status      |
| ------------ | --------- | ----- | ----------- |
| T-01: <name> | N         | M     | done        |
| T-02: <name> | N         | M     | in-progress |

Do NOT modify any other part of tasks.md.

Step 3: Write back to checklist file (all inputs)

Regardless of input type, also update the checklist file header:

  1. Open temp/tasks/<slug>-<adjective>-checklist.md
  2. In the frontmatter, set status of the corresponding Test Target:
    • If the file has a per-target status field, update it
    • If not, add a comment line below the target heading: <!-- status: done --> or <!-- status: in-progress -->

Step 4: Report to user

After all write-backs complete, output:

STATUS WRITE-BACK:
  T-01: done        (N/N items checked)
  T-02: in-progress (M/N items checked — K items remain)

References

Examples

Natural-language instruction:

"グリーティング関数を実装して" → checklist-builder が temp/tasks/add-greeting-function-calm-checklist.md を生成 → bdd-coder で実装

Task ID from tasks.md:

"T01-02 を実装して" → checklist-builder が tasks.md の T01-02 からチェックリストを生成 → bdd-coder で実装

Existing checklist (skip checklist-builder):

/bdd-coder:bdd-coder T01-02 --checklist temp/tasks/my-happy-checklist.md → 既存チェックリストをそのまま使用 → bdd-coder で実装

Troubleshooting

tasks.md not found when Task ID specified Cause: /deckrd tasks has not been run yet. Solution: Complete the full deckrd flow first: req → spec → impl → tasks. Or give a natural-language instruction instead — checklist-builder works without tasks.md.

Tests failing at Phase 4 Cause: bdd-coder implementation is incomplete or incorrect. Solution: Return to Phase 3, re-dispatch bdd-coder for the failing task. Do not skip Phase 4.

Phase skipped accidentally Cause: Announcement not made before a phase. Solution: Restart from the beginning with proper announcements.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.