skills/evanflow-tdd-loop/SKILL.md
```markdown --- name: evanflow-tdd-loop description: Use EvanFlow's 16-skill TDD-driven iterative feedback loop for Claude Code to walk ideas from brainstorm through implementation with checkpoints and guardrails. triggers: - "let's evanflow this" - "set up evanflow for my project" - "use evanflow to build this feature" - "run the evanflow loop" - "install evanflow skills" - "evanflow brainstorm plan execute" - "tdd feedback loop with claude code" - "evanflow coder overseer paral
npx skillsauth add aradotso/trending-skills skills/evanflow-tdd-loopInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: evanflow-tdd-loop
description: Use EvanFlow's 16-skill TDD-driven iterative feedback loop for Claude Code to walk ideas from brainstorm through implementation with checkpoints and guardrails.
triggers:
- "let's evanflow this"
- "set up evanflow for my project"
- "use evanflow to build this feature"
- "run the evanflow loop"
- "install evanflow skills"
- "evanflow brainstorm plan execute"
- "tdd feedback loop with claude code"
- "evanflow coder overseer parallel"
---
# EvanFlow TDD Loop
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
EvanFlow is a TDD-driven iterative feedback loop for software development with Claude Code. 16 cohesive skills + 2 custom subagents walk an idea from brainstorm → plan → execute → iterate, with real checkpoints where you stay in control. The agent never auto-commits, never auto-stages, never proposes a PR without your explicit direction.
brainstorm → plan → execute (vertical-slice TDD per task) → iterate → STOP └─ sequential, or parallel coder/overseer
---
## Installation
### Path 1 — Plugin Marketplace (recommended)
Auto-wires all skills, subagents, and the guardrail hook:
/plugin marketplace add evanklem/evanflow /plugin install evanflow@evanflow
Restart Claude Code (or `/reload-plugins`). Skills appear as `/evanflow:evanflow-go`, `/evanflow:evanflow-tdd`, etc.
To uninstall: `/plugin uninstall evanflow@evanflow`
### Path 2 — npx CLI (skills only)
```bash
# All 16 skills at once
npx skills@latest add evanklem/evanflow -s '*' -y
# Individual skills
npx skills@latest add evanklem/evanflow/evanflow-go
npx skills@latest add evanklem/evanflow/evanflow-tdd
npx skills@latest add evanklem/evanflow/evanflow-iterate
⚠️ This path does NOT install the guardrail hook or custom subagents. Add those manually if needed.
git clone https://github.com/evanklem/evanflow.git
cd evanflow
# Skills (project-level)
mkdir -p .claude/skills
cp -r skills/* .claude/skills/
# Custom subagents
mkdir -p .claude/agents
cp agents/*.md .claude/agents/
# Git guardrail hook
mkdir -p .claude/hooks
cp hooks/block-dangerous-git.sh .claude/hooks/
chmod +x .claude/hooks/block-dangerous-git.sh
Register the hook in .claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/block-dangerous-git.sh"
}
]
}
]
}
}
jq — used by the guardrail hook. Install via:
# macOS
brew install jq
# Ubuntu/Debian
apt install jq
⚠️ If
jqis missing, the hook fails silently and dangerous git ops are NOT blocked.
chromium or google-chrome (optional) — for UI screenshot verification in evanflow-iterate. Falls back gracefully if missing.Restart Claude Code, then say:
"Let's evanflow this — I want to add a small feature that does X."
evanflow-go should fire and walk you through the loop.
evanflow-go)| Skill | What it does |
|---|---|
| evanflow-brainstorming | Clarifies intent, proposes 2–3 approaches with embedded stress-test. Mockup quick-mode for visual-only requests. |
| evanflow-writing-plans | Maps file structure first, creates bite-sized tasks, offers parallel path if 3+ independent units. |
| evanflow-executing-plans | Runs tasks sequentially with inline verification. Surfaces blockers. Hands off to iterate, then STOPS. |
| evanflow-tdd | Vertical-slice TDD inside each code task: one failing test → minimal impl → refactor → next test. |
| evanflow-iterate | Self-review after implementation. Re-reads diff, runs quality checks, screenshots UI, Five Failure Modes checklist. Hard cap: 5 iterations. |
evanflow-go → Say "let's evanflow this" — orchestrates the full loop.
| Skill | When to use it |
|---|---|
| evanflow-glossary | Extract canonical domain terms into CONTEXT.md |
| evanflow-improve-architecture | Surface refactor opportunities (deletion test + deep-modules) |
| evanflow-design-interface | "Design it twice" — 3+ parallel sub-agents with different constraints |
| evanflow-debug | Root-cause first, hypothesis stated explicitly, failing test before fix |
| evanflow-review | Both sides of code review; don't capitulate to feedback you can't justify |
| evanflow-prd | Synthesize a PRD from existing context |
| evanflow-qa | Conversational bug discovery → issue draft (asks before filing) |
| evanflow-compact | Long-session context management; triggers at clean phase boundaries |
agents/)| Subagent | Tool access | Role |
|---|---|---|
| evanflow-coder | Read, Edit, Write, Glob, Grep, Bash, TodoWrite | Implementation — no git ops, no out-of-scope edits |
| evanflow-overseer | Read, Grep, Glob only | Read-only review — physically cannot modify code |
User: "Let's evanflow this — add rate limiting to our API"
evanflow-go fires and sequences:
evanflow-tdd is the discipline inside every code-writing task — not a separate phase:
Per task:
RED: Write one failing test that specifies behavior via public interface
GREEN: Write minimal implementation to pass it
REFACTOR: Clean up while the test is still your safety net
→ next test
Assertion-correctness check: would a one-character bug in the impl still pass this assertion? If yes, the assertion is wrong.
When evanflow-writing-plans detects 3+ truly independent units, it offers the parallel path:
Plan with 3 independent modules
→ fork: 3 evanflow-coder subagents (one per module)
+ 3 evanflow-overseer subagents (one per coder, read-only)
+ 1 integration overseer (runs named integration tests at every touchpoint)
Integration tests are the executable contract — interfaces can't drift if both sides must satisfy the same passing test.
User: "evanflow improve architecture on the auth module"
evanflow-improve-architecture runs the deletion test (if you deleted this, what breaks?) and deep-modules vocabulary (wide interface, narrow implementation) to surface refactor opportunities.
User: "evanflow debug — users are getting 500s on /api/checkout"
evanflow-debug sequence:
User: "evanflow compact — we've been going for a while"
evanflow-compact triggers proactive summarization. Drift symptoms it watches for:
hooks/block-dangerous-git.sh (PreToolUse on Bash) blocks:
git push # blocked
git reset --hard # blocked
git clean -f # blocked
git branch -D # blocked
git checkout . # blocked
git restore . # blocked
Safe git ops (status, diff, log, add, commit with your explicit instruction) pass through.
Test it: try git reset --hard HEAD via the Bash tool — it should be blocked with an explanation.
After /plugin install evanflow@evanflow, skills are namespaced:
/evanflow:evanflow-go
/evanflow:evanflow-brainstorming
/evanflow:evanflow-writing-plans
/evanflow:evanflow-executing-plans
/evanflow:evanflow-tdd
/evanflow:evanflow-iterate
/evanflow:evanflow-debug
/evanflow:evanflow-review
/evanflow:evanflow-compact
/evanflow:evanflow-glossary
/evanflow:evanflow-improve-architecture
/evanflow:evanflow-design-interface
/evanflow:evanflow-prd
/evanflow:evanflow-qa
/evanflow:evanflow
Auto-invocation via natural language ("let's evanflow this") still works regardless of namespace.
Paste the snippet from examples/CLAUDE.md.snippet into your project's CLAUDE.md to brief Claude about EvanFlow conventions from session start:
cat examples/CLAUDE.md.snippet >> CLAUDE.md
This ensures EvanFlow's vocabulary (deletion test, vertical-slice TDD, Five Failure Modes, etc.) is in context without requiring you to explain it each session.
"Let's evanflow this — I want to add webhook support to our API"
"evanflow-plan: we've already brainstormed, here's the design we settled on: [...]"
"evanflow-tdd: implement the UserRepository.findByEmail method"
"evanflow-debug: the payment webhook is firing twice"
"evanflow design interface for the plugin system — I want 3+ radically different approaches compared"
"evanflow qa — let's find bugs in the checkout flow before the release"
| Problem | Fix |
|---|---|
| Hook not blocking dangerous git ops | Check jq is installed (jq --version). Check hook is executable (chmod +x .claude/hooks/block-dangerous-git.sh). Check settings.json registration (Path 3). |
| Skills not appearing after install | Restart Claude Code or run /reload-plugins. For manual install, verify files landed in .claude/skills/. |
| evanflow-go not triggering on "let's evanflow this" | Check skill is installed. Try explicit invocation: /evanflow:evanflow-go or /evanflow-go. |
| Chromium screenshot step skipped | Install chromium or google-chrome. evanflow-iterate falls back gracefully — it will flag UI changes need manual verification. |
| Parallel path not offered | Plan needs 3+ truly independent units. If tasks share state or ordering constraints, the sequential path is correct. |
| Agent inventing file paths / env var names | This violates Hard Rule 2. Tell the agent to stop and ask. If it persists, report as a bug at evanklem/evanflow. |
EvanFlow's hard rules cite their sources:
Rules without citations (no auto-commit, no skill tax) are labeled as opinion from running the loop on real projects.
development
```markdown --- name: compose-performance-skills description: Install and use the skydoves/compose-performance-skills agent skill library to diagnose and fix Jetpack Compose performance issues including stability, recomposition, lazy layouts, modifiers, side effects, and build configuration. triggers: - "my composable recomposes too often" - "LazyColumn drops frames during scroll" - "diagnose Compose stability issues" - "fix unnecessary recomposition in Jetpack Compose" - "optimize Com
development
Headless iOS Simulator manager with host-side HID input injection, 60fps streaming, and device farm web UI for iOS 26
development
```markdown --- name: claude-code-game-studios description: Turn Claude Code into a full 49-agent game dev studio with 72 workflow skills, automated hooks, and a real studio hierarchy for Godot, Unity, and Unreal projects. triggers: - "set up claude code game studios" - "use ai agents for game development" - "set up game dev studio with claude" - "add game studio agents to my project" - "how do I use claude code for game dev" - "set up godot unity unreal ai workflow" - "49 agents g
development
```markdown --- name: xq-py-quantum-vm description: Python implementation of the Quip Network's quantum virtual machine (xqvm) triggers: - quantum virtual machine python - xqvm quip network - quantum circuit simulation python - xq-py quantum vm - quip network quantum python - simulate quantum gates python - quantum vm xqvm - xqvm-py quantum circuit --- # xq-py Quantum Virtual Machine > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. `xqvm-py` is a Python impl