npx skills add ...
npx skills add warpdotdev/common-skills --skill implement-specs
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.
npx skills add warpdotdev/common-skills --skill implement-specs
Implement an approved feature from PRODUCT.md and TECH.md.
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.
Before using this skill:
PRODUCT.md existsTECH.md exists when the feature warranted oneTreat:
PRODUCT.md as the source of truth for user-facing behaviorTECH.md as the source of truth for architecture, sequencing, and implementation shapeMake sure you understand the expected behavior, constraints, risks, and validation plan before writing code.
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 stateDECISIONS.md to capture concrete product and technical decisions made during the PRD and tech design processThese are optional aids, not required deliverables. Offer them when they would reduce confusion or help future agents avoid re-exploring the same paths.
Break the work into concrete implementation steps, then implement the feature against the approved specs.
During implementation:
PRODUCT.mdTECH.mdUse the same PR for the specs and implementation when practical so the full feature evolution is reviewable in one place.
If implementation reveals that the intended behavior or design should change, update the checked-in specs rather than letting them go stale.
In particular:
PRODUCT.md when user-facing behavior, UX, edge cases, or success criteria changeTECH.md when architecture, sequencing, module boundaries, or validation strategy changeThe PR should describe the feature that actually ships, not just the initial draft of the specs.
Before considering the work complete, verify that the code matches the current specs.
Prefer:
spec-driven-implementationwrite-product-specwrite-tech-spec