super-plumber: Skill for Claude Code

.pi/skills/plumber-tdd/SKILL.md

plumber-tdd is a skill for Claude Code, Codex from LUKAWI/super-plumber. It costs 174 tokens per session (1,450 once invoked), scanned A, original, MIT.

A test-first development guide. TDD, or test-driven development, means writing a test that fails, adding the smallest code that makes it pass, and repeating that cycle at a public interface.

In plain words
What is it for?
Use it to choose test boundaries, write a failing test before implementation, run the red-green cycle, and avoid mocks or assertions that merely repeat the implementation.
Why use it?
It prevents tests from being tightly coupled to private implementation details or from describing behavior that was never agreed on. It also keeps defect fixes and new features tied to observable requirements.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

This is LUKAWI/super-plumber's own configuration. It tells Claude Code and Codex how to work on super-plumber itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything super-plumber configures →

Reuse

Borrowing it

Nothing to install: this file belongs to LUKAWI/super-plumber. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/LUKAWI/super-plumber/master/.pi/skills/plumber-tdd/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/LUKAWI/super-plumber

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for plumber-tdd

README.md
[![agentmods](https://agentmods.dev/badge/skills/lukawi/super-plumber/plumber-tdd/github.svg)](https://agentmods.dev/skills/lukawi/super-plumber/plumber-tdd)
Your own site
<a href="https://agentmods.dev/skills/lukawi/super-plumber/plumber-tdd"><img src="https://agentmods.dev/badge/skills/lukawi/super-plumber/plumber-tdd/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for plumber-tdd

Your own site · 80×15
<a href="https://agentmods.dev/skills/lukawi/super-plumber/plumber-tdd"><img src="https://agentmods.dev/badge/skills/lukawi/super-plumber/plumber-tdd.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 174 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,450 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00174 $0.01450
Opus 5 $0.00087 $0.00725
Sonnet 5 $0.00035 $0.00290
Haiku 4.5 $0.00017 $0.00145

Measured 2d ago against content hash 3f47da8f527a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

plumber-tdd scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.pi/skills/plumber-tdd/SKILL.md · 47 lines

How it starts

The opening of the file, as written. The whole thing — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Plumber TDD — 纪律技能:节点内的测试先行(红 → 绿循环)

Overview

  • 定位:SP 自带纪律技能族成员(DEC-6,adr_0005)——服务图中节点的测试先行纪律:当节点 plan 点名本技能、或节点产物含新测试/缺陷修复时,本页约定测试怎么立、循环怎么转。无节点归属的自由开发不适用本页(防蔓延:纪律技能只服务图中节点)。
  • 纪律族不发 command(DEC-6 ②):触达靠触发语自动命中与节点 plan 指针,无斜杠命令、无入口编排。
  • 节点 plan 是规格:graph_get_node {id} 取 plan/DoD 全文,DoD 是行为验收判据。本页不替代 plan,只约束把 DoD 变成测试的过程。

Seam:先约定,后写测试

**Seam(接缝)**是被测的公共边界:一条只观察行为、不伸进内部的接口——CLI 子命令的 stdout/退出码、MCP 工具的返回字段、导出纯函数的输入输出。

只在预约定 seam 上写测试。 写第一个测试之前,先落定本节点的 seam 清单:

  • plan 已写明测哪些 seam → 以 plan 为准,不私自扩表;
  • plan 未写明 → 向派单方/用户逐条确认后再动第一行测试,确认结果记进执行报告 notes。

没有 seam 清单不开工:测试精力必须落在 DoD 的关键路径与复杂逻辑上,而不是随手能测的边角。约定外的 seam 一律不测——要扩表先回 plan(小修走执行上报出口,结构修订归 designer)。

三大反模式(每个测试过一遍安检)

  • 实现耦合:mock 内部协作者、测私有函数、绕接口从旁路验证(直查存储/内部状态而不走 seam)。判据:重构后测试红了而行为没变——测试钉住的是结构,不是 DoD 承诺的行为。
  • 同义反复:断言把期望值按实现同一套算法重算一遍(expect(add(a, b)).toBe(a + b)、按同样推导手工得出的快照、常量等于自身),构造上恒真,永远不可能反对代码。期望值必须来自独立事实源:已知正确的字面量、手推的实例、plan/DoD 原文。
  • 水平切片:先写完全部测试再写全部实现。批量测试验证的是想象中的行为,还在理解实现之前就锁死了测试结构。改用垂直切片:一个测试 → 一段刚好让它变绿的实现 → 重复;每个测试是曳光弹,回应上一循环学到的东西。

循环规则

  • 先红后绿:先看到新测试失败(且确认因预期原因失败),再写刚好让它通过的实现;不为未来的测试预写代码、不加投机功能。
  • 一次一片:一个 seam、一个测试、一次最小实现为一个循环。
  • 重构不在循环里:红 → 绿只管让测试通过。结构整理归复核阶段——若本环境存在 plumber-review 技能,按其约定交交叉复核;缺失则静默降级,把重构点记进执行报告 notes 即可。
  • 随做随报:一个垂直切片约等于一个 checkpoint 粒度,每完成一个立即 graph_update_checkpoint(无 MCP 用 node .pi/skills/plumber-execute/scripts/sp.mjs checkpoint <node_id> <cp_id> <status> [--graph <name>]),绝不攒批;旧 sp-checkpoint.mjs 已退役,不得作为主路径引用。
  • 产物不越界:测试与实现只落在节点 plan 的文件边界内;测试是节点 artifact,路径如实写进 graph_update_execution_report
  • 测试名说领域语言:命名与仓库 CONTEXT.md 及节点所属 context 顶点的 glossary(graph_get_node 可读)对齐,让测试读起来像 DoD 的规格化复述。

完成判据(纪律层):每条可测的 DoD 至少有一个绿色测试佐证、无约定外 seam 的测试、每个测试过完三大反模式安检。节点的其他验收仍以 DoD 与三层验收为准(→ 手册 §8)。

指针惯例(DEC-6)

节点 plan 引用纪律技能的写法是条件式建议:「若本环境存在 plumber-tdd 技能,按其约定执行本节点」。两条约束对全纪律族生效:只指 SP 自带技能(借鉴风格、不做外部运行时依赖,绝不指向外部技能库);存在才建议、缺失静默降级——指针命中不了时执行者直接按 plan/DoD 干活,不另找替代、不阻塞、不报错。本页同理:是纪律参照,不是执行的先决条件。

Read the full file on GitHub · 47 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago Changed 3f47da8f527a
  2. 3d ago First seen · 47 lines · 174 tokens per session scan A c1a20f7d6f33

Subscribe to this mod's changes

plumber-tdd is a skill published in the GitHub repository LUKAWI/super-plumber (3 stars, last pushed yesterday), licensed MIT. It adds 174 tokens to every session and 1,450 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.