[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:old-coder":3},"\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FAmazingAng\u002Fold-coder\u002FHEAD\u002Fassets\u002Fold-coder-github-banner.png\" alt=\"old-coder: SPEC → GAUNTLET → EVIDENCE\" \u002F>\n\u003C\u002Fp>\u003Ch1>Old Coder skill（老码农 skill）\u003C\u002Fh1>\n\u003Cp>\u003Cem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAmazingAng\u002Fold-coder\u002Fblob\u002FHEAD\u002FREADME-zh.md\" rel=\"nofollow ugc noopener\">中文说明 →\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>An old coder's strategy for the agent era: don't read the code — make it run the gauntlet.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>A skill that makes coding agents \u003Cstrong>prove their work\u003C\u002Fstrong>. Instead of you reading every line, the agent pushes its code through a gauntlet of checks and hands you a test plan before coding and an evidence report after. You review those two documents, not the code.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch2>Installation\u003C\u002Fh2>\n\u003Cp>Install \u003Ccode>old-coder\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">npx skills add https:\u002F\u002Fgithub.com\u002Famazingang\u002Fold-coder --skill old-coder\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Or manually:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Claude Code\u003C\u002Fstrong> — copy the skill into a skills folder, then invoke \u003Ccode>\u002Fold-coder\u003C\u002Fcode> or let it trigger on high-assurance requests:\u003Cpre>\u003Ccode class=\"language-sh\">cp -r skills\u002Fold-coder ~\u002F.claude\u002Fskills\u002F\n# or copy it to &lt;project&gt;\u002F.claude\u002Fskills\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Other agents\u003C\u002Fstrong> — add \u003Ccode>skills\u002Fold-coder\u002FSKILL.md\u003C\u002Fcode> to your \u003Ccode>AGENTS.md\u003C\u002Fcode>, rules file, or system prompt, and keep its \u003Ccode>references\u002F\u003C\u002Fcode> directory alongside it.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Optional companion: \u003Ccode>old-coder-api\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>This repository also includes a focused HTTP\u002FJSON API design and review skill. Install it when you want compatibility, authorization, idempotency, pagination, rate-limit, and operability gates:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">npx skills add https:\u002F\u002Fgithub.com\u002Famazingang\u002Fold-coder --skill old-coder-api\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To install both skills:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">npx skills add https:\u002F\u002Fgithub.com\u002Famazingang\u002Fold-coder --skill old-coder --skill old-coder-api\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>When both apply, \u003Ccode>old-coder\u003C\u002Fcode> owns workflow, approval, and evidence; \u003Ccode>old-coder-api\u003C\u002Fcode> owns the API contract, and its gate decisions become SPEC constraints and gauntlet checks.\u003C\u002Fp>\n\u003Ch2>The idea\u003C\u002Fh2>\n\u003Cp>From Uncle Bob (Robert C. Martin), on working with coding agents (\u003Ca href=\"https:\u002F\u002Fx.com\u002Funclebobmartin\u002Fstatus\u002F2080257779395154409\" rel=\"nofollow ugc noopener\">original tweet\u003C\u002Fa>):\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>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.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>If you're not going to read the code, the things you \u003Cem>do\u003C\u002Fem> read have to carry the trust instead.\u003C\u002Fp>\n\u003Ch2>How it works\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-mermaid\">flowchart LR\n    SPEC[\"📋 SPEC&lt;br\u002F&gt;agent writes a test plan,&lt;br\u002F&gt;you approve it\"]\n    RED[\"🔴 RED&lt;br\u002F&gt;write a test,&lt;br\u002F&gt;watch it fail\"]\n    GREEN[\"🟢 GREEN&lt;br\u002F&gt;write code until&lt;br\u002F&gt;it passes\"]\n    REF[\"🧹 REFACTOR&lt;br\u002F&gt;clean up,&lt;br\u002F&gt;tests untouched\"]\n    G[\"🛡️ GAUNTLET&lt;br\u002F&gt;run every check\"]\n    EV[\"📊 EVIDENCE&lt;br\u002F&gt;you read the report,&lt;br\u002F&gt;not the code\"]\n    SPEC --&gt; RED --&gt; GREEN --&gt; REF --&gt; G --&gt; EV\n    REF -. next behavior .-&gt; RED\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You read two documents:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>SPEC\u003C\u002Fstrong> (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\u002Fno you give.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>EVIDENCE\u003C\u002Fstrong> (after the code) — real numbers from one final fresh run, rerunnable yourself with a single command.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The gauntlet in between:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Check\u003C\u002Fth>\n\u003Cth>The question it answers\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Full test suite\u003C\u002Ftd>\n\u003Ctd>Did anything break?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Types + lint + complexity\u003C\u002Ftd>\n\u003Ctd>Any obvious mistakes? Any unreadable tangles?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Changed-line coverage\u003C\u002Ftd>\n\u003Ctd>Is every new line actually exercised by a test?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Mutation testing\u003C\u002Ftd>\n\u003Ctd>Plant bugs on purpose — do the tests catch them?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Property-based tests\u003C\u002Ftd>\n\u003Ctd>Do the rules survive hundreds of random inputs?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Real execution\u003C\u002Ftd>\n\u003Ctd>Does it actually run, outside the test harness?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Supply chain &amp; secrets\u003C\u002Ftd>\n\u003Ctd>Did the agent quietly pull in risky packages, or leak a key?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Suite health\u003C\u002Ftd>\n\u003Ctd>Are the tests themselves stable, in any order?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Plus a menu of do\u003C\u002Fp>\n",1787530084935]