code-assist
Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical…
Unified TDD skill with three input modes — from spec, from task, or from description. Enforces test-first development using repository patterns, with proptest guidance and backpressure integration.
Claude Code
$ npx -y skills add mikeyobrien/ralph-orchestrator --skill test-driven-development --agent claude-code
Codex
$ npx skills add mikeyobrien/ralph-orchestrator --skill test-driven-development -a codex -y
Cursor
$ npx skills add mikeyobrien/ralph-orchestrator --skill test-driven-development -a cursor -y
Gemini CLI
$ npx skills add mikeyobrien/ralph-orchestrator --skill test-driven-development -a gemini-cli -y
GitHub Copilot
$ npx skills add mikeyobrien/ralph-orchestrator --skill test-driven-development -a github-copilot -y
OpenCode
$ npx skills add mikeyobrien/ralph-orchestrator --skill test-driven-development -a opencode -y
Windsurf
$ npx skills add mikeyobrien/ralph-orchestrator --skill test-driven-development -a windsurf -y
name: test-driven-development description: Unified TDD skill with three input modes — from spec, from task, or from description. Enforces test-first development using repository patterns, with proptest guidance and backpressure integration. type: anthropic-skill version: "1.0" metadata: internal: true
One skill for all TDD workflows. Enforces test-first development using existing repository patterns. Three input modes handle different entry points — specs, task files, or ad-hoc descriptions — but the core cycle is always RED → GREEN → REFACTOR.
Detect the input type and follow the corresponding mode:
Use when the input references a `.spec.md` file with Given/When/Then acceptance criteria.
1. **Locate and parse** the spec file — extract all Given/When/Then triples 2. **Generate one test stub per criterion** with `todo!()` bodies:
/// Spec: <spec-file> — Criterion #<N>
/// Given <given text>
/// When <when text>
/// Then <then text>
#[test]
fn <spec_name>_criterion_<N>_<slug>() {
todo!("Implement: <then text>");
}3. **Verify stubs compile** but fail: `cargo test --no-run -p <crate>` 4. Proceed to the [TDD Cycle](#tdd-cycle) to make stubs pass
**Programmatic support:** `ralph_core::preflight::{extract_acceptance_criteria, extract_criteria_from_file, extract_all_criteria}` can parse criteria from spec files.
Use when the input references a `.code-task.md` file or a specific implementation task.
1. **Read the task** and identify acceptance criteria or requirements 2. **Discover patterns** (see [Pattern Discovery](#pattern-discovery)) 3. **Design test scenarios** covering normal operation, edge cases, and error conditions 4. **Write failing tests** for all requirements before any implementation 5. Proceed to the [TDD Cycle](#tdd-cycle)
Use for ad-hoc tasks without a spec or task file.
1. **Clarify requirements** from the description 2. **Discover patterns** (see [Pattern Discovery](#pattern-discovery)) 3. **Write failing tests** targeting the described behavior 4. Proceed to the [TDD Cycle](#tdd-cycle)
Before writing tests, discover existing conventions:
rg --files -g "crates/*/tests/*.rs" rg -n "#\[cfg\(test\)\]" crates/
Read 2-3 relevant test files near the target code. Mirror:
Use `proptest` only when ALL of:
proptest! {
#[test]
fn round_trip(input in "[a-z0-9]{0,32}") {
let encoded = encode(input.as_str());
let decoded = decode(&encoded).expect("should decode");
prop_assert_eq!(decoded, input);
}
}Don't introduce proptest as a new dependency without strong justification.
Include coverage evidence in completion events:
ralph emit "build.done" "tests: pass, lint: pass, typecheck: pass, audit: pass, coverage: pass (82%)"
Run `cargo tarpaulin --out Html --output-dir coverage --skip-clean` when feasible. If coverage cannot be run, state why and include targeted test evidence instead.
A hat-based orchestration framework that keeps AI agents in a loop until the task is done. "Me fail English? That's unpossible!" - Ralph Wiggum
Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical…
Generates structured .code-task.md files from descriptions or PDD implementation plans. Auto-detects input type, creates properly…
Use when testing Ralph's hat collection presets, validating preset configurations, or auditing the preset library for bugs and UX…
Lists all code tasks in the repository with their status, dates, and metadata. Useful for getting an overview of pending work or…
Transforms a rough idea into a detailed design document with implementation plan. Follows Prompt-Driven Development — iterative…
Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration