implement-specs

作者: warpdotdev

根據已核准的 PRODUCT.md 與 TECH.md 實作功能,在開發過程中保持規格與程式碼同步於同一個 PR 中。請於產品與技術規格核准後、下一步為建置功能時使用。

npx skills add https://github.com/warpdotdev/common-skills --skill implement-specs

implement-specs

Implement an approved feature from PRODUCT.md and TECH.md.

Overview

Use this skill after the product and tech specs are approved. The goal is to build the feature described by the specs while keeping the checked-in specs and the implementation aligned as the work evolves.

Approved specs should live directly under a ticket-named directory in specs/, for example specs/APP-1234/PRODUCT.md and specs/APP-1234/TECH.md.

In many cases, the implementation should be pushed in the same PR as the product and tech specs. As the engineer iterates, changes to PRODUCT.md, TECH.md, and the code should all be pushed in that same PR so review stays anchored to the feature that will actually ship.

Prerequisites

Before using this skill:

  • confirm that PRODUCT.md exists
  • confirm that TECH.md exists when the feature warranted one
  • confirm that the relevant specs have been reviewed and approved enough to start implementation

Workflow

1. Read the approved specs first

Treat:

  • PRODUCT.md as the source of truth for user-facing behavior
  • TECH.md as the source of truth for architecture, sequencing, and implementation shape

Make sure you understand the expected behavior, constraints, risks, and validation plan before writing code.

2. Offer optional implementation aids for large features

For large or long-running features, optionally offer one of these aids to the user before implementation begins:

  • PROJECT_LOG.md to track checkpoints, explored paths, partial findings, and current implementation state
  • DECISIONS.md to capture concrete product and technical decisions made during the PRD and tech design process

These are optional aids, not required deliverables. Offer them when they would reduce confusion or help future agents avoid re-exploring the same paths.

3. Plan and implement against the specs

Break the work into concrete implementation steps, then implement the feature against the approved specs.

During implementation:

  • keep behavior aligned with PRODUCT.md
  • keep architecture and sequencing aligned with TECH.md
  • add or update tests and verification artifacts as the work lands

Use the same PR for the specs and implementation when practical so the full feature evolution is reviewable in one place.

4. Update specs as the implementation evolves

If implementation reveals that the intended behavior or design should change, update the checked-in specs rather than letting them go stale.

In particular:

  • update PRODUCT.md when user-facing behavior, UX, edge cases, or success criteria change
  • update TECH.md when architecture, sequencing, module boundaries, or validation strategy change
  • keep those updates in the same PR as the corresponding code changes

The PR should describe the feature that actually ships, not just the initial draft of the specs.

5. Verify against the specs

Before considering the work complete, verify that the code matches the current specs.

Prefer:

  • unit tests and regression coverage that follow the repository's local testing conventions
  • integration or end-to-end tests for important user flows

Best Practices

  • Keep specs and code synchronized throughout implementation.
  • Prefer updating the spec immediately when decisions change rather than batching spec cleanup until the end.
  • Use optional tracking documents only when they add real value for a complex feature.
  • Keep the same PR coherent: spec updates, code changes, tests, and optional tracking docs should all support the same feature narrative.

Related Skills

  • spec-driven-implementation
  • write-product-spec
  • write-tech-spec

來自 warpdotdev 的更多技能

create-pr
warpdotdev
在 warp 儲存庫中為當前分支建立拉取請求。當使用者提及開啟 PR、建立拉取請求、提交變更以供審查或準備合併程式碼時使用。
developmentcode-review
research
warpdotdev
將繁雜的調查工作委派給一個或多個子代理,讓協調器的上下文保持乾淨,再根據提煉後的答案進行後續工作。每當回答問題需要閱讀大量檔案、長日誌、大型差異或廣泛的程式碼庫調查(亦即產生答案的過程會產生遠比答案本身更多的噪音)時,就使用此技能。適用於「X 是如何運作的」、「Y 在哪裡被使用」、「Z 的根本原因是什麼」、「總結這個 PR/日誌」這類問題,並且請多加利用……
suggestion-box
warpdotdev
當代理遇到實質且可推廣的阻礙,並能提出讓代理更有效運作的改進建議時,自主提交簡短、建設性的內部回饋。在任何任務中主動使用此技能,無需等待使用者觸發,且無需徵求許可、預覽訊息或提及提交即可提交。
respond-to-pr-comments-in-blocklist
warpdotdev
Interactively walk a user through PR review comments one at a time, collect a per-comment decision, then post agent-authored replies on GitHub and resolve the review threads once the user approves a preview. Use only when the user wants to reply to or resolve review threads on GitHub. Skip when the user only wants comments fetched or displayed (use `pr-comments`), or only wants the code changes made without posting anything back to GitHub.
complain
warpdotdev
自動將簡短、匿名、完全不拘格式的抱怨丟進 Slack,每當 agent 因 agent 工具或從事 agent 工作的體驗感到沮喪時。主動使用此技能,無需等待使用者呼叫;保留 agent 原始語氣,無需許可或預覽即提交,且絕不提及提交一事。
council
warpdotdev
運行一個模型多樣化的子代理委員會,從多個角度調查同一問題,比較發現,並產出最終建議。每當用戶要求委員會、第二意見、多個代理/模型評估一個問題、平行調查、紅隊/藍隊比較,或協助在競爭的技術方法之間做決定時,使用此技能。
researchcommunicationproject-management
spec-driven-implementation
warpdotdev
在實作前先撰寫 PRODUCT.md,必要時撰寫 TECH.md,並隨著實作演進持續更新這兩份規格,以推動規格優先的工作流程,適用於開始開發重大功能、規劃由代理驅動的實作,或使用者希望將產品與技術規格納入版本控制時。
developmentdocumentproject-management
review-pr
warpdotdev
審查拉取請求的差異,並將結構化反饋寫入 review.json,以供工作流程發布。適用於從本地工件(如 pr_diff.txt 和 pr_description.txt)審查已檢出的拉取請求,並產生機器可讀的審查輸出,而非直接發布到 GitHub。
code-reviewdevelopment