[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZD454SVNS25W1DFE13F56":3,"skill-same:01M6BZD454SVNS25W1DFE13F56":79},{"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":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":13,"repositoryHtmlUrl":63,"repositoryHomepageUrl":6,"ownerHtmlUrl":64,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":65,"install":66,"resources":78},"01M6BZD454SVNS25W1DFE13F56","speckit-plan",null,"Execute the implementation planning workflow using the plan template to generate design artifacts.","aulaleslie\u002Ftiga-saudara-ERP","aulaleslie","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F134106027?v=4","01M6BZAMW9CS4RHAM5VZXR4T2B","01M6BZAN0CDB291GCMKPBYGA2B",0,"MIT","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\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,43,44,45,46,47,48],"speckit","plan","speckit plan","phase","design","for","true","kit","with","spec-kit","false","project","structure","planning workflow","generate design","template","templates","specify","artifacts","planning","generate","project structure","workflow","github","spec","directory","2026-11-10 10:12:30",false,"---\nname: \"speckit-plan\"\ndescription: \"Execute the implementation planning workflow using the plan template to generate design artifacts.\"\nargument-hint: \"Optional guidance for the planning phase\"\ncompatibility: \"Requires spec-kit project structure with .specify\u002F directory\"\nmetadata:\n  author: \"github-spec-kit\"\n  source: \"templates\u002Fcommands\u002Fplan.md\"\nuser-invocable: true\ndisable-model-invocation: false\n---\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- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `\u002Fspeckit-git-commit`.\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   - When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `\u002Fspeckit-git-commit`.\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   - Update the plan reference between the `\u003C!-- SPECKIT START -->` and `\u003C!-- SPECKIT END -->` markers in `CLAUDE.md` to point to the plan file created in step 1 (the IMPL_PLAN path)\n\n**Output**: data-model.md, \u002Fcontracts\u002F*, quickstart.md, updated agent context file\n\n## Key rules\n\n- Use absolute paths for filesystem operations; use project-relative paths for references in documentation and agent context files\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- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `\u002Fspeckit-git-commit`.\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   - When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `\u002Fspeckit-git-commit`.\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   - Update the plan reference between the `\u003C!-- SPECKIT START -->` and `\u003C!-- SPECKIT END -->` markers in `CLAUDE.md` to point to the plan file created in step 1 (the IMPL_PLAN path)\n\n**Output**: data-model.md, \u002Fcontracts\u002F*, quickstart.md, updated agent context file\n\n## Key rules\n\n- Use absolute paths for filesystem operations; use project-relative paths for references in documentation and agent context files\n- ERROR on gate failures or unresolved clarifications\n",{"name":5,"metadata":54,"description":7,"argument-hint":57,"compatibility":58,"user-invocable":59,"disable-model-invocation":50},{"author":55,"source":56},"github-spec-kit","templates\u002Fcommands\u002Fplan.md","Optional guidance for the planning phase","Requires spec-kit project structure with .specify\u002F directory",true,"main","dfa90715374d68e7cc21cb1429b99d9f054865e5",".claude\u002Fskills\u002Fspeckit-plan","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP","https:\u002F\u002Fgithub.com\u002Faulaleslie","2026-11-12 22:33:18",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":59},[68,71,74],{"tool":69,"command":70},"npx","npx skills add aulaleslie\u002Ftiga-saudara-ERP --skill speckit-plan",{"tool":72,"command":73},"bunx","bunx skills add aulaleslie\u002Ftiga-saudara-ERP --skill speckit-plan",{"tool":75,"command":76},"pnpm","pnpm dlx skills add aulaleslie\u002Ftiga-saudara-ERP --skill speckit-plan","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fspeckit-plan\u002FSKILL.md",[],[80,88,97,105,111,120],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":49},"01M6BZEH108XYP7CVAEZ6EKQDK","speckit-taskstoissues","speckit.taskstoissues","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-taskstoissues\u002FSKILL.md",[],[87,23,29],"speckit taskstoissues",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":49},"01M6BZEG279XMX5T2JJSCN0KPY","speckit-tasks","speckit.tasks","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-tasks\u002FSKILL.md",[],[23,95,96,29],"speckit tasks","tasks",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":49},"01M6BZEF4AVDCSBAWM94RVZXPK","speckit-specify","speckit.specify","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-specify\u002FSKILL.md",[],[23,104,40,29],"speckit specify",{"skillNo":106,"name":5,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":49},"01M6BZEE4Y943HB0TTK3WATPC7","speckit.plan","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-plan\u002FSKILL.md",[],[25,23,24,29],{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":49},"01M6BZED6FJBQS98EG264A7TDF","speckit-implement","speckit.implement","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-implement\u002FSKILL.md",[],[23,118,119,29],"speckit implement","implement",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":49},"01M6BZEBZJEEH16CTTSQCSYAK9","speckit-git-validate","speckit.git.validate","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-git-validate\u002FSKILL.md",[],[127,23,128,129,29],"validate","speckit git validate","git"]