hb-sk-tdd
Writes docs/tdds/tdd-NN-slug.md entries and walks draft→red→green→done for framework-bound service work, and recognizes the Paladin's no-entry test-after path.
Skill by kodexArg
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/kodexarg-hb-sk-tdd
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/hb-sk-tdd
What's inside
- Skill name
hb-sk-tdd- Description
- Writes docs/tdds/tdd-NN-slug.md entries and walks draft→red→green→done for framework-bound service work, and recognizes the Paladin's no-entry test-after path. Load when a service piece needs a TDD spec, a failing test list, a status transition, or post-Paladin tests — even if unnamed. Owner: The Trickster. Not the catalog or handler.
- License
- MIT
- Instructions
- 62 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# hb-sk-tdd
Knowledge contract for **The Trickster**. Teach how this service is born in `docs/tdds/`, then stop. The Dwarf forges; you write the spec and the snare.
## Load
1. Read [[TDD]] (the manual). Copy section layout from `docs/tdds/tdd-00-template.md` — do not invent a parallel shape.
2. Classify the caller. Framework-neutral Python logic already implemented by The Paladin uses [[TDD]]'s test-after path: create no TDD entry, move to `hb-sk-test-runner`, and test the supplied invariants. Framework-bound work continues below.
3. Confirm a framework-bound need is a declared row in [[INTERFACES]] (read). Missing row → return to the caller; The Cleric writes the catalog. You do not.
4. Look at a neighbor entry in `docs/tdds/` for tone and grain. Entries are small: one model-plus-endpoints, one service, or one command.
## Why a spec before code
An unspecified framework integration has no trap to walk into. The Dwarf who forges without a red test is guessing. The entry is the contract between the Cleric's row and the test runner — not a diary of the implementation. The Paladin path is deliberately different: the pure rule exists first, and the later trap proves its invariants without inventing a retroactive TDD record.
## Frontmatter
```yaml
title: tdd-NN-slug
type: tdd
status: draft | red | green | done
created: YYYY-MM-DD
api: [] # [[INTERFACES]] paths this entry covers
tags: [tdd]
```
`NN` is the next unused sequential number (numbers have collided before — do not reuse a taken `NN`). Slug is kebab-case. `tdd-00-template` stays `draft` forever.
Status only moves forward: `draft` (spec, no tests yet) → `red` (tests exist and fail) → `green` (the Dwarf's code passes them) → `done` (implementation notes filled, entry closed).
## Sections (from the template)
| Section | What it is for |
|---|---|
| Context | Why this piece exists: the [[INTERFACES]] row, the issue, the need. `api: []` only when there is no route, and say so. |
| Design | Chosen shape and rejected alternatives. Placement, cache, [[VARIABLES]]. Not the test file. |
| Tests | Path `{{service tree}}/<area>/test_<subject>.*` and the traps **one by one**. They hit real routed handlers and the real database — not a stand-in for the product. |
| Status | How red became green. Empty until it did. |
Optional later: **What is deliberately absent** — a bound, not a backlog.
## The Trickster's two service paths
Cleric row → write the entry (`draft`) → write the failing tests (`red`, `hb-sk-test-runner`) → **stop**. The Dwarf forges the model and the handler. You re-run the slice and mark `green` / `done`. You do not implement the handler.
Paladin implementation → inspect changed paths and invariants → write focused tests with `hb-sk-test-runner` → run the slice → return failures or green. No `docs/tdds/` entry. You do not rewrite the pure rule.
Surface testing is not this flow ([[TDD]] scope). Components → surface tests via `hb-sk-surface-framework` when needed.
## Do not
- Skip `red` on the Dwarf path, or fabricate a retroactive TDD entry on the Paladin path.
- Write `docs/INTERFACES.md` or the handler.
- Load Elf / Cleric / Wizard / Inquisitor skills. Test-runner craft is `hb-sk-test-runner`.
- Fork the manual. [[TDD]] owns format; you fill entries.
## Instantiation
This is a template skill: replace every `{{placeholder}}`, then rename the
folder to `{{prefix}}-sk-tdd`. See [[ONBOARDING]] and [[CLONE]].From kodexArg/harness-base, MIT.
More from kodexArg/harness-base
- 0.526score
kskill-mood
kodexArg
Slash /kdx-mood.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-contracts
kodexArg
Interface catalog contract for docs/INTERFACES.md: six-column row, docs/contracts/, trailing slash, declared path prefixes, fragment Payload: —.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-domain-framework
kodexArg
The domain framework contract as this repo programs it: models, settings, framework adapters, the pure-Python boundary, and the service toolchain.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-interface-framework
kodexArg
The interface framework contract as this repo programs it: explicit handlers plus declared paths, split read/write payload shapes, and the permission-class…
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-test-runner
kodexArg
Writes tests for this project's service with its test runner: parametrize, isolation, real dependencies at the owned boundary, no tautological mocks, and no…
SkillBFreshness: BClaude Code +9 - 0.524score
kskill-cowsay
kodexArg
Slash /cowsay.
SkillBFreshness: BClaude Code +9 - 0.524score
kskill-micro-solid-font
kodexArg
Slash /micro-solid-font.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-cloud
kodexArg
Cloud contract for this repo's deployment layout, secret-store naming, and deliberate absences.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-component-framework
kodexArg
The component framework contract for the component files this project's surface host renders or hydrates.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-abc
kodexArg
ABC checklist: a change vs PRD, the ADRs, and INTERFACES.md.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-hawk
kodexArg
Historical-issue scout for The Hawk: Graphify first on the Hunter brief, then gh issue search, then a cheap repetition verdict.
SkillBFreshness: BClaude Code +9 - 0.524score
hb-sk-hound
kodexArg
Codebase scout for The Hound: Graphify first on Hunter clues (tags, keywords, symbols), then Grep/Read, then an ordered catalog of full paths and short…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 29, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/kodexArg/harness-base
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kodexArg
- 0.529score
k-astro-7
kodexArg
Opinionated frontend entrypoint for Astro 7 + Svelte 5 + HTMX.
SkillBFreshness: BClaude Code +9 - 0.529score
k-report
kodexArg
CONVERT a given markdown summary (prose, lists, code, ```mermaid blocks) into ONE self-contained, opinionated, mobile-first (and desktop-friendly) dark HTML…
SkillBFreshness: BClaude Code +9 - 0.529score
k-django-6-drf
kodexArg
Opinionated Django 6 + DRF backend entrypoint.
SkillBFreshness: BClaude Code +9 - 0.526score
kskill-mood
kodexArg
Slash /kdx-mood.
SkillBFreshness: BClaude Code +9 - 0.524score
k-aws-iam
kodexArg
ALVS IAM for this template: Fargate exec/task roles, GHA OIDC deploy roles, least privilege for Django/Astro on ECS.
SkillBFreshness: BClaude Code +9 - 0.524score
k-role-party
kodexArg
Grok Role Party — multi-issue orchestrator that runs the Hunter → Mage → Warrior/Archer party against open GitHub issues, prioritizes easy→hard, opens one PR…
SkillBFreshness: BClaude Code +9
Cite this page
hb-sk-tdd skill. Agent Mart. https://agentmart.dev/skills/kodexarg-hb-sk-tdd (last updated 2026-10-24)