Do Work Tdd

Execute a unit of work end-to-end: plan, implement with tdd, validate with typecheck and tests, then commit. Use when user wants…

Euricom updated 2mo ago
Claude CodeGeneric
View source ↗
---
name: do-work-tdd
description: Execute a unit of work end-to-end: plan, implement with tdd, validate with typecheck and tests, then commit. Use when user wants to do work, build a feature, fix a bug, or implement a phase from a plan.
argument-hint: '[issue-file] [--skip-commit] — path to an issue markdown file. Pass --skip-commit to skip CHANGELOG.md update and git commit.'
license: MIT
metadata:
  author: euricom
  version: "1.0.0"
---

# Do Work (TDD)

Execute a complete unit of work: plan it, build it, validate it, commit it.

## Workflow

### 1. Understand the task

If an issue file was passed as an argument, read it first — it is the source of truth for scope, acceptance criteria, and any references. Otherwise, abort the skill and ask the user to provide an issue file.

Then explore the codebase to understand the relevant files, patterns, and conventions. Delegate codebase exploration beyond ~3 greps to the built-in `Explore` agent to keep context light.

If the task is ambiguous, ask the user to clarify scope before proceeding.

### 2. Implement

Work through the plan step by step.

**Backend code** (`packages/api/**`): invoke `Skill('tdd')` and follow its red/green/refactor loop, one vertical slice at a time.

**Frontend code** (`packages/web/**`): implement directly without TDD.

### 3. Validate

Run the feedback loops and fix any issues. Repeat until all pass cleanly.

```bash
bun run check     # static analysis of Typescript code with linting, typechecking, and formatting
bun run test:web  # runs frontend unit tests
bun run test:api  # runs backend unit tests

4. Simplify

Run Skill('code-review') to simplify the code. Use the high effort.

Then run the validation loops again and fix any issues. Repeat until all pass cleanly.

bun run check     # static analysis of Typescript code with linting, typechecking, and formatting
bun run test:web  # runs frontend unit tests
bun run test:api  # runs backend unit tests

5. Commit

Skip this step entirely if --skip-commit was passed as an argument.

Once static analysis and tests pass

  • Update CHANGELOG.md under today's date with functional, user-facing bullet points. Each bullet answers "what can a user now do?" or "what behavior changed?" — not "what was built". No class/method names, no test counts, no migration names. Example:
    • ✓ "Admins can view all users and create new ones via an Add dialog"
    • ✓ "Creating a user automatically assigns a leave balance for each active leave type"
    • ✗ "Added UserService.CreateAsync with single SaveChangesAsync and 10 unit tests"
  • commit the work. Run Skill('git-commit') to commit the work.

5. Report QA

Write a list of items the user should test to verify the work. ```

Maintain Do Work Tdd?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[Do Work Tdd on getagentictools](https://getagentictools.com/loops/euricom-do-work-tdd?ref=badge)
npx agentictools info loops/euricom-do-work-tdd

The second line is the CLI lookup for this page — handy in READMEs and docs.