[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H48E4TMV89J7T5E9GX2ACX":3,"skill-same:01M6H48E4TMV89J7T5E9GX2ACX":92},{"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":54,"linkOnly":55,"markdownContent":56,"markdownBody":57,"frontMatter":58,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":62,"repositoryHtmlUrl":63,"repositoryHomepageUrl":64,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":6,"updatedAt":67,"install":68,"resources":81},"01M6H48E4TMV89J7T5E9GX2ACX","skill-creator",null,"Author agent skills conforming to the agentskills.io spec - SKILL.md format, frontmatter fields, directory layout, reference docs, and progressive disclosure patterns. Use when writing, reviewing or improving a skill, including whether its description will make agents load it.","eyelock\u002Fassistants","eyelock","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1277325?v=4","01M6H423MGYJ0P316VZ2MMH75N","David Collie","01M6H423RR18QA9N8S2F3J8S8X",1,"MIT","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fdev\u002Fskills\u002Fskill-creator\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,52,53],"skill creator","creator","when","writing","fields","author","progressive disclosure","frontmatter","load","make","it","io","layout","agentskills","patterns","io spec","reference","use","format","docs","spec","directory","2026-11-10 10:12:30",false,"---\nname: skill-creator\ndescription: Author agent skills conforming to the agentskills.io spec - SKILL.md format, frontmatter fields, directory layout, reference docs, and progressive disclosure patterns. Use when writing, reviewing or improving a skill, including whether its description will make agents load it.\n---\n\n# Skill Creator\n\nBefore authoring or modifying any skill, read the canonical specification:\n\n**https:\u002F\u002Fagentskills.io\u002F**\n\nIt defines the full SKILL.md format, frontmatter schema, directory layout, and how agents discover and invoke skills.\n\n## SKILL.md Structure\n\nEvery skill entry point is a `SKILL.md` file with YAML frontmatter followed by Markdown content:\n\n```markdown\n---\nname: my-skill\ndescription: One sentence — what this skill does and when to use it.\nallowed-tools: Bash Read Grep\n---\n\n# Skill Title\n\nSkill content here.\n```\n\n**Required frontmatter fields:**\n- `name` — machine-readable identifier, kebab-case, matches the directory name\n- `description` — one sentence used for skill discovery; be specific about *when* to load it\n\n**Optional frontmatter fields:**\n- `allowed-tools` — space-separated list of tools this skill may use\n\nLeave out `metadata` and `license` in a skill that ships in a plugin: Claude Code's plugin loader demotes a skill with either key to a ~10-token stub, so it installs and never fires (`ynd lint` flags this). Keep version and authorship in the plugin manifest instead.\n\n## Directory Layout\n\n```\nmy-skill\u002F\n├── SKILL.md          ← entry point, always loaded first\n├── references\u002F       ← supporting docs, loaded on demand\n│   ├── topic-a.md\n│   └── topic-b.md\n├── scripts\u002F          ← executable helpers, must be chmod +x\n│   └── do-thing.sh\n└── assets\u002F           ← templates, config samples, static files\n    └── template.yml\n```\n\n**Rules:**\n- Skills must be self-contained within their directory — no absolute paths, no sibling directory references\n- `references\u002F` files are not auto-loaded — the skill content must explicitly direct the agent to read them\n- Scripts must be co-located and executable; reference them as `scripts\u002Fname.sh` relative to the skill dir\n- `assets\u002F` holds static content the skill reads or copies, not code\n\n## Writing Effective Skill Content\n\n**Lead with the job, not the theory.** The first section should tell the agent what to do, not explain background.\n\n**Use progressive disclosure.** Put the 20% of guidance that covers 80% of cases in `SKILL.md`. Move deep reference material into `references\u002F`, one file per topic. `references\u002F` files are never loaded automatically, so link each one from `SKILL.md` with a relative path and say when to read it:\n\n```markdown\nBefore designing a retry loop, read [concurrency.md](references\u002Fconcurrency.md).\n```\n\nA reference that `SKILL.md` never names is invisible to the agent.\n\n**Be prescriptive, not descriptive.** Skills tell agents what to do. Avoid phrasing like \"you might consider\" — write \"do X\" or \"never do Y\".\n\n**Tables for lookup content.** Mapping tables (commands, flags, status codes, format rules) are faster to scan than prose.\n\n**Keep SKILL.md under ~150 lines.** The whole file enters the context every time the skill loads, so length there costs on every use and buries the rules that matter. Keep the essentials (the steps, the most-used rules, the checklist) and split the rest into references.\n\n**When asked to paste a long document whole into SKILL.md,** do not comply silently. Say what it costs (every line loads on every use, and the key rules get lost in it), and how the agent still gets the rest (it reads a reference when `SKILL.md` points to it, and only then, so each link says when), then propose the split and draft it: a short `SKILL.md` with the essentials and a link to each reference, plus the `references\u002F` files holding the rest of the document, nothing dropped. If the user still wants one file after hearing that, it is their call.\n\n## Assembly Behaviour (ynh)\n\nWhen a harness is resolved, ynh copies skill directories into the vendor's config dir at run time — e.g. `.claude\u002Fskills\u002F\u003Cname>\u002F` for Claude Code. This means:\n\n- All paths inside skill content must be relative to the skill directory\n- The `SKILL.md` is always the entry point; agents read it first\n- Reference files are available at the same relative paths once assembled\n- Scripts are copied with permissions preserved — ensure they are executable in the repo\n\n## Checklist Before Publishing\n\n- [ ] `name` in frontmatter matches the directory name\n- [ ] `description` answers \"when should an agent load this?\"\n- [ ] All referenced files exist at the correct relative paths\n- [ ] Every `references\u002F` file is linked from `SKILL.md`, with when to read it\n- [ ] Scripts are executable (`chmod +x`)\n- [ ] No absolute paths anywhere in the skill content\n- [ ] `SKILL.md` is under ~150 lines; deep content is in `references\u002F`\n- [ ] Skill is self-contained — no dependency on sibling skills or external state\n","# Skill Creator\n\nBefore authoring or modifying any skill, read the canonical specification:\n\n**https:\u002F\u002Fagentskills.io\u002F**\n\nIt defines the full SKILL.md format, frontmatter schema, directory layout, and how agents discover and invoke skills.\n\n## SKILL.md Structure\n\nEvery skill entry point is a `SKILL.md` file with YAML frontmatter followed by Markdown content:\n\n```markdown\n---\nname: my-skill\ndescription: One sentence — what this skill does and when to use it.\nallowed-tools: Bash Read Grep\n---\n\n# Skill Title\n\nSkill content here.\n```\n\n**Required frontmatter fields:**\n- `name` — machine-readable identifier, kebab-case, matches the directory name\n- `description` — one sentence used for skill discovery; be specific about *when* to load it\n\n**Optional frontmatter fields:**\n- `allowed-tools` — space-separated list of tools this skill may use\n\nLeave out `metadata` and `license` in a skill that ships in a plugin: Claude Code's plugin loader demotes a skill with either key to a ~10-token stub, so it installs and never fires (`ynd lint` flags this). Keep version and authorship in the plugin manifest instead.\n\n## Directory Layout\n\n```\nmy-skill\u002F\n├── SKILL.md          ← entry point, always loaded first\n├── references\u002F       ← supporting docs, loaded on demand\n│   ├── topic-a.md\n│   └── topic-b.md\n├── scripts\u002F          ← executable helpers, must be chmod +x\n│   └── do-thing.sh\n└── assets\u002F           ← templates, config samples, static files\n    └── template.yml\n```\n\n**Rules:**\n- Skills must be self-contained within their directory — no absolute paths, no sibling directory references\n- `references\u002F` files are not auto-loaded — the skill content must explicitly direct the agent to read them\n- Scripts must be co-located and executable; reference them as `scripts\u002Fname.sh` relative to the skill dir\n- `assets\u002F` holds static content the skill reads or copies, not code\n\n## Writing Effective Skill Content\n\n**Lead with the job, not the theory.** The first section should tell the agent what to do, not explain background.\n\n**Use progressive disclosure.** Put the 20% of guidance that covers 80% of cases in `SKILL.md`. Move deep reference material into `references\u002F`, one file per topic. `references\u002F` files are never loaded automatically, so link each one from `SKILL.md` with a relative path and say when to read it:\n\n```markdown\nBefore designing a retry loop, read [concurrency.md](references\u002Fconcurrency.md).\n```\n\nA reference that `SKILL.md` never names is invisible to the agent.\n\n**Be prescriptive, not descriptive.** Skills tell agents what to do. Avoid phrasing like \"you might consider\" — write \"do X\" or \"never do Y\".\n\n**Tables for lookup content.** Mapping tables (commands, flags, status codes, format rules) are faster to scan than prose.\n\n**Keep SKILL.md under ~150 lines.** The whole file enters the context every time the skill loads, so length there costs on every use and buries the rules that matter. Keep the essentials (the steps, the most-used rules, the checklist) and split the rest into references.\n\n**When asked to paste a long document whole into SKILL.md,** do not comply silently. Say what it costs (every line loads on every use, and the key rules get lost in it), and how the agent still gets the rest (it reads a reference when `SKILL.md` points to it, and only then, so each link says when), then propose the split and draft it: a short `SKILL.md` with the essentials and a link to each reference, plus the `references\u002F` files holding the rest of the document, nothing dropped. If the user still wants one file after hearing that, it is their call.\n\n## Assembly Behaviour (ynh)\n\nWhen a harness is resolved, ynh copies skill directories into the vendor's config dir at run time — e.g. `.claude\u002Fskills\u002F\u003Cname>\u002F` for Claude Code. This means:\n\n- All paths inside skill content must be relative to the skill directory\n- The `SKILL.md` is always the entry point; agents read it first\n- Reference files are available at the same relative paths once assembled\n- Scripts are copied with permissions preserved — ensure they are executable in the repo\n\n## Checklist Before Publishing\n\n- [ ] `name` in frontmatter matches the directory name\n- [ ] `description` answers \"when should an agent load this?\"\n- [ ] All referenced files exist at the correct relative paths\n- [ ] Every `references\u002F` file is linked from `SKILL.md`, with when to read it\n- [ ] Scripts are executable (`chmod +x`)\n- [ ] No absolute paths anywhere in the skill content\n- [ ] `SKILL.md` is under ~150 lines; deep content is in `references\u002F`\n- [ ] Skill is self-contained — no dependency on sibling skills or external state\n",{"name":5,"description":7},"develop","5f79513fe27520bf03af784e8df568a04931c48d","skills\u002Fdev\u002Fskills\u002Fskill-creator",0,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants","https:\u002F\u002Feyelock.github.io\u002Fassistants\u002F","https:\u002F\u002Fgithub.com\u002Feyelock","http:\u002F\u002Fwww.eyelock.net\u002Fblog","2026-11-14 00:30:01",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add eyelock\u002Fassistants --skill skill-creator",{"tool":74,"command":75},"bunx","bunx skills add eyelock\u002Fassistants --skill skill-creator",{"tool":77,"command":78},"pnpm","pnpm dlx skills add eyelock\u002Fassistants --skill skill-creator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fdev\u002Fskills\u002Fskill-creator\u002FSKILL.md",true,[82,88],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"evals\u002Feval_queries.json","REFERENCE","参考文档",897,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fdev\u002Fskills\u002Fskill-creator\u002Fevals\u002Feval_queries.json",{"path":89,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":90,"sourceHtmlUrl":91},"evals\u002Fevals.json",4999,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fdev\u002Fskills\u002Fskill-creator\u002Fevals\u002Fevals.json",[93,99,124,141,154,167],{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":54},"01M6H46CHAJFE20J3Q118P9PW9","doctor","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fwheelhouse\u002Fskills\u002Fdoctor\u002FSKILL.md",[],[95],{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":54},"01M6H45X8QJZTQAPN56WZ8V111","add-seat","Add a named seat to a Wheelhouse - a crew member, a standing role (such as a dispatcher) or a worker - as a ynh harness with its charter, standing orders and only the tools its job needs, named from the Wheelhouse's roster. Use when asked to add, create or set up a seat, role, worker or agent in a Wheelhouse (a release manager, a PR watcher, a dispatcher, a designer, more workers), or to give a role a name, or to start on a Wheelhouse's team (its starter team), one role at a time. Also use to trial, make official or drop a seat.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fwheelhouse\u002Fskills\u002Fadd-seat\u002FSKILL.md",[],[106,107,108,109,110,49,111,112,113,114,115,116,117,34,118,119,120,121,122,123],"add","add seat","harness","SET","roster","release manager","workers","team","with","create","watcher","starter","more","worker","up","only","pr","as",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":54},"01M6H4BWCVR2YJVP8RW878NYDP","voice","How voices work - what a voice skill contains, how to write a new one, and how several voices compose into one reply. Use whenever drafting a reply in a named voice, or when asked to create or change a voice.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice\u002FSKILL.md",[],[126,115,131,132,133,134,49,135,136,137,138,139,34,140],"how to","work","change","voice skill","compose","how","write","reply","new","drafting",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":54},"01M6H4BRVA87C6T495HCFNDQ7Z","voice-warm","A friendly voice that acknowledges the person and their effort. Compose with direct for friendly but brief.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-warm\u002FSKILL.md",[],[148,126,149,114,150,135,151,152,153],"voice warm","person","brief","direct","for","but",{"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":54},"01M6H4BNFQ64X65YZDM9QMD61B","voice-formal","A careful, complete voice for people outside the team - customers, partners, senior stakeholders.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-formal\u002FSKILL.md",[],[161,126,113,162,163,164,165,166,152],"voice formal","complete","senior","careful","partners","people",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":54},"01M6H4BHXE6KSNBY92TBFZY7QD","voice-direct","A plain, brief voice that leads with the answer. The default when no voice is named.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-direct\u002FSKILL.md",[],[174,151,126,114,150,175,176,177,34,178],"voice direct","leads","answer","default","plain"]