本文へ移動
cccskills
無料GitHub で公開

dev

Implementer - fetches a GitHub issue, builds an implementation plan, then implements using TDD. Use when: implement, build this, code this, add this feature, TDD, test first, red green refactor, pick a task, next task, dev.

日本語の概要は準備中です。原文の説明を表示しています。

連携ツールGitHub
インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Implementer - TDD Engineer

Fetches a GitHub issue, plans the implementation, then builds it with strict TDD.

Usage

  • /tdd <issue_url> - Fetch issue, plan, and implement
  • /tdd <issue_number> - Same, using issue number (e.g. /tdd 5)
  • /tdd - Ask user which issue to implement

Workflow

Phase 1: Understand

  1. Fetch the issue using gh issue view <number> --json title,body
  2. Launch scout agent for codebase exploration:
    • Use the scout agent to explore all source files relevant to the issue
    • Scout will trace call paths, map test coverage, find existing patterns
    • Review the Scout Report for affected files, data flow, and gaps
  3. Identify the gap between current state and what the issue requires
  4. Challenge the PRD if research reveals:
    • Missing requirements or overlooked edge cases
    • A better technical approach than what was suggested
    • Existing code that already partially solves the problem
    • Constraints or dependencies the PRD didn't account for
    • Requirements that are infeasible, overly complex, or conflict with existing code
    • Scope that should be split into separate issues

Phase 1.5: PRD Feedback (when needed)

If Phase 1 research uncovered issues with the PRD, argue your case before planning:

  1. Present findings to the user — explain what you found and what you'd change
  2. If user agrees, invoke /po amend <issue_number> with a summary of the changes:
    • The PO will append a revision to the issue (original PRD stays intact)
    • Wait for the amended issue before proceeding to Phase 2
  3. If user disagrees, proceed with the PRD as-is — note the disagreement in the plan

This is not a formality. The implementer is expected to push back when research contradicts the PRD. Better to fix the spec than to build the wrong thing.

Phase 2: Plan

  1. Enter plan mode to design the implementation:
    • Summarize research findings — what exists, what's missing, any PRD amendments
    • Break the issue into ordered implementation tasks (baby steps)
    • Each task = one testable behavior increment
    • Identify files to create/modify
    • Identify new types, functions, modules, GenServers
    • Note dependencies between tasks
  2. Launch plan-reviewer agent to stress-test the plan:
    • Reviewer verifies claims against codebase (do files exist? are patterns real?)
    • Finds gaps (missing error states, untested paths, OTP edge cases)
    • Checks for over-engineering
    • Suggests better patterns from existing code
  3. Revise plan based on reviewer feedback, then present to user for approval

Phase 3: Implement (TDD)

  1. Create a feature branch: feature/<short-name>
  2. For each task, follow the RED-GREEN-REFACTOR cycle below
  3. After all tasks complete, launch code-reviewer agent for self-review:
    • Reviewer checks correctness, idioms, OTP safety, typespecs
    • Address any Critical or Important findings before committing

The Cycle

For each behavior increment. One test at a time. Baby steps.

RED - Write One Failing Test

Write the smallest possible test for the next behavior:

test "starts a mission with running status" do
  {:ok, pid} = Overmind.Mission.start_link(%{command: "echo hello"})
  assert Overmind.Mission.get_status(pid) == :running
end

Run: mix test

The test MUST FAIL. If it passes:

  1. Re-examine the test — is it actually testing new behavior?
  2. Adjust the assertion to target untested behavior
  3. If it still passes after 3 attempts, stop and ask the user

GREEN - Minimum Code to Pass

Write only enough production code to make the failing test pass. No more. No future-proofing.

Follow all codebase conventions from CLAUDE.md:

  • Self-documenting function names
  • Add comments on non-obvious logic during implementation, not as afterthought
  • Idiomatic Elixir — pattern matching, pipelines, supervision trees
  • No external deps unless strictly necessary
  • Typespecs: @spec on public client API, @type t on structs, skip GenServer callbacks. Consult CLAUDE.md Type Reference table for correct types (e.g. String.t() not string(), GenServer.on_start() for start_link returns, port() for Port refs)

Run: mix test

The test MUST PASS. If it fails:

  1. Read the error carefully
  2. Fix the implementation (not the test)
  3. If it still fails after 5 attempts, stop and ask the user

REFACTOR - Clean the Changed Code

Once green, refactor the changed code and its immediate boundaries.

Run: mix test after each refactor step — must stay green

REPEAT

Go back to RED for the next behavior increment. Continue until the task is complete.

Iron Rules

  1. No production code without a failing test — ever
  2. Baby steps — one test, one behavior, one increment
  3. Run tests after every change — mix test
  4. Refactor only when green — never refactor red code
  5. One task at a time — finish before starting the next
  6. Escalate, don't spin — ask the user when stuck
  7. TDD is the default — only skip if the user explicitly says so

Implementation Checklist

For each task:

  • Write first failing test
  • Confirm test fails (RED)
  • Write minimum code to pass
  • Confirm test passes (GREEN)
  • Refactor changed code
  • Confirm tests still pass
  • Repeat for next behavior increment
  • All task behaviors covered
  • mix dialyzer passes (type constraint check)
  • mix smoke passes (daemon lifecycle check)
  • Commit with /commit

Pipeline

/po <prompt> -> GitHub issue -> /tdd <issue_url> -> /review -> /commit
                     ^                |
                     |                | (PRD feedback)
                     +--- /po amend --+

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

bugfix

無料

Bug hunter. Reproduces bugs with failing tests (RED), then fixes with TDD. Accepts a prompt, issue URL, or bug description. Use when: bugfix, fix bug, debug, broken, regression, failing, doesn't work, fix this.

日本語の概要は準備中です。原文の説明を表示しています。

leandronsp/overmind122026年4月13日 更新

commit

無料

Create a git commit following project conventions. Use when: commit, commit this, make a commit, commit changes, git commit, save changes, commit my work, stage and commit, detailed commit.

日本語の概要は準備中です。原文の説明を表示しています。

leandronsp/overmind122026年4月13日 更新

debug

無料

Elixir debugging workflow and tools. Use when: debug, debugging, pry, inspect, trace, why is this failing, what's wrong, investigate, diagnose.

日本語の概要は準備中です。原文の説明を表示しています。

leandronsp/overmind122026年4月13日 更新

learn

無料

Extract learnings from the current session and update memory/config. Use when: learn from this, what did we learn, update memory, session retrospective, extract patterns, save learnings.

日本語の概要は準備中です。原文の説明を表示しています。

leandronsp/overmind122026年4月13日 更新

overmind

無料

Orchestrator - spawns an autonomous orchestrator agent that decomposes a task into subtasks and drives multiple Claude agents to completion. Use when: overmind, orchestrate, multi-agent, delegate, spawn agents, break down task, run agents.

日本語の概要は準備中です。原文の説明を表示しています。

leandronsp/overmind122026年4月13日 更新

pair

無料

TDD pair programming with mode switching. Claude can be driver (writes code) or navigator (watches, questions, provokes). Supports GitHub issues, file watching, or arbitrary prompts. Scientific TDD, baby steps, one test at a time. Trigger on: pair, let's pair, tdd, you drive, I'll drive, dojo.

日本語の概要は準備中です。原文の説明を表示しています。

leandronsp/overmind122026年4月13日 更新

leandronsp のスキルをすべて見る

このスキルの問題を報告する