Found an Agent created skill that applies uncle bobs

wzr13371 pts0 comments

GitHub - AmazingAng/old-coder: An old coder's strategy for the agent era: don't read the code — make it run the gauntlet. Evidence-first development skill for coding agents, inspired by Uncle Bob. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search/

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

AmazingAng

old-coder

Public

Notifications<br>You must be signed in to change notification settings

Fork<br>46

Star<br>608

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>52 Commits<br>52 Commits

.github/workflows

.github/workflows

assets

assets

demo-rate-limiter

demo-rate-limiter

skills/old-coder

skills/old-coder

.gitignore

.gitignore

CONTRIBUTING.md

CONTRIBUTING.md

LICENSE

LICENSE

README-zh.md

README-zh.md

README.md

README.md

View all files

Repository files navigation

Old Coder skill(老码农 skill)

中文说明 →

An old coder's strategy for the agent era: don't read the code — make it run the gauntlet.

A skill that makes coding agents prove their work . Instead of you reading every line the agent writes, the agent must push its code through a gauntlet of checks — and hand you a test plan before coding and an evidence report after. You review those two documents, not the code.

It's plain markdown, so it works with any coding agent that follows instructions: Claude Code, Codex CLI, Cursor, Aider, or your own agent loop.

Installation

npx skills add https://github.com/amazingang/old-coder

Or manually:

Claude Code — copy the skill into a skills folder, then invoke /old-coder or let it trigger on "prove it works"-style requests:<br>/.claude/skills/">cp -r skills/old-coder ~/.claude/skills/ # or /.claude/skills/

Other agents — add skills/old-coder/SKILL.md to your AGENTS.md, rules file, or system prompt, and keep references/gauntlet.md alongside it.

The idea

From Uncle Bob (Robert C. Martin), on working with coding agents (original tweet):

My current strategy is to not read any of the code written by my agents. That’s the only way I can take advantage of their productivity. What I do instead is to surround the agents with extreme constraints. Unit tests, gherkin tests, QA procedures, quality metrics, mutation testing, test coverage, and a plethora of others. In the end, I have very high confidence in the code they produce because they’ve had to run the gauntlet of all of my constraints and tests.

If you're not going to read the code, the things you do read have to carry the trust instead.

How it works

agent writes a test plan,you approve it\"]\n RED[\"🔴 REDwrite a test,watch it fail\"]\n GREEN[\"🟢 GREENwrite code untilit passes\"]\n REF[\"🧹 REFACTORclean up,tests untouched\"]\n G[\"🛡️ GAUNTLETrun every check\"]\n EV[\"📊 EVIDENCEyou read the report,not the code\"]\n SPEC --> RED --> GREEN --> REF --> G --> EV\n REF -. next behavior .-> RED\n"}" data-plain="flowchart LR<br>SPEC["📋 SPECagent writes a test plan,you approve it"]<br>RED["🔴 REDwrite a test,watch it fail"]<br>GREEN["🟢 GREENwrite code untilit passes"]<br>REF["🧹 REFACTORclean up,tests untouched"]<br>G["🛡️ GAUNTLETrun every check"]<br>EV["📊 EVIDENCEyou read the report,not the code"]<br>SPEC --> RED --> GREEN --> REF --> G --> EV<br>REF -. next behavior .-> RED<br>" dir="auto">

flowchart LR<br>SPEC["📋 SPECagent writes a test plan,you approve it"]<br>RED["🔴 REDwrite a test,watch it fail"]<br>GREEN["🟢 GREENwrite code untilit passes"]<br>REF["🧹 REFACTORclean up,tests untouched"]<br>G["🛡️ GAUNTLETrun every check"]<br>EV["📊 EVIDENCEyou read the report,not the code"]<br>SPEC --> RED --> GREEN --> REF --> G --> EV<br>REF -. next behavior .-> RED

Loading

You read two documents:

SPEC (before any code) — concrete examples of what the code must and must not do, plus which tools the agent wants to install. Approving it is the single yes/no you give.

EVIDENCE (after the code) — real numbers from one final fresh run, rerunnable yourself with a single command.

The gauntlet in between:

Check<br>The question it answers

Full test suite<br>Did anything break?

Types + lint + complexity<br>Any obvious mistakes? Any unreadable tangles?

Changed-line coverage<br>Is every new line actually exercised by a test?

Mutation testing<br>Plant bugs on purpose — do the tests catch them?

Property-based tests<br>Do the rules survive hundreds of random inputs?

Real execution<br>Does it actually run, outside the test harness?

Supply chain & secrets<br>Did the agent quietly pull in risky packages, or leak a key?

Suite health<br>Are the tests themselves stable, in any order?

Plus a menu of domain-specific layers — concurrency, UI checks, API compatibility, performance, observability — picked per task from a risk model (see references/gauntlet.md).

Effort scales with risk: a...

code coder test agent read skills

Related Articles