[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZD2121E1BTQP8GPACMPZM":3,"skill-same:01M6BZD2121E1BTQP8GPACMPZM":70},{"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":17,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":13,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":69},"01M6BZD2121E1BTQP8GPACMPZM","speckit-implement",null,"Execute the implementation plan by processing and executing all tasks defined in tasks.md","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-implement\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"implement","speckit","speckit implement","structure","implementation plan","true","kit","with","spec-kit","processing","filter","false","project","directory","task","plan","templates","specify","tasks","project structure","github","spec","2026-11-10 10:12:30",false,"---\nname: \"speckit-implement\"\ndescription: \"Execute the implementation plan by processing and executing all tasks defined in tasks.md\"\nargument-hint: \"Optional implementation guidance or task filter\"\ncompatibility: \"Requires spec-kit project structure with .specify\u002F directory\"\nmetadata:\n  author: \"github-spec-kit\"\n  source: \"templates\u002Fcommands\u002Fimplement.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 implementation)**:\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_implement` 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. Run `.specify\u002Fscripts\u002Fbash\u002Fcheck-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. 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. **Check checklists status** (if FEATURE_DIR\u002Fchecklists\u002F exists):\n   - Scan all checklist files in the checklists\u002F directory\n   - For each checklist, count:\n     - Total items: All lines matching `- [ ]` or `- [X]` or `- [x]`\n     - Completed items: Lines matching `- [X]` or `- [x]`\n     - Incomplete items: Lines matching `- [ ]`\n   - Create a status table:\n\n     ```text\n     | Checklist | Total | Completed | Incomplete | Status |\n     |-----------|-------|-----------|------------|--------|\n     | ux.md     | 12    | 12        | 0          | ✓ PASS |\n     | test.md   | 8     | 5         | 3          | ✗ FAIL |\n     | security.md | 6   | 6         | 0          | ✓ PASS |\n     ```\n\n   - Calculate overall status:\n     - **PASS**: All checklists have 0 incomplete items\n     - **FAIL**: One or more checklists have incomplete items\n\n   - **If any checklist is incomplete**:\n     - Display the table with incomplete item counts\n     - **STOP** and ask: \"Some checklists are incomplete. Do you want to proceed with implementation anyway? (yes\u002Fno)\"\n     - Wait for user response before continuing\n     - If user says \"no\" or \"wait\" or \"stop\", halt execution\n     - If user says \"yes\" or \"proceed\" or \"continue\", proceed to step 3\n\n   - **If all checklists are complete**:\n     - Display the table showing all checklists passed\n     - Automatically proceed to step 3\n\n3. Load and analyze the implementation context:\n   - **REQUIRED**: Read tasks.md for the complete task list and execution plan\n   - **REQUIRED**: Read plan.md for tech stack, architecture, and file structure\n   - **IF EXISTS**: Read data-model.md for entities and relationships\n   - **IF EXISTS**: Read contracts\u002F for API specifications and test requirements\n   - **IF EXISTS**: Read research.md for technical decisions and constraints\n   - **IF EXISTS**: Read quickstart.md for integration scenarios\n\n4. **Project Setup Verification**:\n   - **REQUIRED**: Create\u002Fverify ignore files based on actual project setup:\n\n   **Detection & Creation Logic**:\n   - Check if the following command succeeds to determine if the repository is a git repo (create\u002Fverify .gitignore if so):\n\n     ```sh\n     git rev-parse --git-dir 2>\u002Fdev\u002Fnull\n     ```\n\n   - Check if Dockerfile* exists or Docker in plan.md → create\u002Fverify .dockerignore\n   - Check if .eslintrc* exists → create\u002Fverify .eslintignore\n   - Check if eslint.config.* exists → ensure the config's `ignores` entries cover required patterns\n   - Check if .prettierrc* exists → create\u002Fverify .prettierignore\n   - Check if .npmrc or package.json exists → create\u002Fverify .npmignore (if publishing)\n   - Check if terraform files (*.tf) exist → create\u002Fverify .terraformignore\n   - Check if .helmignore needed (helm charts present) → create\u002Fverify .helmignore\n\n   **If ignore file already exists**: Verify it contains essential patterns, append missing critical patterns only\n   **If ignore file missing**: Create with full pattern set for detected technology\n\n   **Common Patterns by Technology** (from plan.md tech stack):\n   - **Node.js\u002FJavaScript\u002FTypeScript**: `node_modules\u002F`, `dist\u002F`, `build\u002F`, `*.log`, `.env*`\n   - **Python**: `__pycache__\u002F`, `*.pyc`, `.venv\u002F`, `venv\u002F`, `dist\u002F`, `*.egg-info\u002F`\n   - **Java**: `target\u002F`, `*.class`, `*.jar`, `.gradle\u002F`, `build\u002F`\n   - **C#\u002F.NET**: `bin\u002F`, `obj\u002F`, `*.user`, `*.suo`, `packages\u002F`\n   - **Go**: `*.exe`, `*.test`, `vendor\u002F`, `*.out`\n   - **Ruby**: `.bundle\u002F`, `log\u002F`, `tmp\u002F`, `*.gem`, `vendor\u002Fbundle\u002F`\n   - **PHP**: `vendor\u002F`, `*.log`, `*.cache`, `*.env`\n   - **Rust**: `target\u002F`, `debug\u002F`, `release\u002F`, `*.rs.bk`, `*.rlib`, `*.prof*`, `.idea\u002F`, `*.log`, `.env*`\n   - **Kotlin**: `build\u002F`, `out\u002F`, `.gradle\u002F`, `.idea\u002F`, `*.class`, `*.jar`, `*.iml`, `*.log`, `.env*`\n   - **C++**: `build\u002F`, `bin\u002F`, `obj\u002F`, `out\u002F`, `*.o`, `*.so`, `*.a`, `*.exe`, `*.dll`, `.idea\u002F`, `*.log`, `.env*`\n   - **C**: `build\u002F`, `bin\u002F`, `obj\u002F`, `out\u002F`, `*.o`, `*.a`, `*.so`, `*.exe`, `*.dll`, `autom4te.cache\u002F`, `config.status`, `config.log`, `.idea\u002F`, `*.log`, `.env*`\n   - **Swift**: `.build\u002F`, `DerivedData\u002F`, `*.swiftpm\u002F`, `Packages\u002F`\n   - **R**: `.Rproj.user\u002F`, `.Rhistory`, `.RData`, `.Ruserdata`, `*.Rproj`, `packrat\u002F`, `renv\u002F`\n   - **Universal**: `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.swp`, `.vscode\u002F`, `.idea\u002F`\n\n   **Tool-Specific Patterns**:\n   - **Docker**: `node_modules\u002F`, `.git\u002F`, `Dockerfile*`, `.dockerignore`, `*.log*`, `.env*`, `coverage\u002F`\n   - **ESLint**: `node_modules\u002F`, `dist\u002F`, `build\u002F`, `coverage\u002F`, `*.min.js`\n   - **Prettier**: `node_modules\u002F`, `dist\u002F`, `build\u002F`, `coverage\u002F`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`\n   - **Terraform**: `.terraform\u002F`, `*.tfstate*`, `*.tfvars`, `.terraform.lock.hcl`\n   - **Kubernetes\u002Fk8s**: `*.secret.yaml`, `secrets\u002F`, `.kube\u002F`, `kubeconfig*`, `*.key`, `*.crt`\n\n5. Parse tasks.md structure and extract:\n   - **Task phases**: Setup, Tests, Core, Integration, Polish\n   - **Task dependencies**: Sequential vs parallel execution rules\n   - **Task details**: ID, description, file paths, parallel markers [P]\n   - **Execution flow**: Order and dependency requirements\n\n6. Execute implementation following the task plan:\n   - **Phase-by-phase execution**: Complete each phase before moving to the next\n   - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together  \n   - **Follow TDD approach**: Execute test tasks before their corresponding implementation tasks\n   - **File-based coordination**: Tasks affecting the same files must run sequentially\n   - **Validation checkpoints**: Verify each phase completion before proceeding\n\n7. Implementation execution rules:\n   - **Setup first**: Initialize project structure, dependencies, configuration\n   - **Tests before code**: If you need to write tests for contracts, entities, and integration scenarios\n   - **Core development**: Implement models, services, CLI commands, endpoints\n   - **Integration work**: Database connections, middleware, logging, external services\n   - **Polish and validation**: Unit tests, performance optimization, documentation\n\n8. Progress tracking and error handling:\n   - Report progress after each completed task\n   - Halt execution if any non-parallel task fails\n   - For parallel tasks [P], continue with successful tasks, report failed ones\n   - Provide clear error messages with context for debugging\n   - Suggest next steps if implementation cannot proceed\n   - **IMPORTANT** For completed tasks, make sure to mark the task off as [X] in the tasks file.\n\n9. Completion validation:\n   - Verify all required tasks are completed\n   - Check that implemented features match the original specification\n   - Validate that tests pass and coverage meets requirements\n   - Confirm the implementation follows the technical plan\n   - Report final status with summary of completed work\n\nNote: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running `\u002Fspeckit-tasks` first to regenerate the task list.\n\n10. **Check for extension hooks**: After completion validation, check if `.specify\u002Fextensions.yml` exists in the project root.\n    - If it exists, read it and look for entries under the `hooks.after_implement` 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","## 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 implementation)**:\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_implement` 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. Run `.specify\u002Fscripts\u002Fbash\u002Fcheck-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. 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. **Check checklists status** (if FEATURE_DIR\u002Fchecklists\u002F exists):\n   - Scan all checklist files in the checklists\u002F directory\n   - For each checklist, count:\n     - Total items: All lines matching `- [ ]` or `- [X]` or `- [x]`\n     - Completed items: Lines matching `- [X]` or `- [x]`\n     - Incomplete items: Lines matching `- [ ]`\n   - Create a status table:\n\n     ```text\n     | Checklist | Total | Completed | Incomplete | Status |\n     |-----------|-------|-----------|------------|--------|\n     | ux.md     | 12    | 12        | 0          | ✓ PASS |\n     | test.md   | 8     | 5         | 3          | ✗ FAIL |\n     | security.md | 6   | 6         | 0          | ✓ PASS |\n     ```\n\n   - Calculate overall status:\n     - **PASS**: All checklists have 0 incomplete items\n     - **FAIL**: One or more checklists have incomplete items\n\n   - **If any checklist is incomplete**:\n     - Display the table with incomplete item counts\n     - **STOP** and ask: \"Some checklists are incomplete. Do you want to proceed with implementation anyway? (yes\u002Fno)\"\n     - Wait for user response before continuing\n     - If user says \"no\" or \"wait\" or \"stop\", halt execution\n     - If user says \"yes\" or \"proceed\" or \"continue\", proceed to step 3\n\n   - **If all checklists are complete**:\n     - Display the table showing all checklists passed\n     - Automatically proceed to step 3\n\n3. Load and analyze the implementation context:\n   - **REQUIRED**: Read tasks.md for the complete task list and execution plan\n   - **REQUIRED**: Read plan.md for tech stack, architecture, and file structure\n   - **IF EXISTS**: Read data-model.md for entities and relationships\n   - **IF EXISTS**: Read contracts\u002F for API specifications and test requirements\n   - **IF EXISTS**: Read research.md for technical decisions and constraints\n   - **IF EXISTS**: Read quickstart.md for integration scenarios\n\n4. **Project Setup Verification**:\n   - **REQUIRED**: Create\u002Fverify ignore files based on actual project setup:\n\n   **Detection & Creation Logic**:\n   - Check if the following command succeeds to determine if the repository is a git repo (create\u002Fverify .gitignore if so):\n\n     ```sh\n     git rev-parse --git-dir 2>\u002Fdev\u002Fnull\n     ```\n\n   - Check if Dockerfile* exists or Docker in plan.md → create\u002Fverify .dockerignore\n   - Check if .eslintrc* exists → create\u002Fverify .eslintignore\n   - Check if eslint.config.* exists → ensure the config's `ignores` entries cover required patterns\n   - Check if .prettierrc* exists → create\u002Fverify .prettierignore\n   - Check if .npmrc or package.json exists → create\u002Fverify .npmignore (if publishing)\n   - Check if terraform files (*.tf) exist → create\u002Fverify .terraformignore\n   - Check if .helmignore needed (helm charts present) → create\u002Fverify .helmignore\n\n   **If ignore file already exists**: Verify it contains essential patterns, append missing critical patterns only\n   **If ignore file missing**: Create with full pattern set for detected technology\n\n   **Common Patterns by Technology** (from plan.md tech stack):\n   - **Node.js\u002FJavaScript\u002FTypeScript**: `node_modules\u002F`, `dist\u002F`, `build\u002F`, `*.log`, `.env*`\n   - **Python**: `__pycache__\u002F`, `*.pyc`, `.venv\u002F`, `venv\u002F`, `dist\u002F`, `*.egg-info\u002F`\n   - **Java**: `target\u002F`, `*.class`, `*.jar`, `.gradle\u002F`, `build\u002F`\n   - **C#\u002F.NET**: `bin\u002F`, `obj\u002F`, `*.user`, `*.suo`, `packages\u002F`\n   - **Go**: `*.exe`, `*.test`, `vendor\u002F`, `*.out`\n   - **Ruby**: `.bundle\u002F`, `log\u002F`, `tmp\u002F`, `*.gem`, `vendor\u002Fbundle\u002F`\n   - **PHP**: `vendor\u002F`, `*.log`, `*.cache`, `*.env`\n   - **Rust**: `target\u002F`, `debug\u002F`, `release\u002F`, `*.rs.bk`, `*.rlib`, `*.prof*`, `.idea\u002F`, `*.log`, `.env*`\n   - **Kotlin**: `build\u002F`, `out\u002F`, `.gradle\u002F`, `.idea\u002F`, `*.class`, `*.jar`, `*.iml`, `*.log`, `.env*`\n   - **C++**: `build\u002F`, `bin\u002F`, `obj\u002F`, `out\u002F`, `*.o`, `*.so`, `*.a`, `*.exe`, `*.dll`, `.idea\u002F`, `*.log`, `.env*`\n   - **C**: `build\u002F`, `bin\u002F`, `obj\u002F`, `out\u002F`, `*.o`, `*.a`, `*.so`, `*.exe`, `*.dll`, `autom4te.cache\u002F`, `config.status`, `config.log`, `.idea\u002F`, `*.log`, `.env*`\n   - **Swift**: `.build\u002F`, `DerivedData\u002F`, `*.swiftpm\u002F`, `Packages\u002F`\n   - **R**: `.Rproj.user\u002F`, `.Rhistory`, `.RData`, `.Ruserdata`, `*.Rproj`, `packrat\u002F`, `renv\u002F`\n   - **Universal**: `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.swp`, `.vscode\u002F`, `.idea\u002F`\n\n   **Tool-Specific Patterns**:\n   - **Docker**: `node_modules\u002F`, `.git\u002F`, `Dockerfile*`, `.dockerignore`, `*.log*`, `.env*`, `coverage\u002F`\n   - **ESLint**: `node_modules\u002F`, `dist\u002F`, `build\u002F`, `coverage\u002F`, `*.min.js`\n   - **Prettier**: `node_modules\u002F`, `dist\u002F`, `build\u002F`, `coverage\u002F`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`\n   - **Terraform**: `.terraform\u002F`, `*.tfstate*`, `*.tfvars`, `.terraform.lock.hcl`\n   - **Kubernetes\u002Fk8s**: `*.secret.yaml`, `secrets\u002F`, `.kube\u002F`, `kubeconfig*`, `*.key`, `*.crt`\n\n5. Parse tasks.md structure and extract:\n   - **Task phases**: Setup, Tests, Core, Integration, Polish\n   - **Task dependencies**: Sequential vs parallel execution rules\n   - **Task details**: ID, description, file paths, parallel markers [P]\n   - **Execution flow**: Order and dependency requirements\n\n6. Execute implementation following the task plan:\n   - **Phase-by-phase execution**: Complete each phase before moving to the next\n   - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together  \n   - **Follow TDD approach**: Execute test tasks before their corresponding implementation tasks\n   - **File-based coordination**: Tasks affecting the same files must run sequentially\n   - **Validation checkpoints**: Verify each phase completion before proceeding\n\n7. Implementation execution rules:\n   - **Setup first**: Initialize project structure, dependencies, configuration\n   - **Tests before code**: If you need to write tests for contracts, entities, and integration scenarios\n   - **Core development**: Implement models, services, CLI commands, endpoints\n   - **Integration work**: Database connections, middleware, logging, external services\n   - **Polish and validation**: Unit tests, performance optimization, documentation\n\n8. Progress tracking and error handling:\n   - Report progress after each completed task\n   - Halt execution if any non-parallel task fails\n   - For parallel tasks [P], continue with successful tasks, report failed ones\n   - Provide clear error messages with context for debugging\n   - Suggest next steps if implementation cannot proceed\n   - **IMPORTANT** For completed tasks, make sure to mark the task off as [X] in the tasks file.\n\n9. Completion validation:\n   - Verify all required tasks are completed\n   - Check that implemented features match the original specification\n   - Validate that tests pass and coverage meets requirements\n   - Confirm the implementation follows the technical plan\n   - Report final status with summary of completed work\n\nNote: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running `\u002Fspeckit-tasks` first to regenerate the task list.\n\n10. **Check for extension hooks**: After completion validation, check if `.specify\u002Fextensions.yml` exists in the project root.\n    - If it exists, read it and look for entries under the `hooks.after_implement` 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",{"name":5,"metadata":45,"description":7,"argument-hint":48,"compatibility":49,"user-invocable":50,"disable-model-invocation":41},{"author":46,"source":47},"github-spec-kit","templates\u002Fcommands\u002Fimplement.md","Optional implementation guidance or task filter","Requires spec-kit project structure with .specify\u002F directory",true,"main","dfa90715374d68e7cc21cb1429b99d9f054865e5",".claude\u002Fskills\u002Fspeckit-implement","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP","https:\u002F\u002Fgithub.com\u002Faulaleslie","2026-11-11 17:11:24",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":50},[59,62,65],{"tool":60,"command":61},"npx","npx skills add aulaleslie\u002Ftiga-saudara-ERP --skill speckit-implement",{"tool":63,"command":64},"bunx","bunx skills add aulaleslie\u002Ftiga-saudara-ERP --skill speckit-implement",{"tool":66,"command":67},"pnpm","pnpm dlx skills add aulaleslie\u002Ftiga-saudara-ERP --skill speckit-implement","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fspeckit-implement\u002FSKILL.md",[],[71,79,87,95,103,109],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":40},"01M6BZEH108XYP7CVAEZ6EKQDK","speckit-taskstoissues","speckit.taskstoissues","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-taskstoissues\u002FSKILL.md",[],[78,19,23],"speckit taskstoissues",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":40},"01M6BZEG279XMX5T2JJSCN0KPY","speckit-tasks","speckit.tasks","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-tasks\u002FSKILL.md",[],[19,86,36,23],"speckit tasks",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":40},"01M6BZEF4AVDCSBAWM94RVZXPK","speckit-specify","speckit.specify","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-specify\u002FSKILL.md",[],[19,94,35,23],"speckit specify",{"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":101,"publishedAt":40},"01M6BZEE4Y943HB0TTK3WATPC7","speckit-plan","speckit.plan","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-plan\u002FSKILL.md",[],[102,19,33,23],"speckit plan",{"skillNo":104,"name":5,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":40},"01M6BZED6FJBQS98EG264A7TDF","speckit.implement","https:\u002F\u002Fgithub.com\u002Faulaleslie\u002Ftiga-saudara-ERP\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fspeckit-implement\u002FSKILL.md",[],[19,20,18,23],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":40},"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",[],[116,19,117,118,23],"validate","speckit git validate","git"]