[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CF4PYCWC9RXJ3336F4QK2H":3,"skill-same:01M6CF4PYCWC9RXJ3336F4QK2H":126},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6CF4PYCWC9RXJ3336F4QK2H","doctrine",null,"The operating doctrine, self-contained in this folder. Invoke BEFORE - delegating work to a subagent via the Agent tool (picking model tier, writing the dispatch prompt) or handling a subagent that failed (escalate\u002Fde-escalate); deciding whether to retry, escalate, switch approach, or ask the user; reporting a nontrivial task complete (the done-gate); editing this doctrine or CLAUDE.md; recording a lesson about the harness.","telagod\u002Fcode-abyss","telagod","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F39987513?v=4","01M6CF4EH93PP5CWH3J34Z66DP","01M6CF4EN6W4QFXK3PRE9W29X8",244,"MIT","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"writing","harness","reporting","subagent","tool","model","work","editing","prompt","ask","user","dispatch","gate","switch","2026-11-10 10:12:30",false,"---\nuser-invocable: false\nname: doctrine\ndescription: The operating doctrine, self-contained in this folder. Invoke BEFORE - delegating work to a subagent via the Agent tool (picking model tier, writing the dispatch prompt) or handling a subagent that failed (escalate\u002Fde-escalate); deciding whether to retry, escalate, switch approach, or ask the user; reporting a nontrivial task complete (the done-gate); editing this doctrine or CLAUDE.md; recording a lesson about the harness.\n---\n\n# Doctrine — the operating institution, one folder\n\nAll referenced files live in **this skill's folder**; read them with relative paths from here.\nThe three always-on laws live in the user's `~\u002F.claude\u002FCLAUDE.md` router; this bundle carries\nthe depth. Content lives in the numbered files — this SKILL.md only routes; never duplicate\nrule text into it.\n\n## Route by moment\n\n| Moment | Read (in this folder) |\n|---|---|\n| About to delegate \u002F pick a model tier \u002F a subagent failed | `01-model-dispatch.md`, then fill a template from `03-delegation-templates.md` |\n| Retry? escalate? done? ask the user? direction feels wrong? | `02-judgment.md` — five rubrics, each with a right and wrong example |\n| About to claim a nontrivial task is done | `02-judgment.md` Rubric 2 (the done-gate) — every box, before you say \"done\" |\n| Editing any file here or `CLAUDE.md`; recording a lesson | `04-maintenance.md` — preserve history first (git commit or backup), self-edit boundaries, formats |\n| Confused by the harness itself | `06-lessons.md` first (it may already be paid for), then `00-diagnosis.md` |\n| First session in a new environment, or sharing this bundle | `INSTALL.md` |\n| Why these rules exist; environment-specific warnings | `00-diagnosis.md`, `05-letter.md` |\n\n## Dispatch pre-send checklist (all four, or don't send)\n\n- [ ] Goal + motive, acceptance criteria, report format all present (the dispatch triple, `01`).\n- [ ] `model` chosen explicitly — mechanical→`haiku`, default→`sonnet`, hard→`opus` — not defaulted.\n- [ ] Absolute paths and exact symbols named — the subagent has zero of your context.\n- [ ] Long outputs directed to a file, path returned — never pasted back into the conversation.\n\n## Quick reference\n\n```\nWould raw output ≫ the answer?           → delegate (Explore for read-only searches)\nEvery dispatch: goal+motive \u002F accept \u002F report-format\nModel:  mechanical→haiku  default→sonnet  hard→opus  hardest→fable (if available — see 01)\nFail:   small errs once→up   mid fails 2×→opus+trace   solved→down   2 escalation rounds max\nReport: conclusion first · file:line · big artifact→file+path · blocked→say why\nVerify: fresh context · read-back files · run code · refute high-stakes\n```\n","# Doctrine — the operating institution, one folder\n\nAll referenced files live in **this skill's folder**; read them with relative paths from here.\nThe three always-on laws live in the user's `~\u002F.claude\u002FCLAUDE.md` router; this bundle carries\nthe depth. Content lives in the numbered files — this SKILL.md only routes; never duplicate\nrule text into it.\n\n## Route by moment\n\n| Moment | Read (in this folder) |\n|---|---|\n| About to delegate \u002F pick a model tier \u002F a subagent failed | `01-model-dispatch.md`, then fill a template from `03-delegation-templates.md` |\n| Retry? escalate? done? ask the user? direction feels wrong? | `02-judgment.md` — five rubrics, each with a right and wrong example |\n| About to claim a nontrivial task is done | `02-judgment.md` Rubric 2 (the done-gate) — every box, before you say \"done\" |\n| Editing any file here or `CLAUDE.md`; recording a lesson | `04-maintenance.md` — preserve history first (git commit or backup), self-edit boundaries, formats |\n| Confused by the harness itself | `06-lessons.md` first (it may already be paid for), then `00-diagnosis.md` |\n| First session in a new environment, or sharing this bundle | `INSTALL.md` |\n| Why these rules exist; environment-specific warnings | `00-diagnosis.md`, `05-letter.md` |\n\n## Dispatch pre-send checklist (all four, or don't send)\n\n- [ ] Goal + motive, acceptance criteria, report format all present (the dispatch triple, `01`).\n- [ ] `model` chosen explicitly — mechanical→`haiku`, default→`sonnet`, hard→`opus` — not defaulted.\n- [ ] Absolute paths and exact symbols named — the subagent has zero of your context.\n- [ ] Long outputs directed to a file, path returned — never pasted back into the conversation.\n\n## Quick reference\n\n```\nWould raw output ≫ the answer?           → delegate (Explore for read-only searches)\nEvery dispatch: goal+motive \u002F accept \u002F report-format\nModel:  mechanical→haiku  default→sonnet  hard→opus  hardest→fable (if available — see 01)\nFail:   small errs once→up   mid fails 2×→opus+trace   solved→down   2 escalation rounds max\nReport: conclusion first · file:line · big artifact→file+path · blocked→say why\nVerify: fresh context · read-back files · run code · refute high-stakes\n```\n",{"name":5,"description":7,"user-invocable":38},"main","2544577cf03a67522466450000731e52c64a5184","skills\u002F_kernel\u002Fdoctrine",35,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcode-abyss","https:\u002F\u002Fgithub.com\u002Ftelagod","2026-07-19 23:15:32",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add telagod\u002Fcode-abyss --skill doctrine",{"tool":56,"command":57},"bunx","bunx skills add telagod\u002Fcode-abyss --skill doctrine",{"tool":59,"command":60},"pnpm","pnpm dlx skills add telagod\u002Fcode-abyss --skill doctrine","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002FSKILL.md",true,[64,70,74,78,82,86,90,94,98,104,108,112,118,122],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"00-diagnosis.md","REFERENCE","参考文档",7254,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F00-diagnosis.md",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"01-model-dispatch.md",9937,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F01-model-dispatch.md",{"path":75,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":76,"sourceHtmlUrl":77},"02-judgment.md",8960,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F02-judgment.md",{"path":79,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":80,"sourceHtmlUrl":81},"03-delegation-templates.md",6303,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F03-delegation-templates.md",{"path":83,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":84,"sourceHtmlUrl":85},"04-maintenance.md",6774,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F04-maintenance.md",{"path":87,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":88,"sourceHtmlUrl":89},"05-letter.md",6365,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F05-letter.md",{"path":91,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":92,"sourceHtmlUrl":93},"06-lessons.md",5305,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002F06-lessons.md",{"path":95,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":96,"sourceHtmlUrl":97},"INSTALL.md",2734,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002F_kernel\u002Fdoctrine\u002FINSTALL.md",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"LICENSE.txt","LICENSE","许可证",11357,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fhot-skills\u002Fskills\u002Fskill-creator\u002FLICENSE.txt",{"path":105,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Foutput-patterns.md",1813,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fhot-skills\u002Fskills\u002Fskill-creator\u002Freferences\u002Foutput-patterns.md",{"path":109,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Fworkflows.md",818,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fhot-skills\u002Fskills\u002Fskill-creator\u002Freferences\u002Fworkflows.md",{"path":113,"resourceType":114,"resourceTypeDesc":115,"sizeBytes":116,"sourceHtmlUrl":117},"scripts\u002Finit_skill.py","SCRIPT","脚本",10863,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fhot-skills\u002Fskills\u002Fskill-creator\u002Fscripts\u002Finit_skill.py",{"path":119,"resourceType":114,"resourceTypeDesc":115,"sizeBytes":120,"sourceHtmlUrl":121},"scripts\u002Fpackage_skill.py",3288,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fhot-skills\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fpackage_skill.py",{"path":123,"resourceType":114,"resourceTypeDesc":115,"sizeBytes":124,"sourceHtmlUrl":125},"scripts\u002Fquick_validate.py",3523,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fhot-skills\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fquick_validate.py",[127,134,142,149,159,169],{"skillNo":128,"name":129,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":37},"01M6CF94Y2R0JYCS270NC9BKM5","parse-error","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fparse-error\u002Ftools\u002Fparse-error\u002FSKILL.md",[],[133],"parse error",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":37},"01M6CF925B128W5YAHWVYSJQTG","multi-script","too many scripts","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fmulti-script\u002Ftools\u002Fmulti-script\u002FSKILL.md",[],[141],"multi script",{"skillNo":143,"name":144,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":37},"01M6CF8ZYT3KZ4ZZAATFJH0DV4","missing-description","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fmissing-description\u002Ftools\u002Fmissing-description\u002FSKILL.md",[],[148],"missing description",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":37},"01M6CF8XB2Z8NAPYW3W7S7KW1S","invalid-tools","invalid tool name","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Finvalid-tools\u002Ftools\u002Finvalid-tools\u002FSKILL.md",[],[156,157,158,27],"Tools","invalid tools","Bash",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":166,"publishedAt":37},"01M6CF8TTPYFV83HSF057F95QM","clash-skill","first duplicate","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fduplicate\u002Ftools\u002Falpha\u002FSKILL.md",[165],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[167,168],"clash skill","first",{"skillNo":170,"name":161,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":175,"publishedAt":37},"01M6CF8RAHFEPXNB6SWBR2T49M","second duplicate","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fduplicate\u002Fdomains\u002Falpha\u002FSKILL.md",[174],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[167]]