[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KSTR6ZD0EFNGMTGZ69M5Y9":3,"skill-same:01M6KSTR6ZD0EFNGMTGZ69M5Y9":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":72},"01M6KSTR6ZD0EFNGMTGZ69M5Y9","speckit-plan",null,"Execute the implementation planning workflow using the plan template to generate design artifacts.","ghbvf\u002Fgocell","ghbvf","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F104540935?v=4","01M6KSS2CVFY1XK013726EE7ZP","01M6KSS2GJ30TNAVPNFATW578Q",4,"MIT","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.claude\u002Fskills\u002Fspeckit-plan\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"speckit","plan","speckit plan","true","design","kit","with","spec-kit","project","structure","planning workflow","generate design","template","specify","artifacts","planning","generate","project structure","workflow","github","2026-11-10 10:12:30",false,"---\nname: speckit-plan\ndescription: Execute the implementation planning workflow using the plan template\n  to generate design artifacts.\ncompatibility: Requires spec-kit project structure with .specify\u002F directory\nmetadata:\n  author: github-spec-kit\n  source: templates\u002Fcommands\u002Fplan.md\ndisable-model-invocation: true\n---\n\n## User Input\n\n```text\n$ARGUMENTS\n```\n\nYou **MUST** consider the user input before proceeding (if not empty).\n\n## Pre-Execution Checks\n\n**Check for extension hooks (before planning)**:\n- Check if `.specify\u002Fextensions.yml` exists in the project root.\n- If it exists, read it and look for entries under the `hooks.before_plan` key\n- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally\n- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.\n- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:\n  - If the hook has no `condition` field, or it is null\u002Fempty, treat the hook as executable\n  - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation\n- For each executable hook, output the following based on its `optional` flag:\n  - **Optional hook** (`optional: true`):\n    ```\n    ## Extension Hooks\n\n    **Optional Pre-Hook**: {extension}\n    Command: `\u002F{command}`\n    Description: {description}\n\n    Prompt: {prompt}\n    To execute: `\u002F{command}`\n    ```\n  - **Mandatory hook** (`optional: false`):\n    ```\n    ## Extension Hooks\n\n    **Automatic Pre-Hook**: {extension}\n    Executing: `\u002F{command}`\n    EXECUTE_COMMAND: {command}\n\n    Wait for the result of the hook command before proceeding to the Outline.\n    ```\n- If no hooks are registered or `.specify\u002Fextensions.yml` does not exist, skip silently\n\n## Outline\n\n1. **Setup**: Run `.specify\u002Fscripts\u002Fbash\u002Fsetup-plan.sh --json` from repo root and parse JSON for FEATURE_SPEC, IMPL_PLAN, SPECS_DIR, BRANCH. For single quotes in args like \"I'm Groot\", use escape syntax: e.g 'I'\\''m Groot' (or double-quote if possible: \"I'm Groot\").\n\n2. **Load context**: Read FEATURE_SPEC and `.specify\u002Fmemory\u002Fconstitution.md`. Load IMPL_PLAN template (already copied).\n\n3. **Execute plan workflow**: Follow the structure in IMPL_PLAN template to:\n   - Fill Technical Context (mark unknowns as \"NEEDS CLARIFICATION\")\n   - Fill Constitution Check section from constitution\n   - Evaluate gates (ERROR if violations unjustified)\n   - Phase 0: Generate research.md (resolve all NEEDS CLARIFICATION)\n   - Phase 1: Generate data-model.md, contracts\u002F, quickstart.md\n   - Phase 1: Update agent context by running the agent script\n   - Re-evaluate Constitution Check post-design\n\n4. **Stop and report**: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated artifacts.\n\n5. **Check for extension hooks**: After reporting, check if `.specify\u002Fextensions.yml` exists in the project root.\n   - If it exists, read it and look for entries under the `hooks.after_plan` key\n   - If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally\n   - Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.\n   - For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:\n     - If the hook has no `condition` field, or it is null\u002Fempty, treat the hook as executable\n     - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation\n   - For each executable hook, output the following based on its `optional` flag:\n     - **Optional hook** (`optional: true`):\n       ```\n       ## Extension Hooks\n\n       **Optional Hook**: {extension}\n       Command: `\u002F{command}`\n       Description: {description}\n\n       Prompt: {prompt}\n       To execute: `\u002F{command}`\n       ```\n     - **Mandatory hook** (`optional: false`):\n       ```\n       ## Extension Hooks\n\n       **Automatic Hook**: {extension}\n       Executing: `\u002F{command}`\n       EXECUTE_COMMAND: {command}\n       ```\n   - If no hooks are registered or `.specify\u002Fextensions.yml` does not exist, skip silently\n\n## Phases\n\n### Phase 0: Outline & Research\n\n1. **Extract unknowns from Technical Context** above:\n   - For each NEEDS CLARIFICATION → research task\n   - For each dependency → best practices task\n   - For each integration → patterns task\n\n2. **Generate and dispatch research agents**:\n\n   ```text\n   For each unknown in Technical Context:\n     Task: \"Research {unknown} for {feature context}\"\n   For each technology choice:\n     Task: \"Find best practices for {tech} in {domain}\"\n   ```\n\n3. **Consolidate findings** in `research.md` using format:\n   - Decision: [what was chosen]\n   - Rationale: [why chosen]\n   - Alternatives considered: [what else evaluated]\n\n**Output**: research.md with all NEEDS CLARIFICATION resolved\n\n### Phase 1: Design & Contracts\n\n**Prerequisites:** `research.md` complete\n\n1. **Extract entities from feature spec** → `data-model.md`:\n   - Entity name, fields, relationships\n   - Validation rules from requirements\n   - State transitions if applicable\n\n2. **Define interface contracts** (if project has external interfaces) → `\u002Fcontracts\u002F`:\n   - Identify what interfaces the project exposes to users or other systems\n   - Document the contract format appropriate for the project type\n   - Examples: public APIs for libraries, command schemas for CLI tools, endpoints for web services, grammars for parsers, UI contracts for applications\n   - Skip if project is purely internal (build scripts, one-off tools, etc.)\n\n3. **Agent context update**:\n   - Run `.specify\u002Fscripts\u002Fbash\u002Fupdate-agent-context.sh claude`\n   - These scripts detect which AI agent is in use\n   - Update the appropriate agent-specific context file\n   - Add only new technology from current plan\n   - Preserve manual additions between markers\n\n**Output**: data-model.md, \u002Fcontracts\u002F*, quickstart.md, agent-specific file\n\n## Key rules\n\n- Use absolute paths\n- ERROR on gate failures or unresolved clarifications\n","## User Input\n\n```text\n$ARGUMENTS\n```\n\nYou **MUST** consider the user input before proceeding (if not empty).\n\n## Pre-Execution Checks\n\n**Check for extension hooks (before planning)**:\n- Check if `.specify\u002Fextensions.yml` exists in the project root.\n- If it exists, read it and look for entries under the `hooks.before_plan` key\n- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally\n- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.\n- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:\n  - If the hook has no `condition` field, or it is null\u002Fempty, treat the hook as executable\n  - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation\n- For each executable hook, output the following based on its `optional` flag:\n  - **Optional hook** (`optional: true`):\n    ```\n    ## Extension Hooks\n\n    **Optional Pre-Hook**: {extension}\n    Command: `\u002F{command}`\n    Description: {description}\n\n    Prompt: {prompt}\n    To execute: `\u002F{command}`\n    ```\n  - **Mandatory hook** (`optional: false`):\n    ```\n    ## Extension Hooks\n\n    **Automatic Pre-Hook**: {extension}\n    Executing: `\u002F{command}`\n    EXECUTE_COMMAND: {command}\n\n    Wait for the result of the hook command before proceeding to the Outline.\n    ```\n- If no hooks are registered or `.specify\u002Fextensions.yml` does not exist, skip silently\n\n## Outline\n\n1. **Setup**: Run `.specify\u002Fscripts\u002Fbash\u002Fsetup-plan.sh --json` from repo root and parse JSON for FEATURE_SPEC, IMPL_PLAN, SPECS_DIR, BRANCH. For single quotes in args like \"I'm Groot\", use escape syntax: e.g 'I'\\''m Groot' (or double-quote if possible: \"I'm Groot\").\n\n2. **Load context**: Read FEATURE_SPEC and `.specify\u002Fmemory\u002Fconstitution.md`. Load IMPL_PLAN template (already copied).\n\n3. **Execute plan workflow**: Follow the structure in IMPL_PLAN template to:\n   - Fill Technical Context (mark unknowns as \"NEEDS CLARIFICATION\")\n   - Fill Constitution Check section from constitution\n   - Evaluate gates (ERROR if violations unjustified)\n   - Phase 0: Generate research.md (resolve all NEEDS CLARIFICATION)\n   - Phase 1: Generate data-model.md, contracts\u002F, quickstart.md\n   - Phase 1: Update agent context by running the agent script\n   - Re-evaluate Constitution Check post-design\n\n4. **Stop and report**: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated artifacts.\n\n5. **Check for extension hooks**: After reporting, check if `.specify\u002Fextensions.yml` exists in the project root.\n   - If it exists, read it and look for entries under the `hooks.after_plan` key\n   - If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally\n   - Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.\n   - For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:\n     - If the hook has no `condition` field, or it is null\u002Fempty, treat the hook as executable\n     - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation\n   - For each executable hook, output the following based on its `optional` flag:\n     - **Optional hook** (`optional: true`):\n       ```\n       ## Extension Hooks\n\n       **Optional Hook**: {extension}\n       Command: `\u002F{command}`\n       Description: {description}\n\n       Prompt: {prompt}\n       To execute: `\u002F{command}`\n       ```\n     - **Mandatory hook** (`optional: false`):\n       ```\n       ## Extension Hooks\n\n       **Automatic Hook**: {extension}\n       Executing: `\u002F{command}`\n       EXECUTE_COMMAND: {command}\n       ```\n   - If no hooks are registered or `.specify\u002Fextensions.yml` does not exist, skip silently\n\n## Phases\n\n### Phase 0: Outline & Research\n\n1. **Extract unknowns from Technical Context** above:\n   - For each NEEDS CLARIFICATION → research task\n   - For each dependency → best practices task\n   - For each integration → patterns task\n\n2. **Generate and dispatch research agents**:\n\n   ```text\n   For each unknown in Technical Context:\n     Task: \"Research {unknown} for {feature context}\"\n   For each technology choice:\n     Task: \"Find best practices for {tech} in {domain}\"\n   ```\n\n3. **Consolidate findings** in `research.md` using format:\n   - Decision: [what was chosen]\n   - Rationale: [why chosen]\n   - Alternatives considered: [what else evaluated]\n\n**Output**: research.md with all NEEDS CLARIFICATION resolved\n\n### Phase 1: Design & Contracts\n\n**Prerequisites:** `research.md` complete\n\n1. **Extract entities from feature spec** → `data-model.md`:\n   - Entity name, fields, relationships\n   - Validation rules from requirements\n   - State transitions if applicable\n\n2. **Define interface contracts** (if project has external interfaces) → `\u002Fcontracts\u002F`:\n   - Identify what interfaces the project exposes to users or other systems\n   - Document the contract format appropriate for the project type\n   - Examples: public APIs for libraries, command schemas for CLI tools, endpoints for web services, grammars for parsers, UI contracts for applications\n   - Skip if project is purely internal (build scripts, one-off tools, etc.)\n\n3. **Agent context update**:\n   - Run `.specify\u002Fscripts\u002Fbash\u002Fupdate-agent-context.sh claude`\n   - These scripts detect which AI agent is in use\n   - Update the appropriate agent-specific context file\n   - Add only new technology from current plan\n   - Preserve manual additions between markers\n\n**Output**: data-model.md, \u002Fcontracts\u002F*, quickstart.md, agent-specific file\n\n## Key rules\n\n- Use absolute paths\n- ERROR on gate failures or unresolved clarifications\n",{"name":5,"metadata":48,"description":7,"compatibility":51,"disable-model-invocation":52},{"author":49,"source":50},"github-spec-kit","templates\u002Fcommands\u002Fplan.md","Requires spec-kit project structure with .specify\u002F directory",true,"develop","043add59bbe840e4a90a4253feec21f074b590dd",".claude\u002Fskills\u002Fspeckit-plan",0,"https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell","https:\u002F\u002Fgithub.com\u002Fghbvf","2026-06-20 14:38:06",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":52},[62,65,68],{"tool":63,"command":64},"npx","npx skills add ghbvf\u002Fgocell --skill speckit-plan",{"tool":66,"command":67},"bunx","bunx skills add ghbvf\u002Fgocell --skill speckit-plan",{"tool":69,"command":70},"pnpm","pnpm dlx skills add ghbvf\u002Fgocell --skill speckit-plan","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.claude\u002Fskills\u002Fspeckit-plan\u002FSKILL.md",[],[74,95,108,127,137,144],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":43},"01M6KSVEVMZN9HK0ZRVY3MEJEJ","ship","全流程实施：探索→计划→worktree→TDD→实施→PR→review→\u002Ffix Cx1\u002FCx2→人工确认。L1(跳过探索,1 reviewer)\u002FL2(单agent探索,1 reviewer)\u002FL3(默认,三agent探索,按diff行数1\u002F2\u002F3\u002F6 reviewer自动)","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.codex\u002Fskills\u002Fship\u002FSKILL.md",[],[76,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"Bash","l2","id","backlog","fix","edit","write","read","reviewer","grep","worktree","pr","tdd","review",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":104,"publishedAt":43},"01M6KSVCP8NB3095MY8M2BR235","pr-review","对指定 PR 跑自动分级六维度 review（默认）；或 --check 模式验证上一轮 findings 是否修复 + 抓回归。按 diff 净增删行数自动分配 2\u002F3\u002F6 reviewer agent 并行（\u003C 200 行不派发，主 agent 自审）；主 agent 做根因聚类 + Cx 分级 + 修复分流建议，不自动 fix。","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.codex\u002Fskills\u002Fpr-review\u002FSKILL.md",[101],{"categoryNo":102,"categoryName":103,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[92,105,94,90,81,106,89,107,85,88],"pr review","check","diff",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":43},"01M6KSV8P4AYPNHCDR1T7B9YN5","issues","GitHub Issues + Project v2 #3 项目管理单源技能。Part A：epic 拆解 + wave 实施顺序评论（找子任务 → blocked-by DAG → wave 1-4 容量装箱排序：每 wave ≤4、pri 优先、wave 内切并行组\u002F串行链、OPEN 重排、已完成与超窗单列 → 只追加 epic 评论；不写 Project 字段、不改 epic body）。Part B：issue\u002FPR 原子操作（建\u002F改 backlog issue、area\u002Ftype\u002Fpri label、PR 双轴状态 label 流转、统一 PR 评论格式 + 冲突预检\u002FCI watch 跟进，ship\u002Ffix 共用）。非 epic issue 号 → 查代码判状态（只判不修，建议 \u002Fship 或 close）。当用户要整理 epic 排 wave、建\u002F改 backlog issue、贴 label、切 PR 状态、给 PR 留评论、核一个 issue 是否还成立时使用。","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.codex\u002Fskills\u002Fissues\u002FSKILL.md",[],[110,115,116,117,118,119,120,121,122,31,81,42,85,88,123,124,125,92,126,84],"项目管理","create-issue","labels","整理","EPIC","close","ci watch","type","open","ci","create","dag",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":43},"01M6KSV7CX440Q82S9VXQJH02G","git-worktree","Git Worktree 项目约定（编号、基准分支、权限兼容、删除安全）。","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.codex\u002Fskills\u002Fgit-worktree\u002FSKILL.md",[],[134,91,135,136],"git","git worktree","安全",{"skillNo":138,"name":85,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":43},"01M6KSV5JB0AR3EJ9V2H4F2MN2","问题诊断与修复: 验证+根因+复杂度分级+修复方案+backlog登记。当用户说'这个问题存在吗''帮我分析这个bug''诊断一下这个模块''修复这个问题'时触发。支持单条问题和多方审查报告批量输入。","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.codex\u002Fskills\u002Ffix\u002FSKILL.md",[],[85,143,86,87,88,90,81],"文件",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":43},"01M6KSV2S9ZK6BM2K1P2V3E4HK","speckit-taskstoissues","Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.","https:\u002F\u002Fgithub.com\u002Fghbvf\u002Fgocell\u002Fblob\u002Fdevelop\u002F.claude\u002Fskills\u002Fspeckit-taskstoissues\u002FSKILL.md",[],[151,23,32,152,26,28,29,30,153,154,31,155,156,36,110,37,157,40,42,27],"speckit taskstoissues","for","actionable","feature","Existing","convert","tasks"]