跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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 的全部技能

报告此技能的问题