[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KN5WH4AXCYBB7N4F4RWJWF":3,"skill-same:01M6KN5WH4AXCYBB7N4F4RWJWF":71},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":6,"updatedAt":57,"install":58,"resources":70},"01M6KN5WH4AXCYBB7N4F4RWJWF","speckit-implement",null,"Execute the implementation plan by processing and executing all tasks defined in tasks.md","AI-native-Systems-Research\u002Fai-native-storage-certus","AI-native-Systems-Research","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F270755458?v=4","01M6KKQWSJX0D4X33E0KKSR4WM","AI-native Systems Research","01M6KKQWXTKR6MYVQMPKVJ5WD5",3,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Feviction-policy-lru\u002F.claude\u002Fskills\u002Fspeckit-implement\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"implement","speckit","speckit implement","project","implementation plan","true","kit","with","spec-kit","processing","filter","false","directory","structure","task","plan","specify","tasks","project structure","github","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 .specify\u002Fmemory\u002Fconstitution.md for governance 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\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\n## Mandatory Post-Execution Hooks\n\n**You MUST complete this section before reporting completion to the user.**\n\nCheck if `.specify\u002Fextensions.yml` exists in the project root.\n- If it does not exist, or no hooks are registered under `hooks.after_implement`, skip to the Completion Report.\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 to the Completion Report.\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  - **Mandatory hook** (`optional: false`) — **You MUST emit `EXECUTE_COMMAND:` for each mandatory hook**:\n    ```\n    ## Extension Hooks\n\n    **Automatic Hook**: {extension}\n    Executing: `\u002F{command}`\n    EXECUTE_COMMAND: {command}\n    ```\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\n## Completion Report\n\nReport final status with summary of completed work.\n\n## Done When\n\n- [ ] All tasks in tasks.md completed and marked `[X]`\n- [ ] Implementation validated against specification, plan, and test coverage\n- [ ] Extension hooks dispatched or skipped according to the rules in Mandatory Post-Execution Hooks above\n- [ ] Completion reported to user with summary of completed work\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 .specify\u002Fmemory\u002Fconstitution.md for governance 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\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\n## Mandatory Post-Execution Hooks\n\n**You MUST complete this section before reporting completion to the user.**\n\nCheck if `.specify\u002Fextensions.yml` exists in the project root.\n- If it does not exist, or no hooks are registered under `hooks.after_implement`, skip to the Completion Report.\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 to the Completion Report.\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  - **Mandatory hook** (`optional: false`) — **You MUST emit `EXECUTE_COMMAND:` for each mandatory hook**:\n    ```\n    ## Extension Hooks\n\n    **Automatic Hook**: {extension}\n    Executing: `\u002F{command}`\n    EXECUTE_COMMAND: {command}\n    ```\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\n## Completion Report\n\nReport final status with summary of completed work.\n\n## Done When\n\n- [ ] All tasks in tasks.md completed and marked `[X]`\n- [ ] Implementation validated against specification, plan, and test coverage\n- [ ] Extension hooks dispatched or skipped according to the rules in Mandatory Post-Execution Hooks above\n- [ ] Completion reported to user with summary of completed work\n",{"name":5,"metadata":44,"description":7,"argument-hint":47,"compatibility":48,"user-invocable":49,"disable-model-invocation":40},{"author":45,"source":46},"github-spec-kit","templates\u002Fcommands\u002Fimplement.md","Optional implementation guidance or task filter","Requires spec-kit project structure with .specify\u002F directory",true,"unstable","dc564aa356769b7754391c9fa4fdaa0f179f476c","components\u002Feviction-policy-lru\u002F.claude\u002Fskills\u002Fspeckit-implement",4,"https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research","https:\u002F\u002Fai-native-systems-research.github.io\u002Fai-native-systems-research\u002F","2026-11-12 06:08:32",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":49},[60,63,66],{"tool":61,"command":62},"npx","npx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill speckit-implement",{"tool":64,"command":65},"bunx","bunx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill speckit-implement",{"tool":67,"command":68},"pnpm","pnpm dlx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill speckit-implement","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Feviction-policy-lru\u002F.claude\u002Fskills\u002Fspeckit-implement\u002FSKILL.md",[],[72,90,106,117,132,144],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":39},"01M6KP29TWSNGADF3AJ47BR7TY","tools-spin-sync","Synchronize Spin\u002FPromela models with current source code and re-verify","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-spin-sync\u002FSKILL.md",[],[79,80,81,82,83,84,85,86,26,87,88,89],"tools spin sync","Tools","sync","code","verify","model","models","name","re","source","source code",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":39},"01M6KP277TDY3ZAJEBP5P6MDT8","tools-spin-model","Create a new Spin\u002FPromela formal verification model for a system property","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-spin-model\u002FSKILL.md",[],[97,84,80,98,99,100,101,102,103,104,105],"tools spin model","system","formal verification","number","for","prove","new","create","verification",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":39},"01M6KP250W406CEDSF02BRXT9D","tools-creusot-install","Install the Creusot Rust verification tool","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-install\u002FSKILL.md",[],[113,114,80,115,105,116],"tools creusot install","install","rust","tool",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":39},"01M6KP22H28FQ1X0V7VJHEFWXD","tools-creusot-init","Prepare an existing Cargo project to use Creusot formal verification","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-init\u002FSKILL.md",[],[124,80,125,22,31,126,127,105,128,99,129,130,131],"tools creusot init","init","components","prepare","use","cargo","manager","Existing",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":39},"01M6KP1V506J9YM8DKKVDG1NRE","tools-creusot-coq-install","Add Coq 8.20 as an additional prover to an existing Creusot installation, for verification conditions that SMT solvers cannot discharge","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-coq-install\u002FSKILL.md",[],[139,140,114,80,101,131,141,142,105,143],"tools creusot coq install","Coq","as","installation","add",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":39},"01M6KP1PQJF3H765TYZAZ7P3EF","tools-creusot-annotate-interfaces","Formally verify a component's properties with Creusot and annotate its interface definitions","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-annotate-interfaces\u002FSKILL.md",[],[80,151,152,26,86,153,83,154,155],"tools creusot annotate interfaces","annotate","properties","component","interface"]