[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS3M05K0V19EAS2KTYJ975":3,"skill-same:01M6CS3M05K0V19EAS2KTYJ975":72},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6CS3M05K0V19EAS2KTYJ975","skill-management",null,"Self-documentation for Claude Code. MUST READ after implementing complex features, making structural changes, or learning non-obvious patterns that would be useful in future sessions. Covers: when to create or update .agents\u002Fskills\u002F files, what belongs in a skill vs CLAUDE.md vs auto-memory, the skill file format, and the maintenance checklist to run before finishing work.","mrtolkien\u002FGHOST","mrtolkien","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8489650?v=4","01M6CS32Q934XBQQE8BDV5Z6W2","Tolki","01M6CS32VBCD47F5E27WF9W6FC",5,"MIT","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fskill-management\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,41,42,43],"skill management","management","work","self","patterns","checklist","files","maintenance","auto","read","memory","format","learning","file","code","update","run","create","documentation","sessions","2026-11-10 10:12:30",false,"---\nname: skill-management\ndescription: >-\n  Self-documentation for Claude Code. MUST READ after implementing complex features,\n  making structural changes, or learning non-obvious patterns that would be useful in\n  future sessions. Covers: when to create or update .agents\u002Fskills\u002F files, what belongs\n  in a skill vs CLAUDE.md vs auto-memory, the skill file format, and the maintenance\n  checklist to run before finishing work.\n---\n\n# Self-Documentation\n\nYou (Claude Code) are the primary consumer of `.agents\u002Fskills\u002F`. These files are your\npersistent knowledge base for working on this codebase. They survive across sessions and\nmake you effective from the first turn.\n\n**Core principle**: whenever you learn something useful that doesn't belong in\nCLAUDE.md, capture it in a skill so your future self doesn't have to rediscover it.\n\n## When to Create or Update a Skill\n\n### After implementing a complex feature\n\nIf the feature has conventions, multi-file coordination, or non-obvious rules — write\nthem down. Examples of things that warranted a skill:\n\n- Testing harness (`\u002Ftesting`) — helpers, mock types, readability rules\n- Tracing (`\u002Ftracing`) — span naming, OTel conventions, `#[instrument]` patterns\n- Lua scripting (`\u002Flua-scripting`) — host globals, ctx bindings, sandbox rules\n- E2e tests (`\u002Fe2e-testing`) — fixture layout, step chaining, iteration workflow\n\n### After making structural changes\n\nIf you moved files, renamed types, changed module boundaries, or altered a subsystem's\npublic API — check if an existing skill references the old names and update it.\n\n### After debugging a non-obvious issue\n\nIf you spent significant effort diagnosing something (e.g., \"reqwest 0.13 renamed\n`rustls-tls` to `rustls`\"), that's worth capturing. Future sessions shouldn't repeat the\ninvestigation.\n\n### After discovering a pattern the codebase relies on\n\nIf you notice the codebase consistently follows a convention that isn't documented\nanywhere (e.g., \"all provider errors use retry-after headers\"), write it down.\n\n## What Goes Where\n\n| Content                                        | Destination                      | Why                                |\n| ---------------------------------------------- | -------------------------------- | ---------------------------------- |\n| Project-wide rules everyone must follow        | `CLAUDE.md`                      | Always loaded, high visibility     |\n| Subsystem-specific conventions & API reference | `.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md` | Loaded on demand via `\u002Fskill-name` |\n| Session-specific context, task state           | Auto-memory (`memory\u002FMEMORY.md`) | Lightweight, auto-managed          |\n| Operator-facing workflows for the GHOST        | `prompts\u002Fskills\u002F\u003Cname>.md`       | Embedded in binary, for runtime    |\n\n**Rule of thumb**: if the information is needed _every_ session, it goes in CLAUDE.md.\nIf it's needed _when working on a specific subsystem_, it goes in a skill. If it's\nephemeral or speculative, it goes in auto-memory (or nowhere).\n\n## Skill File Format\n\nDeveloper skills live in `.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md`:\n\n```markdown\n---\nname: skill-name\ndescription: >-\n  One paragraph. Start with what it covers. Then say WHEN to read it (triggers). The\n  description is shown in the skill list — make it specific enough that you know when to\n  load the full file. Under 1024 chars.\n---\n\n# Title\n\n## Section — concrete rules, tables, code examples\n```\n\n### Description triggers\n\nThe `description` field is what you see in the skill list. Write it so you'll know to\nload the skill at the right time. Good triggers:\n\n- \"MUST READ before modifying anything in src\u002Fscripting\u002F\"\n- \"MUST READ before writing or modifying any test\"\n- \"MUST READ after implementing complex features or making structural changes\"\n\n### Content guidelines\n\n- **File paths** — which files to read\u002Fmodify for this subsystem\n- **Contracts** — data formats, type shapes, naming conventions\n- **Do\u002FDon't rules** — concrete, actionable, with rationale\n- **Patterns** — recurring code shapes with short examples\n- **Gotchas** — non-obvious behaviors, known failure modes, migration notes\n- Keep skills **under 500 lines**. Split if needed (`testing` + `e2e-testing`).\n- Use lowercase kebab-case names: `lua-scripting`, `e2e-testing`\n\n## Runtime Skills (for the GHOST, not for you)\n\nThe GHOST runtime also has skills in `prompts\u002Fskills\u002F`. These teach the GHOST how to\nperform operator tasks. Some are symlinked into `.agents\u002Fskills\u002F` so you can read them\ntoo (e.g., `agent-creator`).\n\n| Directory         | Audience          | Loaded by                                             |\n| ----------------- | ----------------- | ----------------------------------------------------- |\n| `prompts\u002Fskills\u002F` | GHOST runtime     | Embedded in binary, installed to `$WORKSPACE\u002Fskills\u002F` |\n| `.agents\u002Fskills\u002F` | Claude Code (you) | Read via `\u002Fskill-name` in sessions                    |\n\nWhen modifying a runtime skill, remember it gets compiled into the binary via\n`include_str!()` in `src\u002Fskills.rs`.\n\n## Maintenance Checklist\n\nRun this mentally before finishing any significant PR:\n\n1. **Did I change a subsystem that has a skill?** Grep:\n   `rg \"file_or_type_I_changed\" .agents\u002Fskills\u002F`. Update any stale references.\n2. **Did I learn something non-obvious?** If yes, does it belong in an existing skill or\n   a new one?\n3. **Are the description triggers still accurate?** Would you find the right skill when\n   working on this feature next time?\n4. **Remove stale content** — delete sections about removed features, don't comment them\n   out.\n","# Self-Documentation\n\nYou (Claude Code) are the primary consumer of `.agents\u002Fskills\u002F`. These files are your\npersistent knowledge base for working on this codebase. They survive across sessions and\nmake you effective from the first turn.\n\n**Core principle**: whenever you learn something useful that doesn't belong in\nCLAUDE.md, capture it in a skill so your future self doesn't have to rediscover it.\n\n## When to Create or Update a Skill\n\n### After implementing a complex feature\n\nIf the feature has conventions, multi-file coordination, or non-obvious rules — write\nthem down. Examples of things that warranted a skill:\n\n- Testing harness (`\u002Ftesting`) — helpers, mock types, readability rules\n- Tracing (`\u002Ftracing`) — span naming, OTel conventions, `#[instrument]` patterns\n- Lua scripting (`\u002Flua-scripting`) — host globals, ctx bindings, sandbox rules\n- E2e tests (`\u002Fe2e-testing`) — fixture layout, step chaining, iteration workflow\n\n### After making structural changes\n\nIf you moved files, renamed types, changed module boundaries, or altered a subsystem's\npublic API — check if an existing skill references the old names and update it.\n\n### After debugging a non-obvious issue\n\nIf you spent significant effort diagnosing something (e.g., \"reqwest 0.13 renamed\n`rustls-tls` to `rustls`\"), that's worth capturing. Future sessions shouldn't repeat the\ninvestigation.\n\n### After discovering a pattern the codebase relies on\n\nIf you notice the codebase consistently follows a convention that isn't documented\nanywhere (e.g., \"all provider errors use retry-after headers\"), write it down.\n\n## What Goes Where\n\n| Content                                        | Destination                      | Why                                |\n| ---------------------------------------------- | -------------------------------- | ---------------------------------- |\n| Project-wide rules everyone must follow        | `CLAUDE.md`                      | Always loaded, high visibility     |\n| Subsystem-specific conventions & API reference | `.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md` | Loaded on demand via `\u002Fskill-name` |\n| Session-specific context, task state           | Auto-memory (`memory\u002FMEMORY.md`) | Lightweight, auto-managed          |\n| Operator-facing workflows for the GHOST        | `prompts\u002Fskills\u002F\u003Cname>.md`       | Embedded in binary, for runtime    |\n\n**Rule of thumb**: if the information is needed _every_ session, it goes in CLAUDE.md.\nIf it's needed _when working on a specific subsystem_, it goes in a skill. If it's\nephemeral or speculative, it goes in auto-memory (or nowhere).\n\n## Skill File Format\n\nDeveloper skills live in `.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md`:\n\n```markdown\n---\nname: skill-name\ndescription: >-\n  One paragraph. Start with what it covers. Then say WHEN to read it (triggers). The\n  description is shown in the skill list — make it specific enough that you know when to\n  load the full file. Under 1024 chars.\n---\n\n# Title\n\n## Section — concrete rules, tables, code examples\n```\n\n### Description triggers\n\nThe `description` field is what you see in the skill list. Write it so you'll know to\nload the skill at the right time. Good triggers:\n\n- \"MUST READ before modifying anything in src\u002Fscripting\u002F\"\n- \"MUST READ before writing or modifying any test\"\n- \"MUST READ after implementing complex features or making structural changes\"\n\n### Content guidelines\n\n- **File paths** — which files to read\u002Fmodify for this subsystem\n- **Contracts** — data formats, type shapes, naming conventions\n- **Do\u002FDon't rules** — concrete, actionable, with rationale\n- **Patterns** — recurring code shapes with short examples\n- **Gotchas** — non-obvious behaviors, known failure modes, migration notes\n- Keep skills **under 500 lines**. Split if needed (`testing` + `e2e-testing`).\n- Use lowercase kebab-case names: `lua-scripting`, `e2e-testing`\n\n## Runtime Skills (for the GHOST, not for you)\n\nThe GHOST runtime also has skills in `prompts\u002Fskills\u002F`. These teach the GHOST how to\nperform operator tasks. Some are symlinked into `.agents\u002Fskills\u002F` so you can read them\ntoo (e.g., `agent-creator`).\n\n| Directory         | Audience          | Loaded by                                             |\n| ----------------- | ----------------- | ----------------------------------------------------- |\n| `prompts\u002Fskills\u002F` | GHOST runtime     | Embedded in binary, installed to `$WORKSPACE\u002Fskills\u002F` |\n| `.agents\u002Fskills\u002F` | Claude Code (you) | Read via `\u002Fskill-name` in sessions                    |\n\nWhen modifying a runtime skill, remember it gets compiled into the binary via\n`include_str!()` in `src\u002Fskills.rs`.\n\n## Maintenance Checklist\n\nRun this mentally before finishing any significant PR:\n\n1. **Did I change a subsystem that has a skill?** Grep:\n   `rg \"file_or_type_I_changed\" .agents\u002Fskills\u002F`. Update any stale references.\n2. **Did I learn something non-obvious?** If yes, does it belong in an existing skill or\n   a new one?\n3. **Are the description triggers still accurate?** Would you find the right skill when\n   working on this feature next time?\n4. **Remove stale content** — delete sections about removed features, don't comment them\n   out.\n",{"name":5,"description":7},"main","083d96429a2d05526f8a294b83c74f0336670def",".agents\u002Fskills\u002Fskill-management",0,"https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST","https:\u002F\u002Fgithub.com\u002Fmrtolkien","https:\u002F\u002Fblog.tolki.dev","Data Engineer \u002F Esports \u002F Keyboards","2026-04-24 15:41:08",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add mrtolkien\u002FGHOST --skill skill-management",{"tool":64,"command":65},"bunx","bunx skills add mrtolkien\u002FGHOST --skill skill-management",{"tool":67,"command":68},"pnpm","pnpm dlx skills add mrtolkien\u002FGHOST --skill skill-management","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fskill-management\u002FSKILL.md",true,[],[73,99,122,139,148,159],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":44},"01M6CS613RWD9CFJ3KFX47V1DS","system-management","Use when reading or changing GHOST configuration (providers, models, timing, compaction, services, any config.toml key), adding or switching LLM providers, answering questions about GHOST's own features or capabilities, a CLI tool is missing or \"not found\", services need starting\u002Fstopping\u002Fdebugging, updating GHOST to a newer version, managing the Nix shell environment, or troubleshooting GHOST setup.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsystem-management\u002Fskill.md",[],[80,25,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],"system management","system","shell","cli","nix","config","setup","debugging","capabilities","services","Providers","ghost","tool","troubleshooting","environment","use","version","models","configuration",{"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":116,"publishedAt":44},"01M6CS5XTK2884R9HE15YR8YZM","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fwriting-skills\u002Fskill.md",[105,108,111],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[117,118,119,26,120,95,121],"writing skills","writing","coding","editing","deployment",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":130,"publishedAt":44},"01M6CS5V737R1DVB3TZEK0C6WT","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code. Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fwriting-plans\u002Fskill.md",[128,129],{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},[131,118,132,38,133,119,134,135,95,136,137,138],"writing plans","spec","ZeRO","write","context","engineer","implementation","task",{"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":145,"publishedAt":44},"01M6CS5S5S0YY56686G5CQ0WMP","verification","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs. Requires running verification commands and confirming output before making any success claims. Evidence before assertions, always.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fverification\u002Fskill.md",[],[141,119,26,95,146,147],"evidence","claim",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":44},"01M6CS5PD2ZSFWYRDZSACNTAJY","tdd","Use when implementing any feature or bugfix, before writing implementation code. Write the test first. Watch it fail. Write minimal code to pass.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Ftdd\u002Fskill.md",[154],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},[150,118,38,156,119,134,95,157,137,158],"first","minimal","test",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":166,"publishedAt":44},"01M6CS5K5WE2SHF1YV8D9C4C77","systematic-debugging","Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fsystematic-debugging\u002Fskill.md",[165],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},[167,87,168,95,119,158,169],"systematic debugging","behavior","bug"]