ralph-build-agent
Skill3 starsChanged 3 months agoMITView on GitHub
Build Agent — burns down a TODO.md task list end to end, unattended. Use when there is an existing TODO.md to execute: reads it as the plan, implements each task, updates task status on completion, creates an Atomic Commit Protocol (ACP) commit per task, then progresses to the next until the list is done. Implementation uses red-green-refactor TDD with INVEST decomposition, a Farley per-test checklist, and Conventional Commits. Not for one-off changes with no task list — for those use `test-driven-development`. Triggers on: 'ralph', 'build agent', 'burn down the TODO', 'work through TODO.md', 'execute the backlog'.
In this repository74 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adzic-bddSkill
- agent-md-refactorSkill
- agent-muxSkill
- agent-role-impersonatorSkill
- agilquest-reservationsSkill
- ai-text-humanizerSkill
- architecture-decision-recordsSkill
- asd-ste100Skill
- ast-grepSkill
- atacSkill
- aws-cliSkill
- bart-adversarial-reviewerSkill
- branch-doctorSkill
- c4-architectureSkill
- claude-sub-agentSkill
- codemap-config-setupSkill
- codemap-exploreSkill
- codemap-handoffSkill
- codemap-hub-safetySkill
- codemapSkill
- copilot-sub-agentSkill
- daily-standupSkill
- daily-statusSkill
- design-thinkingSkill
- docx-word-processorSkill
- farley-tddSkill
- gemini-sub-agentSkill
- git-commit-formatterSkill
- git-forensicsSkill
- github-actions-permissionsSkill
- github-cliSkill
- git-repo-discoverySkill
- git-safety-guardrailsSkill
- harness-idpSkill
- iteration-plannerSkill
- jira-issue-managerSkill
- justfile-assistantSkill
- kiro-sub-agentSkill
- lessons-learnedSkill
- lisa-planning-agentSkill
- lovejoy-release-agentSkill
- lsp-code-analysisSkill
- macro-to-microSkill
- marge-product-agentSkill
- meeting-notesSkill
- mermaid-diagram-generatorSkill
- modern-cli-overridesSkill
- native-web-searchSkill
- obsidian-notetakerSkill
- outlook-headlessSkill
- pdf-document-processorSkill
- pi-sub-agentSkill
- pptx-slide-processorSkill
- python-publishSkill
- release-pleaseSkill
- skill-creatorSkill
- skill-managerSkill
- socratic-tutorSkill
- software-design-principlesSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
Read a TODO.md and implement every task in it
- Distinctive: line 38
Update TODO.md status as tasks are completed
- Very specific: line 44
Run td usage to load live task state and prior decomposition decisions.
- Very specific: line 45
Read the handoff document TODO-{td-id}.md for the active Epic — once, as immutable context (intent, approach, constraints).
- Very specific: line 47
Check for a repo-local definition first (see below).
- Distinctive: line 85
Before adopting the persona, check whether this repository defines its own Ralph agent:
- Very specific: line 95
If any are found, read them and let their rules override the generic persona on conflict — they encode how this codebase actually works.
- Distinctive: line 120
Run the Springfield Go agent for the current task:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Ralph — Build Agent (TDD Executor & TODO.md Burndown)
Execute a TODO.md task list end-to-end using strict Red-Green-Refactor TDD and the Atomic Commit Protocol. Each task is implemented via a failing test (Red), minimal passing code (Green), and a cleanup pass (Refactor) — then committed atomically. Task status is updated in TODO.md after each commit. The loop repeats automatically until every task is done.
Use this skill when you need to:
- Read a TODO.md and implement every task in it
- Apply red-green-refactor TDD discipline to each task
- Burn down a task list with one atomic commit per completed task
- Update TODO.md status as tasks are completed
- Automatically progress through tasks until the list is done
- Decompose large tasks into INVEST-compliant units
- Maintain 95%+ test coverage with Farley-quality tests
Instructions
- Run
td usageto load live task state and prior decomposition decisions. - Read the handoff document
TODO-{td-id}.mdfor the active Epic — once, as immutable context (intent, approach, constraints). Do not modify it. - Check for a repo-local definition first (see below); otherwise read
references/ralph.mdfor the full persona, TDD rules, Farley checklist, and execution flow. - Decompose to INVEST tasks — each Independent, Negotiable, Valuable, Estimable, Small, Testable. Cut along business rule, error path, or data variation; sequence the foundational boundary first, then happy path, then error paths. Log the strategy chosen in the td handoff so the next session inherits the decomposition intent.
- Execute the TDD loop: derive tasks from acceptance criteria, create them
in td, claim atomically with
td start, commit per ACP, log decisions. - At session end, run
td handoffwith--decisioncapturing the decomposition strategy used and--uncertainflagging any ADR assumption breaks for Lisa.
Core Loop
For each task in TODO.md:
1. Red — Write a failing test that describes the desired behaviour
2. Green — Write minimal code to make the test pass
3. Refactor — Clean up; tests stay green
4. Verify — Run full test suite, apply Farley per-test checklist
5. Commit — ACP atomic commit (Conventional Commits format)
6. Update — Mark task complete in TODO.md
7. Next — Move to the next task; repeat until TODO.md is burned downKey Standards (read these)
references/ralph.md— persona, TDD rules, Farley checklist- Task decomposition — INVEST properties; cut by business rule, error path, or data variation; foundational boundary first. Record the strategy in each td handoff.
- ACP — Atomic Commit Protocol: one task = one atomic commit. Full spec:
skills/git-commit-formatter/references/acp-spec.md, or use thegit-commit-formatterskill. skills/farley-tdd/docs/reference/farley-index.md— per-test quality checklist
Repo-local definitions take precedence
Before adopting the persona, check whether this repository defines its own Ralph agent:
{SKILLS_DIR}/_common/scripts/find-repo-agents.sh ralphSearches .github/, .claude/, .gemini/ and .agents/ for both agents/*.md
definitions and repo-local skills/*/SKILL.md matching ralph, develop, developer, build, implement, refactor in the filename.
If any are found, read them and let their rules override the generic
persona on conflict — they encode how this codebase actually works. If none
are found, use references/ralph.md alone.
Triggers
- "ralph"
- "build agent"
- "TODO burndown"
- "burn down the TODO"
- "implement the TODO"
- "work through TODO.md"
- "execute the backlog"
- "implement each task"
- "work through the tasks"
Not this skill
| If the user wants to… | Use |
| Write one feature or fix test-first | test-driven-development |
| Audit an existing test suite | farley-tdd |
| Format a commit / understand ACP | git-commit-formatter |
| Run several agents across worktrees | agent-mux |
Execution
Run the Springfield Go agent for the current task:
just ralphAlternatively, for a specific task:
just agent ralph "Your task description here"Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

