{
 "schema_version": 1,
 "generated": "2026-10-20",
 "id": "amazingang-old-coder--build-feature-with-spec-approval-claude-code",
 "repo": "AmazingAng/old-coder",
 "repo_url": "https://github.com/AmazingAng/old-coder",
 "repo_slug": "amazingang-old-coder",
 "title": "Build a feature in Claude Code with a spec you approve first",
 "page_title": "How to build a feature in Claude Code with a spec you approve first with Old Coder",
 "summary": "Install Old Coder in Claude Code so the agent writes a test plan, waits for your yes, then ships with evidence.",
 "who": "A developer using Claude Code who is about to have it change code in a high-stakes area such as money, logins, data, or concurrency and does not want to read every line.",
 "problem": "Reading all agent-written code does not scale, but approving only a short spec and a final report can keep the review manageable.",
 "outcome": "A feature built through the red, green, refactor cycle, with a SPEC you approved and an EVIDENCE report with checks marked pass, fail, or unverified.",
 "steps": [
  "Install the skill for all projects: `npx skills add https://github.com/amazingang/old-coder --skill old-coder`",
  "Or copy it into your Claude Code skills folder: `cp -r skills/old-coder ~/.claude/skills/`",
  "Ask Claude Code for the change and invoke the skill with `/old-coder`.",
  "Read the SPEC the agent writes with concrete must and must-not examples, and approve or reject it.",
  "Read the EVIDENCE report, check any item marked unverified, and do not treat missing approval as high confidence."
 ],
 "agent_prompt": "Using the old-coder skill in the <project-path> repo, implement <feature-description>. First write the SPEC with concrete must and must-not examples and stop for my approval. After coding, produce an EVIDENCE report listing each check as pass, fail, or unverified, and confirm it came from a fresh run.",
 "agents": [
  "claude-code"
 ],
 "difficulty": "Intermediate",
 "time": "30 minutes",
 "basis": "readme",
 "caveat": "The skill is plain markdown that Claude Code loads from a skills folder, and the README states that it cannot authenticate its own checkers, so the SPEC approval is the main safeguard.",
 "category": "Software and DevOps",
 "tags": [
  "Software and DevOps"
 ],
 "lang": "python",
 "requirements": [
  "Git and a terminal",
  "Python 3 for the demo gauntlet",
  "A coding agent such as Claude Code, Codex CLI, or Cursor",
  "Node.js with npx for the skills installer"
 ],
 "risk": "none",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [],
 "best": false,
 "score": 0.9,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/amazingang-old-coder/build-feature-with-spec-approval-claude-code/",
 "md": "https://dedupedai.com/use-cases/amazingang-old-coder/build-feature-with-spec-approval-claude-code/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/amazingang-old-coder--build-feature-with-spec-approval-claude-code.json",
 "api_version": "v1"
}
