AGENT SKILL

speckit-implement

Execute the implementation plan by processing and executing all tasks defined in tasks.md

License 许可
MIT
所属仓库
ghbvf/gocell
最近更新
2026-06-20
Stars
★ 4
Forks
0

01 前言 Front Matter

name
speckit-implement
metadata
{ "author": "github-spec-kit", "source": "templates/commands/implement.md" }
description
Execute the implementation plan by processing and executing all tasks defined in tasks.md
compatibility
Requires spec-kit project structure with .specify/ directory
disable-model-invocation
true

03 SKILL.md 正文

User Input

$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Pre-Execution Checks

Check for extension hooks (before implementation):

  • Check if .specify/extensions.yml exists in the project root.
  • If it exists, read it and look for entries under the hooks.before_implement key
  • If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
  • Filter out hooks where enabled is explicitly false. Treat hooks without an enabled field as enabled by default.
  • For each remaining hook, do not attempt to interpret or evaluate hook condition expressions:
    • If the hook has no condition field, or it is null/empty, treat the hook as executable
    • If the hook defines a non-empty condition, skip the hook and leave condition evaluation to the HookExecutor implementation
  • For each executable hook, output the following based on its optional flag:
    • Optional hook (optional: true):
      ## Extension Hooks
      
      **Optional Pre-Hook**: {extension}
      Command: `/{command}`
      Description: {description}
      
      Prompt: {prompt}
      To execute: `/{command}`
      
    • Mandatory hook (optional: false):
      ## Extension Hooks
      
      **Automatic Pre-Hook**: {extension}
      Executing: `/{command}`
      EXECUTE_COMMAND: {command}
      
      Wait for the result of the hook command before proceeding to the Outline.
      
  • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

Outline

  1. Run .specify/scripts/bash/check-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").

  2. Check checklists status (if FEATURE_DIR/checklists/ exists):

    • Scan all checklist files in the checklists/ directory

    • For each checklist, count:

      • Total items: All lines matching - [ ] or - [X] or - [x]
      • Completed items: Lines matching - [X] or - [x]
      • Incomplete items: Lines matching - [ ]
    • Create a status table:

      | Checklist | Total | Completed | Incomplete | Status |
      |-----------|-------|-----------|------------|--------|
      | ux.md     | 12    | 12        | 0          | ✓ PASS |
      | test.md   | 8     | 5         | 3          | ✗ FAIL |
      | security.md | 6   | 6         | 0          | ✓ PASS |
      
    • Calculate overall status:

      • PASS: All checklists have 0 incomplete items
      • FAIL: One or more checklists have incomplete items
    • If any checklist is incomplete:

      • Display the table with incomplete item counts
      • STOP and ask: "Some checklists are incomplete. Do you want to proceed with implementation anyway? (yes/no)"
      • Wait for user response before continuing
      • If user says "no" or "wait" or "stop", halt execution
      • If user says "yes" or "proceed" or "continue", proceed to step 3
    • If all checklists are complete:

      • Display the table showing all checklists passed
      • Automatically proceed to step 3
  3. Load and analyze the implementation context:

    • REQUIRED: Read tasks.md for the complete task list and execution plan
    • REQUIRED: Read plan.md for tech stack, architecture, and file structure
    • IF EXISTS: Read data-model.md for entities and relationships
    • IF EXISTS: Read contracts/ for API specifications and test requirements
    • IF EXISTS: Read research.md for technical decisions and constraints
    • IF EXISTS: Read quickstart.md for integration scenarios
  4. Project Setup Verification:

    • REQUIRED: Create/verify ignore files based on actual project setup:

    Detection & Creation Logic:

    • Check if the following command succeeds to determine if the repository is a git repo (create/verify .gitignore if so):

      git rev-parse --git-dir 2>/dev/null
      
    • Check if Dockerfile* exists or Docker in plan.md → create/verify .dockerignore

    • Check if .eslintrc* exists → create/verify .eslintignore

    • Check if eslint.config.* exists → ensure the config's ignores entries cover required patterns

    • Check if .prettierrc* exists → create/verify .prettierignore

    • Check if .npmrc or package.json exists → create/verify .npmignore (if publishing)

    • Check if terraform files (*.tf) exist → create/verify .terraformignore

    • Check if .helmignore needed (helm charts present) → create/verify .helmignore

    If ignore file already exists: Verify it contains essential patterns, append missing critical patterns only If ignore file missing: Create with full pattern set for detected technology

    Common Patterns by Technology (from plan.md tech stack):

    • Node.js/JavaScript/TypeScript: node_modules/, dist/, build/, *.log, .env*
    • Python: __pycache__/, *.pyc, .venv/, venv/, dist/, *.egg-info/
    • Java: target/, *.class, *.jar, .gradle/, build/
    • C#/.NET: bin/, obj/, *.user, *.suo, packages/
    • Go: *.exe, *.test, vendor/, *.out
    • Ruby: .bundle/, log/, tmp/, *.gem, vendor/bundle/
    • PHP: vendor/, *.log, *.cache, *.env
    • Rust: target/, debug/, release/, *.rs.bk, *.rlib, *.prof*, .idea/, *.log, .env*
    • Kotlin: build/, out/, .gradle/, .idea/, *.class, *.jar, *.iml, *.log, .env*
    • C++: build/, bin/, obj/, out/, *.o, *.so, *.a, *.exe, *.dll, .idea/, *.log, .env*
    • C: build/, bin/, obj/, out/, *.o, *.a, *.so, *.exe, *.dll, autom4te.cache/, config.status, config.log, .idea/, *.log, .env*
    • Swift: .build/, DerivedData/, *.swiftpm/, Packages/
    • R: .Rproj.user/, .Rhistory, .RData, .Ruserdata, *.Rproj, packrat/, renv/
    • Universal: .DS_Store, Thumbs.db, *.tmp, *.swp, .vscode/, .idea/

    Tool-Specific Patterns:

    • Docker: node_modules/, .git/, Dockerfile*, .dockerignore, *.log*, .env*, coverage/
    • ESLint: node_modules/, dist/, build/, coverage/, *.min.js
    • Prettier: node_modules/, dist/, build/, coverage/, package-lock.json, yarn.lock, pnpm-lock.yaml
    • Terraform: .terraform/, *.tfstate*, *.tfvars, .terraform.lock.hcl
    • Kubernetes/k8s: *.secret.yaml, secrets/, .kube/, kubeconfig*, *.key, *.crt
  5. Parse tasks.md structure and extract:

    • Task phases: Setup, Tests, Core, Integration, Polish
    • Task dependencies: Sequential vs parallel execution rules
    • Task details: ID, description, file paths, parallel markers [P]
    • Execution flow: Order and dependency requirements
  6. Execute implementation following the task plan:

    • Phase-by-phase execution: Complete each phase before moving to the next
    • Respect dependencies: Run sequential tasks in order, parallel tasks [P] can run together
    • Follow TDD approach: Execute test tasks before their corresponding implementation tasks
    • File-based coordination: Tasks affecting the same files must run sequentially
    • Validation checkpoints: Verify each phase completion before proceeding
  7. Implementation execution rules:

    • Setup first: Initialize project structure, dependencies, configuration
    • Tests before code: If you need to write tests for contracts, entities, and integration scenarios
    • Core development: Implement models, services, CLI commands, endpoints
    • Integration work: Database connections, middleware, logging, external services
    • Polish and validation: Unit tests, performance optimization, documentation
  8. Progress tracking and error handling:

    • Report progress after each completed task
    • Halt execution if any non-parallel task fails
    • For parallel tasks [P], continue with successful tasks, report failed ones
    • Provide clear error messages with context for debugging
    • Suggest next steps if implementation cannot proceed
    • IMPORTANT For completed tasks, make sure to mark the task off as [X] in the tasks file.
  9. Completion validation:

    • Verify all required tasks are completed
    • Check that implemented features match the original specification
    • Validate that tests pass and coverage meets requirements
    • Confirm the implementation follows the technical plan
    • Report final status with summary of completed work

