PluginBench
Skill
Pass
Audit score 90

implement-specs

warpdotdev/common-skills

Implement approved features while keeping PRODUCT.md and TECH.md synchronized with code in a single PR.

What is implement-specs?

This skill guides you through building a feature after product and tech specs are approved. It emphasizes keeping specs and implementation aligned throughout the development process, updating specs as implementation reveals necessary changes, and delivering the feature and its documentation together in one PR.

  • Read and understand approved PRODUCT.md and TECH.md before writing code
  • Break work into concrete implementation steps aligned with specs
  • Update specs immediately when implementation reveals necessary changes
  • Add tests and verification artifacts following repository conventions
  • Keep specs, code, tests, and optional tracking docs in the same PR

How to install implement-specs

npx skills add https://github.com/warpdotdev/common-skills --skill implement-specs
Prerequisites
  • PRODUCT.md exists and has been reviewed and approved
  • TECH.md exists (when the feature warrants one) and has been reviewed and approved
  • Feature is ready to move from design to implementation phase
Claude Code
Cursor
Windsurf
Cline

How to use implement-specs

  1. 1.Read PRODUCT.md and TECH.md thoroughly to understand expected behavior, constraints, risks, and validation plan
  2. 2.Optionally offer PROJECT_LOG.md or DECISIONS.md for large features to track checkpoints and decisions
  3. 3.Break the feature into concrete implementation steps based on the specs
  4. 4.Implement the feature while keeping behavior aligned with PRODUCT.md and architecture aligned with TECH.md
  5. 5.Update specs in the same PR whenever implementation reveals necessary changes to behavior or design
  6. 6.Add unit tests, integration tests, or end-to-end tests following repository conventions
  7. 7.Verify that final code matches the current specs before considering work complete

Use cases

Good for
  • Building a feature after product and tech specs have been reviewed and approved
  • Implementing complex features where tracking decisions and checkpoints reduces confusion
  • Ensuring feature behavior matches user-facing spec requirements
  • Maintaining architecture alignment with technical design during development
  • Coordinating spec updates with code changes to keep documentation current
Who it's for
  • Engineers implementing approved features
  • Teams using spec-driven development workflows
  • Projects requiring synchronized specs and implementation
  • Developers working on features with formal product and technical design

implement-specs FAQ

Should specs and code be in the same PR?

Yes, when practical. Keeping specs, code, tests, and optional tracking documents in the same PR ensures the full feature evolution is reviewable in one place and the PR describes the feature that actually ships.

What should I do if implementation reveals the specs need to change?

Update the checked-in specs immediately rather than letting them go stale. Update PRODUCT.md for user-facing behavior changes and TECH.md for architecture or sequencing changes, keeping those updates in the same PR as the corresponding code.

Are PROJECT_LOG.md and DECISIONS.md required?

No, they are optional aids. Offer them only when they would reduce confusion or help future agents avoid re-exploring the same paths, typically for large or long-running features.

What is the source of truth for behavior and architecture?

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

What testing approach should I use?

Prefer unit tests and regression coverage following the repository's local testing conventions, plus integration or end-to-end tests for important user flows.

Full instructions (SKILL.md)

Source of truth, from warpdotdev/common-skills.


name: implement-specs description: Implement an approved feature from PRODUCT.md and TECH.md, keeping specs and code aligned in the same PR as implementation evolves. Use after the product and tech specs are approved and the next step is building the feature.

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