
Product Capability
- 1.4k installs
- 238k repo stars
- Updated August 5, 2026
- affaan-m/ecc
This is a copy of product-capability by affaan-m - installs and ranking accrue to the original listing.
product-capability is an agent skill that converts PRD notes, roadmap items, or product discussions into implementation-ready capability contracts with constraints, invariants, interfaces, and open decisions for develope
About
product-capability is an ECC agent skill that turns fuzzy product intent into explicit engineering constraints before coding starts. Instead of answering what to build in prose, the skill produces a capability plan listing invariants, interfaces, cross-service boundaries, and unresolved decisions developers must settle first. Teams use product-capability when a PRD, roadmap ticket, or stakeholder note exists but implementation assumptions remain implicit. The output is an ECC-native PRD-to-SRS lane that prevents agents from jumping straight into code without a shared contract.
- Translates PRD intent or roadmap asks into explicit engineering constraints
- Produces durable capability manifest with invariants, interfaces and unresolved decisions
- Creates reusable artifact that survives across sessions and multiple services
- Updates PRODUCT.md or uses docs/examples/product-capability-template.md when no manifest exists
- Prevents repeated hidden-assumption discussions in reviews
Product Capability by the numbers
- 1,415 all-time installs (skills.sh)
- +93 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/affaan-m/ecc --skill product-capabilityAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.4k |
|---|---|
| repo stars | ★ 238k |
| Last updated | August 5, 2026 |
| Repository | affaan-m/ecc ↗ |
How do you turn a PRD into engineering constraints?
Turn vague PRD notes or roadmap items into a precise, reusable capability contract that surfaces constraints, invariants, interfaces and open decisions before coding be
Who is it for?
Tech leads and engineers starting multi-service features who need explicit constraints extracted from PRD or roadmap input.
Skip if: Developers who already have a finalized SRS or who only need low-level code generation without product scoping.
When should I use this skill?
User has PRD, roadmap, or product discussion text and asks what must be true before implementation or wants a capability contract.
What you get
Capability contract document with constraints, invariants, interface definitions, and a tracked open-decisions list.
- Capability contract
- Open-decisions register
- Interface and invariant specification
Files
Product Capability
This skill turns product intent into explicit engineering constraints.
Use it when the gap is not "what should we build?" but "what exactly must be true before implementation starts?"
When to Use
- A PRD, roadmap item, discussion, or founder note exists, but the implementation constraints are still implicit
- A feature crosses multiple services, repos, or teams and needs a capability contract before coding
- Product intent is clear, but architecture, data, lifecycle, or policy implications are still fuzzy
- Senior engineers keep restating the same hidden assumptions during review
- You need a reusable artifact that can survive across harnesses and sessions
Canonical Artifact
If the repo has a durable product-context file such as PRODUCT.md, docs/product/, or a program-spec directory, update it there.
If no capability manifest exists yet, create one using the template at:
docs/examples/product-capability-template.md
The goal is not to create another planning stack. The goal is to make hidden capability constraints durable and reusable.
Non-Negotiable Rules
- Do not invent product truth. Mark unresolved questions explicitly.
- Separate user-visible promises from implementation details.
- Call out what is fixed policy, what is architecture preference, and what is still open.
- If the request conflicts with existing repo constraints, say so clearly instead of smoothing it over.
- Prefer one reusable capability artifact over scattered ad hoc notes.
Inputs
Read only what is needed:
1. Product intent
- issue, discussion, PRD, roadmap note, founder message
2. Current architecture
- relevant repo docs, contracts, schemas, routes, existing workflows
3. Existing capability context
PRODUCT.md, design docs, RFCs, migration notes, operating-model docs
4. Delivery constraints
- auth, billing, compliance, rollout, backwards compatibility, performance, review policy
Core Workflow
1. Restate the capability
Compress the ask into one precise statement:
- who the user or operator is
- what new capability exists after this ships
- what outcome changes because of it
If this statement is weak, the implementation will drift.
2. Resolve capability constraints
Extract the constraints that must hold before implementation:
- business rules
- scope boundaries
- invariants
- trust boundaries
- data ownership
- lifecycle transitions
- rollout / migration requirements
- failure and recovery expectations
These are the things that often live only in senior-engineer memory.
3. Define the implementation-facing contract
Produce an SRS-style capability plan with:
- capability summary
- explicit non-goals
- actors and surfaces
- required states and transitions
- interfaces / inputs / outputs
- data model implications
- security / billing / policy constraints
- observability and operator requirements
- open questions blocking implementation
4. Translate into execution
End with the exact handoff:
- ready for direct implementation
- needs architecture review first
- needs product clarification first
If useful, point to the next ECC-native lane:
project-flow-opsworkspace-surface-auditapi-connector-builderdashboard-buildertdd-workflowverification-loop
Output Format
Return the result in this order:
CAPABILITY
- one-paragraph restatement
CONSTRAINTS
- fixed rules, invariants, and boundaries
IMPLEMENTATION CONTRACT
- actors
- surfaces
- states and transitions
- interface/data implications
NON-GOALS
- what this lane explicitly does not own
OPEN QUESTIONS
- blockers or product decisions still required
HANDOFF
- what should happen next and which ECC lane should take itGood Outcomes
- Product intent is now concrete enough to implement without rediscovering hidden constraints mid-PR.
- Engineering review has a durable artifact instead of relying on memory or Slack context.
- The resulting plan is reusable across Claude Code, Codex, Cursor, OpenCode, and ECC 2.0 planning surfaces.
interface:
display_name: "Product Capability"
short_description: "Implementation-ready product capability plans"
brand_color: "#0EA5E9"
default_prompt: "Use $product-capability to turn product intent into an implementation plan."
policy:
allow_implicit_invocation: true
Related skills
How it compares
Use product-capability for pre-implementation scoping contracts; use coding skills after constraints are agreed.
FAQ
What does product-capability output?
product-capability outputs an implementation-ready capability plan with explicit constraints, invariants, interface boundaries, and a list of unresolved decisions teams must close before multi-service coding begins.
When is product-capability better than jumping to code?
product-capability fits when a PRD or roadmap item exists but engineering assumptions stay implicit—especially for cross-service features where missing invariants cause expensive rework later.