Note: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running /speckit.tasks first to regenerate the task list.

  1. Check for extension hooks: After completion validation, check if .specify/extensions.yml exists in the project root.
    • If it exists, read it and look for entries under the hooks.after_implement key
    • If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
    • Filter out hooks where enabled is explicitly false. Treat hooks without an enabled field as enabled by default.
    • For each remaining hook, do not attempt to interpret or evaluate hook condition expressions:
      • If the hook has no condition field, or it is null/empty, treat the hook as executable
      • If the hook defines a non-empty condition, skip the hook and leave condition evaluation to the HookExecutor implementation
    • For each executable hook, output the following based on its optional flag:
      • Optional hook (optional: true):
        ## Extension Hooks
        
        **Optional Hook**: {extension}
        Command: `/{command}`
        Description: {description}
        
        Prompt: {prompt}
        To execute: `/{command}`
        
      • Mandatory hook (optional: false):
        ## Extension Hooks
        
        **Automatic Hook**: {extension}
        Executing: `/{command}`
        EXECUTE_COMMAND: {command}
        
    • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

04 同仓库更多 Skills

ghbvf
ghbvf/gocell

ship

全流程实施:探索→计划→worktree→TDD→实施→PR→review→/fix Cx1/Cx2→人工确认。L1(跳过探索,1 reviewer)/L2(单agent探索,1 reviewer)/L3(默认,三agent探索,按diff行数1/2/3/6 reviewer自动)

★ 4
ghbvf
ghbvf/gocell

pr-review

对指定 PR 跑自动分级六维度 review(默认);或 --check 模式验证上一轮 findings 是否修复 + 抓回归。按 diff 净增删行数自动分配 2/3/6 reviewer agent 并行(< 200 行不派发,主 agent 自审);主 agent 做根因聚类 + Cx 分级 + 修复分流建议,不自动 fix。

Skill与智能体开发
★ 4
ghbvf
ghbvf/gocell

issues

GitHub Issues + Project v2 #3 项目管理单源技能。Part A:epic 拆解 + wave 实施顺序评论(找子任务 → blocked-by DAG → wave 1-4 容量装箱排序:每 wave ≤4、pri 优先、wave 内切并行组/串行链、OPEN 重排、已完成与超窗单列 → 只追加 epic 评论;不写 Project 字段、不改 epic body)。Part B:issue/PR 原子操作(建/改 backlog issue、area/type/pri label、PR 双轴状态 label 流转、统一 PR 评论格式 + 冲突预检/CI watch 跟进,ship/fix 共用)。非 epic issue 号 → 查代码判状态(只判不修,建议 /ship 或 close)。当用户要整理 epic 排 wave、建/改 backlog issue、贴 label、切 PR 状态、给 PR 留评论、核一个 issue 是否还成立时使用。

★ 4
ghbvf
ghbvf/gocell

git-worktree

Git Worktree 项目约定(编号、基准分支、权限兼容、删除安全)。

★ 4
ghbvf
ghbvf/gocell

fix

问题诊断与修复: 验证+根因+复杂度分级+修复方案+backlog登记。当用户说'这个问题存在吗''帮我分析这个bug''诊断一下这个模块''修复这个问题'时触发。支持单条问题和多方审查报告批量输入。

★ 4
ghbvf
ghbvf/gocell

speckit-taskstoissues

Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.

★ 4