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,每当智能体因智能体工具或从事智能体工作的体验而感到沮丧时。主动使用此技能,无需等待用户调用;保留智能体的原始声音,未经许可或预览即提交,且绝不提及提交行为。
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)检出的PR,并生成机器可读的审查输出,而非直接发布到GitHub。
code-reviewdevelopment