tdd-pro-batch-cl
Substrate-touch CL batching convention for claude-tdd-pro.
Skill by drumfiend21
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/drumfiend21-tdd-pro-batch-cl
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tdd-pro-batch-cl
What's inside
- Skill name
tdd-pro-batch-cl- Description
- Substrate-touch CL batching convention for claude-tdd-pro. Use BEFORE planning the next CL boundary. Decides when to ship multiple features as ONE commit (range CL-N..M) vs. as separate commits. Preserves every drift guard while amortizing full-suite waits.
- License
- Apache-2.0
- Instructions
- 102 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Substrate-Touch CL Batching Convention **Rule:** Features that extend the same substrate file (e.g. several H-* features that each add a `--check <mode>` branch to `commands/doctor.sh`) ship as ONE commit, not N commits. **Why:** During CL-190..196, H-1/H-5/H-7 all extended `commands/doctor.sh` in distinct ways. Three separate commits, each with its own full-suite wait (~3-5 min), is ~10 minutes wasted vs. one batch with three per-feature audit sections. Batching amortizes the suite-wait while preserving every drift-guard from CLAUDE.md. This convention is the canonical reference for the source-of-truth: [docs/memory/feedback-batch-cl-convention.md](../../../docs/memory/feedback-batch-cl-convention.md). ## How to apply 1. **Pre-flight**: identify the substrate file the next 2-3 pending features touch. 2. **Promote all features' specs in one pass** (cp `evals/pending/<phase>/<feature>/*` → `evals/specs/cl<N>-<feature>-*`). 3. **Write substrate touching the shared file once** (or build new files if substrate doesn't exist). 4. **Filter-run** each promoted feature: `bash evals/runner.sh --filter "cl<N>-<feature>-"` for each, to surface drift before the full-suite wait. 5. **Run a single full-suite** before commit: `bash evals/runner.sh`. 6. **Commit ONCE** with a multi-feature body that includes per-feature audit findings (architecture quote, 10-per-feature count, non-shallow check, test-affordance flags) for EACH feature in the batch. ## What this preserves (CLAUDE.md drift guards) - ✅ Architecture-quote pre-flight: still done per feature. - ✅ Folder-name → feature-ID literal match: still done per feature. - ✅ Test-affordance flag disclosure: still per-feature in commit body. - ✅ Specific audit findings: still per-feature (counts, mappings). - ✅ Non-shallow verb-diversity: still per-feature. - ✅ Filter-run as commit gate: still mandatory. ## What this changes (purely process) - N commits become 1 commit. CL numbering uses a range: `CL-N..M`. - Commit message body is longer (per-feature audit sections), not weaker. ## When NOT to batch - **Different substrate files**: ship separately (no shared work, no savings). - **Architectural deviation**: ship alone so the commit message reads as the deviation disclosure. - **W-phase features that depend on each other** (W-7 → W-8 → W-9): ship in order, not as a batch. - **First-time substrate creation** where each feature needs its own new file: probably batch is still fine, but per-feature audit sections become essential. ## Promotion-only batching (variant) When existing substrate already satisfies pending specs from multiple features (often the case mid-project), the batch is even cleaner: 1. Probe each feature: `cp evals/pending/X/F/*.json evals/specs/cl<N>-F-*.json && bash evals/runner.sh --filter "cl<N>-F-"` 2. Keep promotions where filter-run is clean; roll back where it fails (substrate gap → ship feature individually with new substrate). 3. Single commit with `[substrate already shipped]` tag and `(N specs pending→active)` count in title. This pattern landed CL-237..253 (17 L-phase features, 170 specs) in one commit with zero spec patches. ## Commit message template ``` impl: CL-N..M -- F1 + F2 + ... + Fk (<batch label>) (<old>→<new>) [<status tag>] <2-3 line summary of what the batch covers and why batched> Active suite: <new>/<new> passed (was <old>, +<diff>). CL-N — F1 short title - Substrate (new | already shipped): <files> - Spec count: 10/10 active (was 0 active, 10 pending → 0 pending). - Architecture fidelity: <§X F-Y quote> - Test-affordance flags invented: <list, or "none"> CL-(N+1) — F2 short title <same shape> ... Audit findings: - Per-folder mapping: cl<N>-F1 → §X F-1; cl<N+1>-F2 → §X F-2; ... - 10/10 specs per feature, <total> total. - No opaque IDs in names. - <new substrate written | no new substrate (promotion-only)>. Architecture sections quoted: §<X>, §<Y>, ... Next-CL scope per §20: <what's next>. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> ``` ## Reference Validated on: - CL-146..161 (16 L-features, 1 commit) — no drift in 2026-05-19 audit - CL-197 H-8 promotion (10/10 first-run after applying bash-3.2 portability checklist) - CL-220..236 (15 features, 150 specs, promotion-only) - CL-237..253 (17 L-features, 170 specs, promotion-only) - CL-254..263 (10 H-features, 100 specs, promotion-only) ## When to invoke this skill - After the architecture-quote pre-flight, when deciding the CL boundary. - When the next 2-3 pending features touch the same substrate file. - When existing substrate may already satisfy multiple pending features (run the probe variant). ## Related skills - [`tdd-pro-cl-workflow`](../tdd-pro-cl-workflow/SKILL.md) — the per-CL discipline that runs INSIDE each batch. - [`tdd-pro-bash32-portability`](../tdd-pro-bash32-portability/SKILL.md) — apply BEFORE writing new substrate inside a batch.
From drumfiend21/claude-tdd-pro, Apache-2.0.
More from drumfiend21/claude-tdd-pro
- 0.474score
tdd-pro-bash32-portability
drumfiend21
macOS bash 3.2 + BSD-tool portability checklist for substrate writing in claude-tdd-pro.
SkillCFreshness: CClaude Code +9 - 0.474score
adr-writer
drumfiend21
Use when the user explicitly invokes /adr or asks to "record an architecture decision" / "write an ADR." Produces an MADR-format Architecture Decision Record.
SkillCFreshness: CClaude Code +9 - 0.474score
agent-continuity
drumfiend21
H-13 long-running agent harness continuity per §26 v1.11.
SkillCFreshness: CClaude Code +9 - 0.474score
bug-fix-discipline
drumfiend21
Use when the user reports a BUG (existing behavior is wrong) — phrases like "X breaks when Y", "this used to work", "got an error/exception/500"…
SkillCFreshness: CClaude Code +9 - 0.474score
failure-domain-log
drumfiend21
Use when a refusal fires, a bug recurs, the agent makes a mistake the user has to correct twice, or the user explicitly invokes /failure-log.
SkillCFreshness: CClaude Code +9 - 0.474score
google-style-py
drumfiend21
Auto-attaches when Python files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
google-style-ts
drumfiend21
Auto-attaches when JS/TS files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
ide-rules-export
drumfiend21
X-6 per §23 — one-way IDE rules export.
SkillCFreshness: CClaude Code +9 - 0.471score
architect
drumfiend21
Interactive architecture elicitation.
SkillCFreshness: CClaude Code +9 - 0.471score
local-llm
drumfiend21
Local-LLM fallback for cheap-operation routing — Ollama, llama.cpp, LM Studio.
SkillCFreshness: CClaude Code +9 - 0.471score
feature
drumfiend21
TDD green-phase implementer.
SkillCFreshness: CClaude Code +9 - 0.471score
install-hooks
drumfiend21
X-7 per §23 — installs the packaged Claude Code hooks bundle (Stop, PreToolUse, PostToolUse, SessionStart subset) plus slash commands, agents, and detectors…
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 24, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/drumfiend21/claude-tdd-pro
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from drumfiend21
- 0.474score
google-style-py
drumfiend21
Auto-attaches when Python files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
google-style-ts
drumfiend21
Auto-attaches when JS/TS files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
adr-writer
drumfiend21
Use when the user explicitly invokes /adr or asks to "record an architecture decision" / "write an ADR." Produces an MADR-format Architecture Decision Record.
SkillCFreshness: CClaude Code +9 - 0.474score
bug-fix-discipline
drumfiend21
Use when the user reports a BUG (existing behavior is wrong) — phrases like "X breaks when Y", "this used to work", "got an error/exception/500"…
SkillCFreshness: CClaude Code +9 - 0.474score
agent-continuity
drumfiend21
H-13 long-running agent harness continuity per §26 v1.11.
SkillCFreshness: CClaude Code +9 - 0.474score
ide-rules-export
drumfiend21
X-6 per §23 — one-way IDE rules export.
SkillCFreshness: CClaude Code +9
Cite this page
tdd-pro-batch-cl skill. Agent Mart. https://agentmart.dev/skills/drumfiend21-tdd-pro-batch-cl (last updated 2026-10-24)