[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6R64D13X5DC980GREWFSSFQ":3,"skill-same:01M6R64D13X5DC980GREWFSSFQ":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":13,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M6R64D13X5DC980GREWFSSFQ","karpathy-guidelines",null,"Apply think-before-coding, simplicity, surgical-change, and goal-driven engineering rules. Use when planning, implementing, or reviewing code.","r3dlex\u002Fskills","r3dlex","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F291373160?v=4","01M6PEFNGGBVB7SHAPWXFFX933","01M6R5SDWFHT94734KJFMYE1SX",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Freference\u002Fgolden-skills\u002F.agents\u002Fskills\u002Fkarpathy-guidelines\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"guidelines","karpathy","karpathy guidelines","planning","engineering","code","coding","Rules","use","change","simplicity","goal","think","driven","reviewing code","implementing","apply","when","2026-11-10 10:12:30",false,"---\nname: karpathy-guidelines\ndescription: Apply think-before-coding, simplicity, surgical-change, and goal-driven engineering rules. Use when planning, implementing, or reviewing code.\n---\n\n# Karpathy Guidelines\n\nFour principles that prevent the most common AI-assisted coding failure modes.\nLoad this skill when reviewing implementation plans or code output.\n\n## Rules\n\n### Rule 1 — Think Before Coding\n\nSpend time understanding the problem before writing a single line.\nRe-read the issue, the acceptance criteria, and any relevant ADRs.\n\n**Bad:**\n```\n\u002F\u002F Immediately add a retry wrapper because the API call might fail\nasync function fetchWithRetry(url) { … }\n```\n\n**Good:**\n```\n\u002F\u002F 1. Read the issue: the API is internal, on the same VPC. Retries not needed.\n\u002F\u002F 2. Check ADR-0005: we use circuit-breakers at the gateway, not per-caller.\n\u002F\u002F Conclusion: a plain fetch() is correct here.\nasync function fetchConfig(url) { return fetch(url).then(r => r.json()); }\n```\n\n---\n\n### Rule 2 — Simplicity First\n\nDo not add abstraction until you have two concrete use cases that share it.\nThe cost of wrong abstraction is higher than the cost of duplication.\n\n**Bad:**\n```typescript\n\u002F\u002F Premature factory for a single use case\nclass DataFetcherFactory {\n  static create(type: 'user' | 'post'): DataFetcher { … }\n}\n```\n\n**Good:**\n```typescript\n\u002F\u002F Concrete function for the one case that exists today\nasync function fetchUser(id: string): Promise\u003CUser> { … }\n\u002F\u002F If fetchPost() is needed later and shares logic → extract then, not now.\n```\n\n---\n\n### Rule 3 — Surgical Changes\n\nChange only what the task requires. Do not refactor adjacent code, rename\nvariables \"while you're here\", or fix unrelated linting warnings in the same\ncommit.\n\n**Bad:**\n> Task: \"Add timeout to fetchData().\"\n> Agent refactors all callers, introduces RetryConfig class, renames three\n> variables for clarity, fixes unrelated import order.\n\n**Good:**\n> Task: \"Add timeout to fetchData().\"\n> Agent adds one parameter with a default, threads it to the fetch call,\n> updates the one test that exercises fetchData. Diff: 4 lines.\n\n---\n\n### Rule 4 — Goal-Driven Execution\n\nKeep the original task visible. Before each action, ask: \"Does this directly\nadvance the stated goal?\" Stop when the goal is met — do not add polish,\ndocumentation, or \"nice to have\" features beyond scope.\n\n**Bad:**\n```\n\u002F\u002F Task complete, but agent adds:\n\u002F\u002F - JSDoc on every function (not requested)\n\u002F\u002F - A README section for the new parameter (not requested)\n\u002F\u002F - A CHANGELOG entry (not requested)\n```\n\n**Good:**\n```\n\u002F\u002F Task complete. Verification run. No out-of-scope additions.\n\u002F\u002F Noted potential improvement → opened separate issue #47.\n```\n\n---\n\n## When to Apply These Rules\n\n- Before starting any implementation: apply Rule 1 and Rule 4 (understand goal,\n  confirm scope).\n- During implementation: apply Rule 3 (surgical).\n- During review of your own output: apply Rule 2 (simplicity check).\n\nSee [REFERENCE.md](REFERENCE.md) for anti-pattern catalog and concrete scenarios.\n","# Karpathy Guidelines\n\nFour principles that prevent the most common AI-assisted coding failure modes.\nLoad this skill when reviewing implementation plans or code output.\n\n## Rules\n\n### Rule 1 — Think Before Coding\n\nSpend time understanding the problem before writing a single line.\nRe-read the issue, the acceptance criteria, and any relevant ADRs.\n\n**Bad:**\n```\n\u002F\u002F Immediately add a retry wrapper because the API call might fail\nasync function fetchWithRetry(url) { … }\n```\n\n**Good:**\n```\n\u002F\u002F 1. Read the issue: the API is internal, on the same VPC. Retries not needed.\n\u002F\u002F 2. Check ADR-0005: we use circuit-breakers at the gateway, not per-caller.\n\u002F\u002F Conclusion: a plain fetch() is correct here.\nasync function fetchConfig(url) { return fetch(url).then(r => r.json()); }\n```\n\n---\n\n### Rule 2 — Simplicity First\n\nDo not add abstraction until you have two concrete use cases that share it.\nThe cost of wrong abstraction is higher than the cost of duplication.\n\n**Bad:**\n```typescript\n\u002F\u002F Premature factory for a single use case\nclass DataFetcherFactory {\n  static create(type: 'user' | 'post'): DataFetcher { … }\n}\n```\n\n**Good:**\n```typescript\n\u002F\u002F Concrete function for the one case that exists today\nasync function fetchUser(id: string): Promise\u003CUser> { … }\n\u002F\u002F If fetchPost() is needed later and shares logic → extract then, not now.\n```\n\n---\n\n### Rule 3 — Surgical Changes\n\nChange only what the task requires. Do not refactor adjacent code, rename\nvariables \"while you're here\", or fix unrelated linting warnings in the same\ncommit.\n\n**Bad:**\n> Task: \"Add timeout to fetchData().\"\n> Agent refactors all callers, introduces RetryConfig class, renames three\n> variables for clarity, fixes unrelated import order.\n\n**Good:**\n> Task: \"Add timeout to fetchData().\"\n> Agent adds one parameter with a default, threads it to the fetch call,\n> updates the one test that exercises fetchData. Diff: 4 lines.\n\n---\n\n### Rule 4 — Goal-Driven Execution\n\nKeep the original task visible. Before each action, ask: \"Does this directly\nadvance the stated goal?\" Stop when the goal is met — do not add polish,\ndocumentation, or \"nice to have\" features beyond scope.\n\n**Bad:**\n```\n\u002F\u002F Task complete, but agent adds:\n\u002F\u002F - JSDoc on every function (not requested)\n\u002F\u002F - A README section for the new parameter (not requested)\n\u002F\u002F - A CHANGELOG entry (not requested)\n```\n\n**Good:**\n```\n\u002F\u002F Task complete. Verification run. No out-of-scope additions.\n\u002F\u002F Noted potential improvement → opened separate issue #47.\n```\n\n---\n\n## When to Apply These Rules\n\n- Before starting any implementation: apply Rule 1 and Rule 4 (understand goal,\n  confirm scope).\n- During implementation: apply Rule 3 (surgical).\n- During review of your own output: apply Rule 2 (simplicity check).\n\nSee [REFERENCE.md](REFERENCE.md) for anti-pattern catalog and concrete scenarios.\n",{"name":5,"description":7},"main","037fe34299eb9c4a30b51f1a6bd101eae1c469b1","reference\u002Fgolden-skills\u002F.agents\u002Fskills\u002Fkarpathy-guidelines","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills","https:\u002F\u002Fgithub.com\u002Fr3dlex","2026-10-29 16:22:54",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add r3dlex\u002Fskills --skill karpathy-guidelines",{"tool":53,"command":54},"bunx","bunx skills add r3dlex\u002Fskills --skill karpathy-guidelines",{"tool":56,"command":57},"pnpm","pnpm dlx skills add r3dlex\u002Fskills --skill karpathy-guidelines","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Freference\u002Fgolden-skills\u002F.agents\u002Fskills\u002Fkarpathy-guidelines\u002FSKILL.md",true,[61],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"REFERENCE.md","REFERENCE","参考文档",5689,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Freference\u002Fgolden-skills\u002F.agents\u002Fskills\u002Fkarpathy-guidelines\u002FREFERENCE.md",[68,76,89,98,108,113],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":36},"01M6R652E42RZT7M2V3RWW991Z","skill","Fixture.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-malformed\u002Fskill\u002FSKILL.md",[],[75],"fixture",{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":36},"01M6R64MTPF0FGWHFS4DWP40GR","stable-skill","Fixture stable-skill.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-lifecycle\u002Fstable-skill\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[88,75],"stable skill",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":96,"publishedAt":36},"01M6R64HD4QVAYM2R0JSYNVDJW","experimental-skill","Fixture experimental-skill.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-lifecycle\u002Fexperimental-skill\u002FSKILL.md",[95],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[97,75],"experimental skill",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":105,"publishedAt":36},"01M6R64FZH05TEJQW75QX1E5XD","deprecated-skill","Fixture deprecated-skill.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-lifecycle\u002Fdeprecated-skill\u002FSKILL.md",[104],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[106,107,75],"deprecated skill","deprecated",{"skillNo":109,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":36},"01M6R640ZS60BRV9P49FT46ZJX","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Freference\u002Fgolden-root\u002F.agents\u002Fskills\u002Fkarpathy-guidelines\u002FSKILL.md",[],[19,20,18,35,28,29,30,31,32,33,34,25,26,27,23,21,22,24],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":36},"01M6R63YBN7VRDA75PNN11QPF8","retro","Conduct a retrospective on a coding agent session: propose environment improvements ranked by severity. Invoked by the user after a session or post-merge.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fretro\u002FSKILL.md",[],[115,120,121,122,123,24,124,125,126,127,128,129],"conduct","merge","retrospective","severity","user","environment","session","post","agent session","coding agent"]