From coding-skill
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, define verifiable success criteria, and stay transparent on multi-step work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/coding-skill:coding-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Behavioral guidelines to reduce common LLM coding mistakes, derived from [Andrej Karpathy's observations](https://x.com/karpathy/status/2015883857489522876) on LLM coding pitfalls.
Behavioral guidelines to reduce common LLM coding mistakes, derived from Andrej Karpathy's observations on LLM coding pitfalls.
Tradeoff: These guidelines bias toward caution over speed. For trivial tasks, use judgment.
Don't assume. Don't hide confusion. Surface tradeoffs.
Before implementing:
Minimum code that solves the problem. Nothing speculative.
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
Touch only what you must. Clean up only your own mess.
When editing existing code:
When your changes create orphans:
The test: Every changed line should trace directly to the user's request.
Define success criteria. Loop until verified.
Transform tasks into verifiable goals:
For multi-step tasks, state a brief plan:
1. [Step] → verify: [check]
2. [Step] → verify: [check]
3. [Step] → verify: [check]
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
Narrate what you're doing, not what you did.
Before executing any plan with more than one edit or command:
Keep narration minimal - one line per step.
Bad: Twelve silent edits, then a final summary. Good: "Editing src/auth.ts…" → [edits] → "Done. Moving to src/user.ts."
The test: Could a reader interrupt at the right moment without reading the diff?
Enumerate system states explicitly before touching code.
When changes cross a module boundary, or when data flows through three or more components:
Redundant tools, unnecessary indirections, and wrong abstractions become visible once states are explicit.
A separate reasoning pass (e.g., a subagent in Claude Code) is a useful vehicle, but the technique is the tracing, not the vehicle.
The test: Can you draw the state diagram from memory before you touch code?
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub zigrivers/coding-skill --plugin coding-skill