old-coder
An evidence-first development skill: the agent wraps code in a spec and a gauntlet of checks so line-by-line review becomes optional
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Runs tests, types and mutation checks over project code
- Installs and runs gauntlet tooling
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/old-coderDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .claude/skills
cp -R "$tmp/skills/old-coder" .claude/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .agents/skills
cp -R "$tmp/skills/old-coder" .agents/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .github/skills
cp -R "$tmp/skills/old-coder" .github/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .agents/skills
cp -R "$tmp/skills/old-coder" .agents/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .agents/skills
cp -R "$tmp/skills/old-coder" .agents/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .devin/skills
cp -R "$tmp/skills/old-coder" .devin/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Formerly Windsurf.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .cline/skills
cp -R "$tmp/skills/old-coder" .cline/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .roo/skills
cp -R "$tmp/skills/old-coder" .roo/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add amazingang/old-coder --skill old-coder -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit a0eb529
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .agents/skills
cp -R "$tmp/skills/old-coder" .agents/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .agents/skills
cp -R "$tmp/skills/old-coder" .agents/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/amazingang/old-coder.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/old-coder/
git -C "$tmp" checkout a0eb529d393a1cb3ccc564e32b2104e7e75c7a29
mkdir -p .agents/skills
cp -R "$tmp/skills/old-coder" .agents/skills/old-coderCommands for macOS and Linux, on Windows run them in Git Bash.
Install the skill: npx skills add https://github.com/amazingang/old-coder --skill old-coder. Start with an executable spec and submit it for approval before writing code.
Other ways from the author
npx skills add https://github.com/amazingang/old-coder --skill old-coderInstalls the main skill. Add --skill old-coder-api to install the companion too.
This is third-party code. Review the repository files before installing.
What it does
The skill gives the agent a loop where trust comes not from reading code but from two artifacts. First the agent writes an executable spec with concrete examples of what the code must and must not do, and you approve that spec. Then the code runs a gauntlet of checks: tests, types, coverage and mutation testing, summarized in an evidence report. It ships a companion skill old-coder-api for HTTP and JSON contracts and a demo project with a ready gauntlet.
Who it is for. For developers who need high assurance and proven, not merely claimed, code quality.
Good fit when
- You want evidence-first TDD with an executable spec
- The change touches money, auth, data loss or concurrency
- You want done to be backed by checks, not a claim
Not a fit when
- A routine change where ordinary tests are enough
- You cannot run tests, types and mutation checks
Example request
Build this feature with the evidence-first loop: a spec for approval first, then code with a checks reportLimitations
The gauntlet confirms what the spec expresses but does not guarantee the spec captured everything that matters, which is why human approval of the spec is the key step. The full loop takes time and a configured toolchain for tests, types and mutation testing. The report gives layered, auditable confidence, not absolute proof.
How to disable. Remove the old-coder folder from your agent's skills directory, for example ~/.claude/skills/old-coder.
Security check
- Runs tests, types and mutation checks over project code
- Installs and runs gauntlet tooling
README in short
The README describes an approach where the human does not read the implementation but trusts two artifacts: an approved spec and an evidence report from the checks. The loop runs from spec to red and green tests, refactor, the gauntlet and an evidence report. The repo holds the main skill, the old-coder-api companion and a rate-limiter demo with gauntlet tooling. Installation is via npx skills add or a folder copy. MIT licensed.
SKILL.md
--- name: old-coder description: Evidence-first development, surround the implementation with an executable spec and a gauntlet of constraints (tests, types, coverage, mutation) so line-by-line review becomes optional. Use when the user explicitly asks for high-assurance or evidence-first work (reliable, TDD, prove it works, I won't read the code), or when the change touches high-stakes domains (money, auth, data loss, concurrency, public API). For routine changes where the user just wants normal tests, write good tests directly instead of invoking this loop. --- # Old Coder: Reliable Coding Under Constraint and Test The human will NOT read your implementation. Their confidence comes entirely from two artifacts you produce: (1) an executable specification they approve before you write code, and (2) an evidence report proving the code ran the gauntlet. ## The Loop SPEC to (human approves spec, not code) to RED to GREEN to REFACTOR to GAUNTLET to EVIDENCE, repeat per behavior.
FAQ
What exactly do I approve?
The spec, not the code. It is the one human decision, and it breaks the correlation where everything was authored by the same agent.
What is old-coder-api for?
A companion skill for HTTP and JSON contracts: compatibility, authorization, idempotency, pagination and rate limits.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything