[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K5P912WVCQSSB1A8WY5FYM":3,"skill-same:01M6K5P912WVCQSSB1A8WY5FYM":117},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":70},"01M6K5P912WVCQSSB1A8WY5FYM","lets-make-a-skill",null,"Use when creating or improving a skill that must both perform well on real prompts AND hold under rationalization pressure (discipline rules, process guardrails, workflows agents might shortcut under time or sunk-cost pressure).","laurac8r\u002Fclaude-damn","laurac8r","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F23003243?v=4","01M6K5HCAJJR4Q5BCBRRZF8E5D","Laura Kaminskiy","01M6K5HCEQRFFJFK32A0VR7AS3",3,"MIT","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"lets make a skill","make","prompts","true","shortcut","name","time","directive","cost","workflows","discipline","use","process","Rules","Guardrails","update","create","2026-11-10 10:12:30",false,"---\nname: lets-make-a-skill\ndescription:\n   Use when creating or improving a skill that must both perform well on real\n   prompts AND hold under rationalization pressure (discipline rules, process\n   guardrails, workflows agents might shortcut under time or sunk-cost\n   pressure).\nargument-hint: \"\u003Cskill-name> [create|update|\u003Cdirective>]\"\nuser-invocable: true\n---\n\n\u002Fskill-creator but using \u002Fsuper-duper-cat for worktree + parallel subagents, and\n\u002Fwriting-skills for pressure testing.\n\n**Iron Law:** this skill — and any skill built using this skill — ships only\nafter a baseline (no-skill agents) is observed shortcutting under pressure. A\npassing baseline means no rationalization to address, which means no skill\nneeded. See `evals\u002Fbaseline-results\u002F` for the canonical RED-phase evidence\ncaptured during this skill's own bring-up.\n\n## Orchestration\n\nThe tensions between `\u002Fskill-creator`'s quant eval loop and `\u002Fwriting-skills`'\npressure tests collapse when RED fans out as a single parallel grid.\n\n### RED — one turn, parallel subagents\n\nFor each test case, dispatch two subagents in parallel (with-skill halves are\nskipped in RED because the skill does not exist yet):\n\n| Permutation         | Purpose                                   |\n| ------------------- | ----------------------------------------- |\n| baseline × quant    | `\u002Fskill-creator` pass-rate floor          |\n| baseline × pressure | `\u002Fwriting-skills` rationalization capture |\n\nWorkspace:\n\n```\n\u003Cskill>-workspace\u002Fiteration-N\u002Feval-\u003Cname>\u002F\n  baseline\u002F{quant,pressure}\u002F\n  with-skill\u002F{quant,pressure}\u002F\n```\n\nDraft only after ALL baseline subagents return. Drafting early invalidates the\niteration. \"Too small to need a baseline\" is a rationalization — the cost of one\nextra subagent is lower than the cost of a skill that does not address a real\nrationalization.\n\n### GREEN — draft, then re-fire the full grid\n\nDispatch 4 subagents per test case (baseline re-run included so iteration-N is a\nself-contained A\u002FB). \"Passes\" requires BOTH:\n\n- with-skill quant pass-rate is strictly greater than baseline quant pass-rate\n  in the same iteration.\n- with-skill pressure run produces no new rationalizations not already countered\n  in the skill body.\n\nA quant delta alone is not sufficient. A pressure pass alone is not sufficient.\nBoth, or the iteration fails.\n\n### REFACTOR\n\n- New rationalization in with-skill pressure → close loophole in skill body (per\n  `\u002Fwriting-skills`). Do not add a quant assertion.\n- Quant regression → tighten skill body. Do not relax the assertion.\n- Re-fire grid. Iterate until bulletproof.\n\n### Reports\n\n- `benchmark.json` + `benchmark.md` for the quant results. Generate these with\n  whatever reporting tooling is available in your environment; if you use\n  external `\u002Fskill-creator` helpers, treat them as external dependencies rather\n  than repo-local scripts.\n- `rationalizations.md` — markdown table produced by a grader subagent reading\n  the `pressure\u002F` dirs.\n- Optional viewer: use any available quant-results viewer in your environment.\n  Keep the rationalization table as markdown next to the quant report.\n\n### Red flags — STOP if you catch yourself thinking\n\n- \"This skill is too small to need the pressure baseline\" → run it anyway.\n- \"Quant improved, ship it\" → check the pressure baseline first.\n- \"Serial is clearer than parallel subagents\" → the grid IS the skill.\n- \"The partial baseline from yesterday is enough\" → re-fire it in this iteration\n  so the A\u002FB is self-contained.\n\nAll of these are rationalizations captured from baseline runs. Each one already\nburned an iteration. Do not rediscover them.\n","\u002Fskill-creator but using \u002Fsuper-duper-cat for worktree + parallel subagents, and\n\u002Fwriting-skills for pressure testing.\n\n**Iron Law:** this skill — and any skill built using this skill — ships only\nafter a baseline (no-skill agents) is observed shortcutting under pressure. A\npassing baseline means no rationalization to address, which means no skill\nneeded. See `evals\u002Fbaseline-results\u002F` for the canonical RED-phase evidence\ncaptured during this skill's own bring-up.\n\n## Orchestration\n\nThe tensions between `\u002Fskill-creator`'s quant eval loop and `\u002Fwriting-skills`'\npressure tests collapse when RED fans out as a single parallel grid.\n\n### RED — one turn, parallel subagents\n\nFor each test case, dispatch two subagents in parallel (with-skill halves are\nskipped in RED because the skill does not exist yet):\n\n| Permutation         | Purpose                                   |\n| ------------------- | ----------------------------------------- |\n| baseline × quant    | `\u002Fskill-creator` pass-rate floor          |\n| baseline × pressure | `\u002Fwriting-skills` rationalization capture |\n\nWorkspace:\n\n```\n\u003Cskill>-workspace\u002Fiteration-N\u002Feval-\u003Cname>\u002F\n  baseline\u002F{quant,pressure}\u002F\n  with-skill\u002F{quant,pressure}\u002F\n```\n\nDraft only after ALL baseline subagents return. Drafting early invalidates the\niteration. \"Too small to need a baseline\" is a rationalization — the cost of one\nextra subagent is lower than the cost of a skill that does not address a real\nrationalization.\n\n### GREEN — draft, then re-fire the full grid\n\nDispatch 4 subagents per test case (baseline re-run included so iteration-N is a\nself-contained A\u002FB). \"Passes\" requires BOTH:\n\n- with-skill quant pass-rate is strictly greater than baseline quant pass-rate\n  in the same iteration.\n- with-skill pressure run produces no new rationalizations not already countered\n  in the skill body.\n\nA quant delta alone is not sufficient. A pressure pass alone is not sufficient.\nBoth, or the iteration fails.\n\n### REFACTOR\n\n- New rationalization in with-skill pressure → close loophole in skill body (per\n  `\u002Fwriting-skills`). Do not add a quant assertion.\n- Quant regression → tighten skill body. Do not relax the assertion.\n- Re-fire grid. Iterate until bulletproof.\n\n### Reports\n\n- `benchmark.json` + `benchmark.md` for the quant results. Generate these with\n  whatever reporting tooling is available in your environment; if you use\n  external `\u002Fskill-creator` helpers, treat them as external dependencies rather\n  than repo-local scripts.\n- `rationalizations.md` — markdown table produced by a grader subagent reading\n  the `pressure\u002F` dirs.\n- Optional viewer: use any available quant-results viewer in your environment.\n  Keep the rationalization table as markdown next to the quant report.\n\n### Red flags — STOP if you catch yourself thinking\n\n- \"This skill is too small to need the pressure baseline\" → run it anyway.\n- \"Quant improved, ship it\" → check the pressure baseline first.\n- \"Serial is clearer than parallel subagents\" → the grid IS the skill.\n- \"The partial baseline from yesterday is enough\" → re-fire it in this iteration\n  so the A\u002FB is self-contained.\n\nAll of these are rationalizations captured from baseline runs. Each one already\nburned an iteration. Do not rediscover them.\n",{"name":5,"description":7,"argument-hint":46,"user-invocable":47},"\u003Cskill-name> [create|update|\u003Cdirective>]",true,"main","9635fb649979617cf684ea860dcaeb4eb272aa7d","skills\u002Flets-make-a-skill",1,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn","https:\u002F\u002Flaurac8r.github.io\u002Fclaude-damn\u002F","https:\u002F\u002Fgithub.com\u002Flaurac8r","https:\u002F\u002Fwww.webcatgirl.com\u002F","SWE | Python, Java, Typescript, Cloud, AI, ML | Open-source, large-language model, and decision model enthusiast","2026-09-10 01:18:30",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":47},[60,63,66],{"tool":61,"command":62},"npx","npx skills add laurac8r\u002Fclaude-damn --skill lets-make-a-skill",{"tool":64,"command":65},"bunx","bunx skills add laurac8r\u002Fclaude-damn --skill lets-make-a-skill",{"tool":67,"command":68},"pnpm","pnpm dlx skills add laurac8r\u002Fclaude-damn --skill lets-make-a-skill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002FSKILL.md",[71,77,81,85,89,93,97,101,105,109,113],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"evals\u002Fbaseline-results\u002FREADME.md","REFERENCE","参考文档",6279,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fbaseline-results\u002FREADME.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"evals\u002Fbaseline-results\u002Fscenario-1.md",2392,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fbaseline-results\u002Fscenario-1.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"evals\u002Fbaseline-results\u002Fscenario-2.md",3403,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fbaseline-results\u002Fscenario-2.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"evals\u002Fbaseline-results\u002Fscenario-3.md",2629,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fbaseline-results\u002Fscenario-3.md",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"evals\u002Fbaseline-results\u002Fscenario-4.md",3111,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fbaseline-results\u002Fscenario-4.md",{"path":94,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":95,"sourceHtmlUrl":96},"evals\u002Fpressure-scenarios.md",3489,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fpressure-scenarios.md",{"path":98,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":99,"sourceHtmlUrl":100},"evals\u002Fwith-skill-results\u002FREADME.md",5155,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fwith-skill-results\u002FREADME.md",{"path":102,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":103,"sourceHtmlUrl":104},"evals\u002Fwith-skill-results\u002Fscenario-1.md",2360,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fwith-skill-results\u002Fscenario-1.md",{"path":106,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":107,"sourceHtmlUrl":108},"evals\u002Fwith-skill-results\u002Fscenario-2.md",1676,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fwith-skill-results\u002Fscenario-2.md",{"path":110,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":111,"sourceHtmlUrl":112},"evals\u002Fwith-skill-results\u002Fscenario-3.md",2334,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fwith-skill-results\u002Fscenario-3.md",{"path":114,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":115,"sourceHtmlUrl":116},"evals\u002Fwith-skill-results\u002Fscenario-4.md",2885,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Flets-make-a-skill\u002Fevals\u002Fwith-skill-results\u002Fscenario-4.md",[118,154,176,193,212,227],{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":133,"publishedAt":41},"01M6K5V5PPEYZGPW80S9QAF7WZ","visual-aid","Use when the user asks for a quick visual aid, visual explainer, concept card, one-pager, poster, cheat sheet, infographic, visual summary, summary card, or mini explainer page — especially from input like a block of text, attached images, an attached song (lyrics\u002Faudio), a web link, a CSV\u002Fdataset, a math formula, a code snippet to walk through, a tutorial's steps, a timeline, or an A-vs-B comparison. Triggers include \"make me a quick visual aid\", \"turn this into a one-pager \u002F cheat sheet \u002F explainer\", \"summarize this visually\", \"give me a visual of\", \"explain this on a single page\", \"make a concept card for\", \"whip up a page about\", \"build a mini page that shows\", \"something I can paste into a doc explaining X\", or any request to render a topic\u002Ftext\u002Flink\u002Fimage-set\u002Fsong\u002Fdata into a standalone page. Prefer this skill over frontend-design when the ask is an explanatory single-file page (not a production UI), over playground when the output is static information display (not an interactive configurator), and over a Markdown\u002Fcode answer when the user explicitly wants a *page* (HTML). Produces a single self-contained HTML file that opens on double-click without a server.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-aid\u002FSKILL.md",[124,127,130],{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],"visual","visual aid","frontend","design","SET","Audio","visual explainer","up","images","formula","infographic","click","card","render","information","quick","song","standalone","frontend-design","static",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":41},"01M6K5TZZ34SBMQMN2EX11XMYS","tesseract","Use when you've been poking at the same file, concept, or problem across many sessions and want to step outside time to see its whole arc — or when you want to leave a note for next-session-you. Triggers: 'I've been going in circles on X', 'what have I learned about X', 'what did past-me say about X', 'I keep rediscovering this'.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftesseract\u002FSKILL.md",[],[156,161,162,163,35,164,165,30,134,166,167,168,169,170,171,172,173,27,174,175],"sessions","file","session","say","me","across","anchor","triggers","learned","problem","keep","you","morse","concept","for",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":41},"01M6K5TSVWXGRFMQTSM8VFSRDS","tdd","Invoke test-driven development as an explicit one-at-a-time micro-cycle — one test, one piece of functionality, refactor, then repeat for the next behavior","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftdd\u002FSKILL.md",[],[178,183,184,185,186,187,188,189,30,190,191,27,192,175],"test","development","micro","refactor","behavior","cycle","next","as","driven","at",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":199,"publishedAt":41},"01M6K5TP1KX237V9FDZ8PMNXH5","tdd-cat","TDD workflow with subagent-driven-development — \u002Ftdd composed with \u002Fcat, plus the A\u002FB TDD execution-mode axis (split-phase vs micro-cycle) asked as a third question in \u002Fcat's combined pre-dispatch question","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftdd-cat\u002FSKILL.md",[],[178,200,201,202,184,185,203,204,205,206,207,208,188,190,191,209,210,27,211],"cat","tdd cat","workflow","execution","tdd workflow","subagent","question","dispatch","task","with","split","mode",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":218,"publishedAt":41},"01M6K5TGDERXT82MS7SB3ZGA3V","task-list","TaskCreate \u002F TaskUpdate \u002F render the current TaskList in response to `\u002Ftask-list` (with or without flags). The skill body executes immediately on the syntax — no permission-seeking, no echoing the list back as plain text.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftask-list\u002FSKILL.md",[],[219,208,220,39,221,222,223,224,225,190,147,209,27,226],"list","task list","text","syntax","flags","back","permission","display",{"skillNo":228,"name":229,"nameZh":6,"description":230,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":231,"categories":232,"keywords":233,"publishedAt":41},"01M6K5T8CER0BAPJVJDG5F5GD0","sync","Sync files between two local directories, repos, or git worktrees. Five modes (plan\u002Finteractive\u002Fpush\u002Fpull\u002Fmirror), .gitignore-aware, Claude-workflow allowlist via --claude, dropbox-restore-style per-directory prompts.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Fsync\u002FSKILL.md",[],[229,202,234,235,236,237,238,239,240,241,242,243,244,245,246,247,27,211,248,249],"delete","pull","push","plan","interactive","git worktrees","files","restore","gitignore","local","dry","directories","yes","limit","mirror","modes"]