[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FZGTQJZC7WMKVBRC1DMW24":3,"skill-same:01M6FZGTQJZC7WMKVBRC1DMW24":69},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6FZGTQJZC7WMKVBRC1DMW24","create-local-skill",null,"Scaffold a new user-local skill in ~\u002F.claude\u002Fskills (and optionally ~\u002F.codex\u002Fskills), then offer to promote it to a personal fork of agentic-skills","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fskill-dev\u002Fclaude\u002Fcreate-local-skill\u002Farchive\u002Fv0.2\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],"create","local skill","local","create local skill","personal","agentic","codex","scaffold","promote","execution","user","v0","name","it","2026-11-10 10:12:30",false,"---\nname: create-local-skill\ndescription: Scaffold a new user-local skill in ~\u002F.claude\u002Fskills (and optionally ~\u002F.codex\u002Fskills), then offer to promote it to a personal fork of agentic-skills\ntype: execution\nversion: v0.2\nargument-hint: \u003Cskill-name> [description]\n---\n\n# Create Local Skill\n\nScaffold a new **user-local** skill directly into `~\u002F.claude\u002Fskills\u002F\u003Cname>\u002F` (and optionally `~\u002F.codex\u002Fskills\u002F\u003Cname>\u002F`) so the user can experiment without touching the upstream agentic-skills repo. At the end, offer to **promote** the skill by copying it into their personal fork of agentic-skills.\n\nWrite **real directories**, not managed roots back to the shared repo. `npx skillpacks uninstall-global` only removes skillpacks-owned skill installs whose source lives inside agentic-skills, so user-authored skills are untouched by upstream sync.\n\n## Process\n\n1. **Parse `$ARGUMENTS`** for `\u003Cskill-name>` and optional description. If missing, ask the user for:\n   - Skill name (kebab-case, e.g. `my-skill`)\n   - One-line description (used in the frontmatter `description` field — it is how the assistant decides when to invoke the skill, so be specific)\n   - Type (`execution`, `analysis`, `workflow`, etc. — default `execution`)\n   - Whether to also create a Codex version in `~\u002F.codex\u002Fskills\u002F\u003Cname>\u002F` (default yes)\n\n2. **Validate the target path:**\n   - Target is `$HOME\u002F.claude\u002Fskills\u002F\u003Cname>`.\n   - If the path already exists:\n     - If it is a **symlink** pointing into an agentic-skills repo (`readlink` contains `agentic-skills\u002Fbase\u002F` or `agentic-skills\u002Fpacks\u002F`), refuse — this would shadow a repo-managed skill. Tell the user to choose a different name.\n     - If it is a **real directory or a user-owned symlink**, ask before overwriting.\n\n3. **Write the Claude SKILL.md** at `~\u002F.claude\u002Fskills\u002F\u003Cname>\u002FSKILL.md`:\n\n   ```markdown\n   ---\n   name: \u003Cname>\n   description: \u003Cdescription>\n   type: \u003Ctype>\n   version: v0.0\n   ---\n\n   # \u003CTitle>\n\n   \u003C1-2 sentence purpose statement.>\n\n   ## When to use\n\n   - \u003Ctrigger 1>\n   - \u003Ctrigger 2>\n\n   ## Process\n\n   1. \u003Cstep>\n   2. \u003Cstep>\n   3. \u003Cstep>\n\n   ## Output\n\n   \u003Cwhat the skill produces>\n   ```\n\n4. **Optionally mirror to Codex** at `~\u002F.codex\u002Fskills\u002F\u003Cname>\u002FSKILL.md` with the Codex invocation convention (`Invoke as $\u003Cname>.`). Match the format of existing `~\u002F.codex\u002Fskills\u002F*\u002FSKILL.md` files.\n\n5. **Report the result:** show the created paths and remind the user of the runner-specific reload path. Claude Code should run `\u002Freload-skills` first; `\u002Fclear` starts a new empty-context conversation and can pick up the refreshed registry; restart if the top-level `.claude\u002Fskills` directory did not exist at session start or the skill is still invisible. Codex should start a fresh Codex CLI session if the `$` skill list remains stale.\n\n6. **Offer to promote.** Ask:\n\n   > \"Would you like to promote this skill to your personal fork of agentic-skills? (y\u002Fn)\"\n\n   If yes:\n   - Ask for the path to their personal fork (e.g. `~\u002Fprojects\u002Ftools\u002Fagentic-skills-personal`). If they don't have one, explain the options:\n     - Fork `agentic-skills` on GitHub and `git clone` it.\n     - Clone this repo and `git remote set-url origin \u003Ctheir-repo-url>` to repoint pushes.\n   - Verify the path exists and is a git repo (`git -C \u003Cpath> rev-parse --show-toplevel`).\n   - Copy the scaffolded skill into:\n     - `\u003Cfork>\u002Fbase\u002Fclaude\u002F\u003Cname>\u002F` (and `\u003Cfork>\u002Fbase\u002Fcodex\u002F\u003Cname>\u002F` if a Codex version was created), **or**\n     - `\u003Cfork>\u002Fpersonal\u002Fclaude\u002F\u003Cname>\u002F` if the user wants to keep personal skills segregated from upstream-syncable dirs. Ask which.\n   - If the skill is promoted into a fork's `base\u002F` or `packs\u002F` tree, also update that fork's `tests\u002Fharness\u002Fbench-coverage.ts` and add either a deterministic custom setup under `tests\u002Flayer4\u002Fsetups\u002F` or an explicit blocked row with `blocked_reason` and `next_command`.\n   - For promoted custom setups, include a deterministic quality rubric when practical, or record why quality scoring is blocked\u002Fdeferred instead of adding a subjective rubric.\n   - Recommend `pnpm --dir tests bench:coverage` before the promoted skill is committed.\n   - Show the `git status` in the fork and suggest a commit message like `feat(skill): add \u003Cname>`. Do **not** commit or push automatically — leave that to the user.\n\n7. **Safety note to surface:** pushing to the upstream agentic-skills repo requires write access. A plain clone without write access will be rejected at the remote; a fork pushes to the user's own repo. There is no path by which this skill can push a user's experimental skill to the shared upstream.\n\n## Notes\n\n- Never write into this repo's `base\u002F` or `packs\u002F` directories from this skill. Target paths are always under `$HOME\u002F.claude\u002Fskills`, `$HOME\u002F.codex\u002Fskills`, or an explicitly-supplied personal fork path.\n- Do not create documentation files beyond `SKILL.md` unless the user asks.\n- If the user wants version control for their personal skills without a full fork, suggest `git init` inside a sibling directory and symlinking from `~\u002F.claude\u002Fskills\u002F\u003Cname>` — but default to the simpler \"real directory in `~\u002F.claude\u002Fskills`\" flow.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n\n","# Create Local Skill\n\nScaffold a new **user-local** skill directly into `~\u002F.claude\u002Fskills\u002F\u003Cname>\u002F` (and optionally `~\u002F.codex\u002Fskills\u002F\u003Cname>\u002F`) so the user can experiment without touching the upstream agentic-skills repo. At the end, offer to **promote** the skill by copying it into their personal fork of agentic-skills.\n\nWrite **real directories**, not managed roots back to the shared repo. `npx skillpacks uninstall-global` only removes skillpacks-owned skill installs whose source lives inside agentic-skills, so user-authored skills are untouched by upstream sync.\n\n## Process\n\n1. **Parse `$ARGUMENTS`** for `\u003Cskill-name>` and optional description. If missing, ask the user for:\n   - Skill name (kebab-case, e.g. `my-skill`)\n   - One-line description (used in the frontmatter `description` field — it is how the assistant decides when to invoke the skill, so be specific)\n   - Type (`execution`, `analysis`, `workflow`, etc. — default `execution`)\n   - Whether to also create a Codex version in `~\u002F.codex\u002Fskills\u002F\u003Cname>\u002F` (default yes)\n\n2. **Validate the target path:**\n   - Target is `$HOME\u002F.claude\u002Fskills\u002F\u003Cname>`.\n   - If the path already exists:\n     - If it is a **symlink** pointing into an agentic-skills repo (`readlink` contains `agentic-skills\u002Fbase\u002F` or `agentic-skills\u002Fpacks\u002F`), refuse — this would shadow a repo-managed skill. Tell the user to choose a different name.\n     - If it is a **real directory or a user-owned symlink**, ask before overwriting.\n\n3. **Write the Claude SKILL.md** at `~\u002F.claude\u002Fskills\u002F\u003Cname>\u002FSKILL.md`:\n\n   ```markdown\n   ---\n   name: \u003Cname>\n   description: \u003Cdescription>\n   type: \u003Ctype>\n   version: v0.0\n   ---\n\n   # \u003CTitle>\n\n   \u003C1-2 sentence purpose statement.>\n\n   ## When to use\n\n   - \u003Ctrigger 1>\n   - \u003Ctrigger 2>\n\n   ## Process\n\n   1. \u003Cstep>\n   2. \u003Cstep>\n   3. \u003Cstep>\n\n   ## Output\n\n   \u003Cwhat the skill produces>\n   ```\n\n4. **Optionally mirror to Codex** at `~\u002F.codex\u002Fskills\u002F\u003Cname>\u002FSKILL.md` with the Codex invocation convention (`Invoke as $\u003Cname>.`). Match the format of existing `~\u002F.codex\u002Fskills\u002F*\u002FSKILL.md` files.\n\n5. **Report the result:** show the created paths and remind the user of the runner-specific reload path. Claude Code should run `\u002Freload-skills` first; `\u002Fclear` starts a new empty-context conversation and can pick up the refreshed registry; restart if the top-level `.claude\u002Fskills` directory did not exist at session start or the skill is still invisible. Codex should start a fresh Codex CLI session if the `$` skill list remains stale.\n\n6. **Offer to promote.** Ask:\n\n   > \"Would you like to promote this skill to your personal fork of agentic-skills? (y\u002Fn)\"\n\n   If yes:\n   - Ask for the path to their personal fork (e.g. `~\u002Fprojects\u002Ftools\u002Fagentic-skills-personal`). If they don't have one, explain the options:\n     - Fork `agentic-skills` on GitHub and `git clone` it.\n     - Clone this repo and `git remote set-url origin \u003Ctheir-repo-url>` to repoint pushes.\n   - Verify the path exists and is a git repo (`git -C \u003Cpath> rev-parse --show-toplevel`).\n   - Copy the scaffolded skill into:\n     - `\u003Cfork>\u002Fbase\u002Fclaude\u002F\u003Cname>\u002F` (and `\u003Cfork>\u002Fbase\u002Fcodex\u002F\u003Cname>\u002F` if a Codex version was created), **or**\n     - `\u003Cfork>\u002Fpersonal\u002Fclaude\u002F\u003Cname>\u002F` if the user wants to keep personal skills segregated from upstream-syncable dirs. Ask which.\n   - If the skill is promoted into a fork's `base\u002F` or `packs\u002F` tree, also update that fork's `tests\u002Fharness\u002Fbench-coverage.ts` and add either a deterministic custom setup under `tests\u002Flayer4\u002Fsetups\u002F` or an explicit blocked row with `blocked_reason` and `next_command`.\n   - For promoted custom setups, include a deterministic quality rubric when practical, or record why quality scoring is blocked\u002Fdeferred instead of adding a subjective rubric.\n   - Recommend `pnpm --dir tests bench:coverage` before the promoted skill is committed.\n   - Show the `git status` in the fork and suggest a commit message like `feat(skill): add \u003Cname>`. Do **not** commit or push automatically — leave that to the user.\n\n7. **Safety note to surface:** pushing to the upstream agentic-skills repo requires write access. A plain clone without write access will be rejected at the remote; a fork pushes to the user's own repo. There is no path by which this skill can push a user's experimental skill to the shared upstream.\n\n## Notes\n\n- Never write into this repo's `base\u002F` or `packs\u002F` directories from this skill. Target paths are always under `$HOME\u002F.claude\u002Fskills`, `$HOME\u002F.codex\u002Fskills`, or an explicitly-supplied personal fork path.\n- Do not create documentation files beyond `SKILL.md` unless the user asks.\n- If the user wants version control for their personal skills without a full fork, suggest `git init` inside a sibling directory and symlinking from `~\u002F.claude\u002Fskills\u002F\u003Cname>` — but default to the simpler \"real directory in `~\u002F.claude\u002Fskills`\" flow.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n\n",{"name":5,"type":33,"version":43,"description":7,"argument-hint":44},"v0.2","\u003Cskill-name> [description]","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fskill-dev\u002Fclaude\u002Fcreate-local-skill\u002Farchive\u002Fv0.2",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill create-local-skill",{"tool":61,"command":62},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill create-local-skill",{"tool":64,"command":65},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill create-local-skill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fskill-dev\u002Fclaude\u002Fcreate-local-skill\u002Farchive\u002Fv0.2\u002FSKILL.md",true,[],[70,82,92,103,114,125],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":38},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[77,78,79,80,35,81],"source checkout allowed","checkout","fixture","only","valid",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":38},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[89,90,91,81,79,35],"deck install valid","deck","install",{"skillNo":93,"name":94,"nameZh":6,"description":95,"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":38},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[99,100,101,81,30,102,79,35],"codex pack guard valid","pack","guard","availability",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":38},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[109],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[111,112,81,30,35,113,79],"codex missing skill valid","missing","fallback",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":38},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[120],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[81,30,113,122,123,124,35,79],"base skill","codex base skill fallback valid","base",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":38},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[81,101,100,132,102,35,79],"claude pack guard valid"]