[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71ST57CBNNB713VGEN2EWBJ":3,"skill-same:01M71ST57CBNNB713VGEN2EWBJ":88},{"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":31,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":65,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M71ST57CBNNB713VGEN2EWBJ","skill-writing",null,"Create new agent skills following orc's house conventions and CI gates","HigorAlves\u002Forc","HigorAlves","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11262976?v=4","01M71S79EZEMHZ8PQSV0XQJHYY","Higor Alves","01M71S79FKKTCHCN1EDR8DSTWQ",7,"MIT","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fskill-writing\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"skill writing","writing","conventions","plugin","gates","use","trigger","for","evals","measurement","a skill","rate","tuning","create","when","new","ci","official","new agent","skill-creator","2026-11-10 13:02:02",false,"---\nname: skill-writing\ndescription: Create new agent skills following orc's house conventions and CI gates\nwhen_to_use: Use when creating, writing, or building a skill for THIS plugin. For skill evals, trigger-rate measurement, and description tuning, use the official skill-creator plugin.\n---\n\n# Write a Skill\n\nHouse conventions for skills in THIS plugin. The general doctrine of writing for agents — context pointers, the two loads, information hierarchy, completion criteria, leading words, pruning, invocation choice — lives in `orc:writing-for-agents` (and its [SKILL-MECHANICS.md](..\u002Fwriting-for-agents\u002Freferences\u002FSKILL-MECHANICS.md) for skill frontmatter mechanics and invocation choice). Read that first; this file adds only what is orc-specific.\n\n## The authoring standard\n\nEvery file follows [AUTHORING-STANDARD.md](references\u002FAUTHORING-STANDARD.md): the glossary as restricted vocabulary, no unapproved words, procedural steps of 15 words that open with a verb, notices before the step they guard, the task anatomy for commands, size caps (command 6 KB, agent 8 KB, skill 6 KB without `references\u002F`), and phase modules under `orc:phases`. `scripts\u002Fci\u002Fverify-ste.sh` enforces it as a ratchet; run it with `--report` to see the worst files and with `--update` after a rewrite.\n\n## Naming\n\n- Directory and `name` frontmatter must match exactly: kebab-case, ≤64 chars (`verify-frontmatter.sh` enforces this).\n- The `orc:\u003Cname>` namespace is shared between commands (`orc\u002Fcommands\u002F*.md`) and skills (`orc\u002Fskills\u002F*\u002F`). Before naming a skill, check both registers — a collision silently shadows one of the two.\n- Agents are `orc-` prefixed (`orc\u002Fagents\u002Forc-*.md`); skills and commands are not.\n\n## Description as trigger\n\nThe description is the skill's always-loaded context pointer — write it per `orc:writing-for-agents`, plus these house rules:\n\n- ≤1024 chars, single line, third person.\n- First sentence: what the skill does. Second sentence: \"Use when [specific triggers]\".\n- Cross-skill prose mentions use the `orc:\u003Cname>` form; only reference skills that actually exist in `orc\u002Fskills\u002F` (CI checks this).\n\n## The YAML colon-space trap\n\nDescriptions are single-line YAML scalars. An unquoted value containing colon-space (`: `) silently kills the whole frontmatter block — the skill loads with no metadata and never fires. Wrap the value in double quotes whenever it contains colon-space. Em-dashes are the house-preferred separator precisely because they dodge this.\n\n## Layout: progressive disclosure with references\u002F\n\n```\norc\u002Fskills\u002Fskill-name\u002F\n├── SKILL.md           # the top: steps + inline reference every branch needs\n└── references\u002F        # disclosed reference, reached by pointers from SKILL.md\n    └── TOPIC.md\n```\n\n- Disclosed files live under `references\u002F`, UPPERCASE names, linked as `[\u003CTOPIC>.md](references\u002F\u003CTOPIC>.md)`.\n- Cross-skill file links are relative: `..\u002F\u003Cother-skill>\u002Freferences\u002F\u003CTOPIC>.md`. Every concrete link must resolve on disk (CI checks this).\n- Scripts (when an operation is deterministic) go in `scripts\u002F` beside `references\u002F`.\n\n## Provenance frontmatter for vendored skills\n\nSkills vendored or derived from an external source carry provenance in frontmatter:\n\n```yaml\nlicense: MIT\nmetadata:\n  author: Matt Pocock\n  source: Vendored from https:\u002F\u002Fgithub.com\u002Fmattpocock\u002Fskills @ 5beb35b\n```\n\nUse `Vendored from … @ \u003Cpin>` for near-verbatim copies and `Derived from …` for forks that diverge. If a later merge adds material from a second upstream, extend `source` to name both.\n\n## CI gates a new skill must pass\n\nRun from the repo root before shipping:\n\n1. `scripts\u002Fci\u002Fverify-frontmatter.sh` — name\u002Fdir match, kebab-case, description present and ≤1024 chars.\n2. `scripts\u002Fci\u002Fverify-refs.sh` — every `orc:\u003Cname>` mention, `references\u002F*.md` link, relative `..\u002F\u003Cskill>\u002F…` link, and agent `skills:` entry resolves.\n3. `scripts\u002Fci\u002Fverify-counts.sh` — README, marketplace.json, and docs\u002Farchitecture.md counts; adding a skill changes the skill count, so update the prose these check.\n4. `claude plugin validate .\u002Forc --strict` — the strict plugin validation CI runs. Beware: validate can mask non-zero exit codes when chained; run it as its own command and check `$?` directly.\n","# Write a Skill\n\nHouse conventions for skills in THIS plugin. The general doctrine of writing for agents — context pointers, the two loads, information hierarchy, completion criteria, leading words, pruning, invocation choice — lives in `orc:writing-for-agents` (and its [SKILL-MECHANICS.md](..\u002Fwriting-for-agents\u002Freferences\u002FSKILL-MECHANICS.md) for skill frontmatter mechanics and invocation choice). Read that first; this file adds only what is orc-specific.\n\n## The authoring standard\n\nEvery file follows [AUTHORING-STANDARD.md](references\u002FAUTHORING-STANDARD.md): the glossary as restricted vocabulary, no unapproved words, procedural steps of 15 words that open with a verb, notices before the step they guard, the task anatomy for commands, size caps (command 6 KB, agent 8 KB, skill 6 KB without `references\u002F`), and phase modules under `orc:phases`. `scripts\u002Fci\u002Fverify-ste.sh` enforces it as a ratchet; run it with `--report` to see the worst files and with `--update` after a rewrite.\n\n## Naming\n\n- Directory and `name` frontmatter must match exactly: kebab-case, ≤64 chars (`verify-frontmatter.sh` enforces this).\n- The `orc:\u003Cname>` namespace is shared between commands (`orc\u002Fcommands\u002F*.md`) and skills (`orc\u002Fskills\u002F*\u002F`). Before naming a skill, check both registers — a collision silently shadows one of the two.\n- Agents are `orc-` prefixed (`orc\u002Fagents\u002Forc-*.md`); skills and commands are not.\n\n## Description as trigger\n\nThe description is the skill's always-loaded context pointer — write it per `orc:writing-for-agents`, plus these house rules:\n\n- ≤1024 chars, single line, third person.\n- First sentence: what the skill does. Second sentence: \"Use when [specific triggers]\".\n- Cross-skill prose mentions use the `orc:\u003Cname>` form; only reference skills that actually exist in `orc\u002Fskills\u002F` (CI checks this).\n\n## The YAML colon-space trap\n\nDescriptions are single-line YAML scalars. An unquoted value containing colon-space (`: `) silently kills the whole frontmatter block — the skill loads with no metadata and never fires. Wrap the value in double quotes whenever it contains colon-space. Em-dashes are the house-preferred separator precisely because they dodge this.\n\n## Layout: progressive disclosure with references\u002F\n\n```\norc\u002Fskills\u002Fskill-name\u002F\n├── SKILL.md           # the top: steps + inline reference every branch needs\n└── references\u002F        # disclosed reference, reached by pointers from SKILL.md\n    └── TOPIC.md\n```\n\n- Disclosed files live under `references\u002F`, UPPERCASE names, linked as `[\u003CTOPIC>.md](references\u002F\u003CTOPIC>.md)`.\n- Cross-skill file links are relative: `..\u002F\u003Cother-skill>\u002Freferences\u002F\u003CTOPIC>.md`. Every concrete link must resolve on disk (CI checks this).\n- Scripts (when an operation is deterministic) go in `scripts\u002F` beside `references\u002F`.\n\n## Provenance frontmatter for vendored skills\n\nSkills vendored or derived from an external source carry provenance in frontmatter:\n\n```yaml\nlicense: MIT\nmetadata:\n  author: Matt Pocock\n  source: Vendored from https:\u002F\u002Fgithub.com\u002Fmattpocock\u002Fskills @ 5beb35b\n```\n\nUse `Vendored from … @ \u003Cpin>` for near-verbatim copies and `Derived from …` for forks that diverge. If a later merge adds material from a second upstream, extend `source` to name both.\n\n## CI gates a new skill must pass\n\nRun from the repo root before shipping:\n\n1. `scripts\u002Fci\u002Fverify-frontmatter.sh` — name\u002Fdir match, kebab-case, description present and ≤1024 chars.\n2. `scripts\u002Fci\u002Fverify-refs.sh` — every `orc:\u003Cname>` mention, `references\u002F*.md` link, relative `..\u002F\u003Cskill>\u002F…` link, and agent `skills:` entry resolves.\n3. `scripts\u002Fci\u002Fverify-counts.sh` — README, marketplace.json, and docs\u002Farchitecture.md counts; adding a skill changes the skill count, so update the prose these check.\n4. `claude plugin validate .\u002Forc --strict` — the strict plugin validation CI runs. Beware: validate can mask non-zero exit codes when chained; run it as its own command and check `$?` directly.\n",{"name":5,"description":7,"when_to_use":57},"Use when creating, writing, or building a skill for THIS plugin. For skill evals, trigger-rate measurement, and description tuning, use the official skill-creator plugin.","main","7522fd7266944e30052204c2f6df287d8b5516be","orc\u002Fskills\u002Fskill-writing",0,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc","https:\u002F\u002Forc.novacstack.com\u002F","https:\u002F\u002Fgithub.com\u002FHigorAlves","higoralves.dev","Software Engineering","2026-11-07 07:26:38",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add HigorAlves\u002Forc --skill skill-writing",{"tool":74,"command":75},"bunx","bunx skills add HigorAlves\u002Forc --skill skill-writing",{"tool":77,"command":78},"pnpm","pnpm dlx skills add HigorAlves\u002Forc --skill skill-writing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fskill-writing\u002FSKILL.md",true,[82],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002FAUTHORING-STANDARD.md","REFERENCE","参考文档",8754,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fskill-writing\u002Freferences\u002FAUTHORING-STANDARD.md",[89,117,139,160,182,202],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":52},"01M71SW40F9TAAEDKBYYBCM814","writing-plans","Write a comprehensive implementation plan of bite-sized TDD tasks that an engineer with zero codebase context could execute — exact files, code, tests, and verification steps","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[95,96,99],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":97,"categoryName":98,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[33,101,102,103,104,105,106,46,107,108,109,110,111,112,113,114,115,39,116,37],"writing plans","plans","engineer","superpowers","implementation plan","files","you","code","tasks","verification","plan","write","steps","context","ZeRO","tests",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":126,"publishedAt":52},"01M71SW15KHE4MHJW9NEXV65X2","writing-for-agents","orc's doctrine layer for writing any document an agent consumes — skills, AGENTS.md\u002FCLAUDE.md, reference docs","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[123,124,125],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[127,33,39,128,46,129,44,42,130,131,132,133,37,134,135,136,137,138],"writing for agents","matt pocock","inline","layer","doctrine","push","editing","document","github","https","reference","docs",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":52},"01M71SVYQKXT743HHHWGHT3G13","workspace-mode","Use when cwd is a parent dir holding multiple sibling git repos — defines repo auto-detection, --repos\u002F--repo\u002F--all-repos\u002F--this-repo precedence, per-repo dispatch, and linked-PR mechanics.","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fworkspace-mode\u002FSKILL.md",[145],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[147,148,149,150,151,46,152,153,154,155,37,156,157,158,159],"workspace mode","mode","workspace","mechanics","auto","repos","git","pr","repo","dispatch","auto-detection","detection","parent",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":52},"01M71SVVP3BXS06G9395P2K0RH","wizard","Generate an interactive bash wizard walking a human through work only they can perform — credentials, secrets, one-off migrations","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwizard\u002FSKILL.md",[166],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[162,168,169,170,171,128,46,172,173,174,175,176,177,113,178,179,39,37,180,181],"condition","never","provisioning infrastructure","only","Bash","work","credentials","generate","human","secrets","infrastructure","do","one","interactive",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":52},"01M71SVT4AR6NKAM5B077E7QSJ","wait-what","Stop and re-pitch — the last message did not land; say it again simply, in the project's own vocabulary.","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[189,190,191,192,193,128,194,195,196,197,135,136,198,199,200,201],"wait what","wait","project","re","true","pitch","last","say","message","land","it","stop","vocabulary",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":212,"publishedAt":52},"01M71SVQVYRA9QBQ6G8MWR8G6F","vitest","Vitest fast unit testing framework powered by Vite with Jest-compatible API","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fvitest\u002FSKILL.md",[208,211],{"categoryNo":209,"categoryName":210,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":97,"categoryName":98,"taxonomyType":29,"taxonomyTypeDesc":30},[204,213,214,215,216,217,33,46,218,219,220,221,222,223,224,225,226,227,116,228],"coverage","unit","testing","testing framework","generated","api","jest","2026","at","scripts","unit testing","antfu","framework","vite","mocking","dev"]