Purpose
Carry a clarified requirement to a production-ready change without skipping
the steps that make it safe: understanding the codebase, designing the
smallest viable change, testing it, and leaving a deployment/rollback plan —
not just writing code that runs once locally.
When to use
- A specific, reasonably well-defined feature or change needs to go from
requirement to shipped.
When NOT to use
- The requirement is still vague/unscoped — run
product-manager first.
- It's a one-line fix with an already-known cause — just make the change
and add/run a regression test; this skill's full ceremony isn't needed.
- It's a bug with an unknown cause — that's
debugging-investigator, not
this skill (this skill assumes the what is known; only the how is
being worked out).
Required inputs
- A requirement with clear (or clarifiable) acceptance criteria.
- Repository access.
Workflow
This skill orchestrates its own steps plus, at defined points, hands off to
other skills that own that specific stage. Do not have those skills
invoke this skill back — the flow is one-directional to avoid recursive
invocation.
- Requirement — restate what's being asked in your own words to
surface ambiguity early.
- Clarify acceptance criteria — if not already explicit, define what
"done" looks like concretely enough to test against. If the requirement
is too vague to do this, that's a signal to hand off to
product-manager
rather than guessing.
- Inspect the repository (owned by
repo-architect if this is an
unfamiliar codebase or area) — understand what exists before designing
the change. Skip this step's full ceremony if you already have a solid
model of the relevant area from earlier in the session.
- Understand current architecture in the specific area being changed —
what module, what existing patterns, what would a consistent change
look like.
- Design the smallest viable change — the minimal modification that
satisfies the acceptance criteria. Resist bundling in unrelated
improvements or speculative generalization.
- Identify affected interfaces — what other code calls into or depends
on what's being changed; check for all call sites, not just the obvious one.
- Implementation plan — sequence of concrete steps, including what
tests will be added before or alongside the code.
- Tests — write tests for the acceptance criteria before or alongside
implementation; a feature isn't done when it works once manually, it's
done when a test proves it.
- Implementation — build the smallest viable change from step 5.
- Verification — run the tests, and manually exercise the feature if
testable interactively (e.g. via a running dev server, per the
run
skill's approach if available). If tests unexpectedly fail here and the
cause isn't obvious, hand off to debugging-investigator rather than
guessing at fixes.
- Code review (owned by
production-code-review) — review the
resulting diff across correctness, security, reliability, and the
other review dimensions before considering this done.
- Security/performance checks — covered by step 11's review
dimensions; call out explicitly if this change touches auth, user
input, or a hot path, since those warrant extra scrutiny.
- Documentation — update any docs/README/comments that are now stale
because of this change; don't leave documentation silently out of sync.
- Deployment checklist — migration ordering, feature flags, config
changes needed, and what to monitor immediately after deploy.
- Rollback strategy — how to revert safely if this causes a problem
in production (a flag to flip, a migration that's safely reversible, or
a plain revert if the change has no persisted-state implications).
Tool & resource guidance
- Unfamiliar repo or area →
repo-architect for step 3.
- After implementation →
production-code-review for step 11.
- Tests fail unexpectedly and the cause isn't immediately obvious →
debugging-investigator rather than trial-and-error edits.
- Requirement too vague to define acceptance criteria →
product-manager
before proceeding further with this skill.
Each handoff is one-directional: the called skill does its job and returns
control here. Don't let a called skill re-invoke feature-to-production.
Output contract
- The implemented change, with tests.
- A short implementation summary: what changed, why, and how it was verified.
- A deployment checklist (migrations, flags, config, what to monitor).
- A rollback plan.
- Updated documentation where the change made existing docs stale.
Quality checks
Edge cases
- Feature touches a database migration: the deployment checklist must
address migration ordering relative to code deploy — read
references/deployment-checklists.md and, if production-code-review
runs on this change, its API-contracts-and-compatibility reference.
- Change is large enough that "smallest viable" is still substantial:
consider whether it should be split into an incremental sequence of
smaller, independently-shippable changes, and say so.
- Acceptance criteria turn out to be wrong/incomplete mid-implementation:
stop and re-clarify (step 2) rather than implementing against a guess.
- Rollback plan is non-obvious (migrations, external side effects):
read
references/rollback-strategies.md before finalizing step 15.
References
See examples/add-rate-limiting-walkthrough.md for a full worked example
of this workflow, including a skill handoff to production-code-review.
1---2name: feature-to-production3description: Guides a software feature from a clarified requirement through implementation to production readiness: acceptance criteria, repository understanding, smallest-viable design, tests, implementation, verification, review, security/performance checks, documentation, and a deployment/ rollback plan. Use when asked to build/ship a feature end to end, not just write a snippet. Do not use for a one-line fix (use debugging-investigator if it's a bug) or when the requirement itself is still vague (use product-manager first to scope it).4license: MIT5---67# Purpose89Carry a clarified requirement to a production-ready change without skipping10the steps that make it safe: understanding the codebase, designing the11smallest viable change, testing it, and leaving a deployment/rollback plan —12not just writing code that runs once locally.1314# When to use1516- A specific, reasonably well-defined feature or change needs to go from17 requirement to shipped.1819# When NOT to use2021- The requirement is still vague/unscoped — run `product-manager` first.22- It's a one-line fix with an already-known cause — just make the change23 and add/run a regression test; this skill's full ceremony isn't needed.24- It's a bug with an unknown cause — that's `debugging-investigator`, not25 this skill (this skill assumes the *what* is known; only the *how* is26 being worked out).2728# Required inputs2930- A requirement with clear (or clarifiable) acceptance criteria.31- Repository access.3233# Workflow3435This skill orchestrates its own steps plus, at defined points, hands off to36other skills that own that specific stage. **Do not have those skills37invoke this skill back** — the flow is one-directional to avoid recursive38invocation.39401. **Requirement** — restate what's being asked in your own words to41 surface ambiguity early.422. **Clarify acceptance criteria** — if not already explicit, define what43 "done" looks like concretely enough to test against. If the requirement44 is too vague to do this, that's a signal to hand off to `product-manager`45 rather than guessing.463. **Inspect the repository** *(owned by `repo-architect` if this is an47 unfamiliar codebase or area)* — understand what exists before designing48 the change. Skip this step's full ceremony if you already have a solid49 model of the relevant area from earlier in the session.504. **Understand current architecture** in the specific area being changed —51 what module, what existing patterns, what would a consistent change52 look like.535. **Design the smallest viable change** — the minimal modification that54 satisfies the acceptance criteria. Resist bundling in unrelated55 improvements or speculative generalization.566. **Identify affected interfaces** — what other code calls into or depends57 on what's being changed; check for all call sites, not just the obvious one.587. **Implementation plan** — sequence of concrete steps, including what59 tests will be added before or alongside the code.608. **Tests** — write tests for the acceptance criteria before or alongside61 implementation; a feature isn't done when it works once manually, it's62 done when a test proves it.639. **Implementation** — build the smallest viable change from step 5.6410. **Verification** — run the tests, and manually exercise the feature if65 testable interactively (e.g. via a running dev server, per the `run`66 skill's approach if available). If tests unexpectedly fail here and the67 cause isn't obvious, hand off to `debugging-investigator` rather than68 guessing at fixes.6911. **Code review** *(owned by `production-code-review`)* — review the70 resulting diff across correctness, security, reliability, and the71 other review dimensions before considering this done.7212. **Security/performance checks** — covered by step 11's review73 dimensions; call out explicitly if this change touches auth, user74 input, or a hot path, since those warrant extra scrutiny.7513. **Documentation** — update any docs/README/comments that are now stale76 because of this change; don't leave documentation silently out of sync.7714. **Deployment checklist** — migration ordering, feature flags, config78 changes needed, and what to monitor immediately after deploy.7915. **Rollback strategy** — how to revert safely if this causes a problem80 in production (a flag to flip, a migration that's safely reversible, or81 a plain revert if the change has no persisted-state implications).8283# Tool & resource guidance8485- Unfamiliar repo or area → `repo-architect` for step 3.86- After implementation → `production-code-review` for step 11.87- Tests fail unexpectedly and the cause isn't immediately obvious →88 `debugging-investigator` rather than trial-and-error edits.89- Requirement too vague to define acceptance criteria → `product-manager`90 before proceeding further with this skill.9192Each handoff is one-directional: the called skill does its job and returns93control here. Don't let a called skill re-invoke `feature-to-production`.9495# Output contract9697- The implemented change, with tests.98- A short implementation summary: what changed, why, and how it was verified.99- A deployment checklist (migrations, flags, config, what to monitor).100- A rollback plan.101- Updated documentation where the change made existing docs stale.102103# Quality checks104105- [ ] Every acceptance criterion has a corresponding test.106- [ ] The change is traceable to the smallest viable design — no107 unrelated scope bundled in.108- [ ] All call sites of any changed interface were checked, not just the109 one this task originated from.110- [ ] A rollback plan exists and is specific to this change, not generic111 boilerplate ("just revert the commit" is fine only when there's no112 persisted-state/migration complication — say so explicitly if true).113- [ ] Documentation affected by the change was actually updated.114115# Edge cases116117- **Feature touches a database migration**: the deployment checklist must118 address migration ordering relative to code deploy — read119 `references/deployment-checklists.md` and, if `production-code-review`120 runs on this change, its API-contracts-and-compatibility reference.121- **Change is large enough that "smallest viable" is still substantial**:122 consider whether it should be split into an incremental sequence of123 smaller, independently-shippable changes, and say so.124- **Acceptance criteria turn out to be wrong/incomplete mid-implementation**:125 stop and re-clarify (step 2) rather than implementing against a guess.126- **Rollback plan is non-obvious** (migrations, external side effects):127 read `references/rollback-strategies.md` before finalizing step 15.128129# References130131See `examples/add-rate-limiting-walkthrough.md` for a full worked example132of this workflow, including a skill handoff to `production-code-review`.