product-capability
affaan-m/ecc
Translate product intent into implementation-ready capability plans with explicit constraints and interfaces.
What is product-capability?
This skill converts PRD intent, roadmap asks, or product discussions into concrete engineering constraints before multi-service work begins. Use it when product direction is clear but implementation requirements, data models, interfaces, and unresolved decisions are still implicit.
- Compress product asks into precise capability statements (who, what, outcome)
- Extract hidden constraints: business rules, invariants, trust boundaries, data ownership, lifecycle transitions
- Define SRS-style implementation contracts with actors, surfaces, states, and interfaces
- Identify non-goals and open questions blocking implementation
- Produce durable artifacts suitable for reuse across Claude Code, Cursor, and other harnesses
How to install product-capability
npx skills add null --skill product-capability- Existing product intent (PRD, issue, discussion, roadmap note, or founder message)
- Current architecture context (relevant repo docs, schemas, routes, workflows)
- Access to existing capability docs if they exist (PRODUCT.md, design docs, RFCs)
How to use product-capability
- 1.Gather the product intent source (PRD, issue, discussion, or roadmap item)
- 2.Review current architecture and any existing capability context in the repo
- 3.Run the skill to restate the capability in one precise statement
- 4.Extract and document all constraints: business rules, invariants, boundaries, data ownership, lifecycle, rollout requirements
- 5.Define the implementation contract with actors, surfaces, states, transitions, and interfaces
- 6.Identify non-goals and open questions that block implementation
- 7.Determine handoff: ready for implementation, needs architecture review, or needs product clarification
- 8.Store the result in docs/examples/product-capability-template.md or PRODUCT.md for reuse
Use cases
- PRD exists but implementation constraints remain implicit across multiple services
- Feature crosses repos or teams and needs a capability contract before coding starts
- Senior engineers repeatedly surface the same hidden assumptions during review
- Need a reusable product-context artifact that survives across sessions and tools
- Roadmap item is clear on intent but fuzzy on architecture, data, or policy implications
- Product managers and engineers planning cross-service features
- Tech leads and architects translating product vision into implementation specs
- Teams needing durable capability artifacts for multi-session or multi-tool workflows
- Senior engineers documenting implicit constraints before code review
product-capability FAQ
Use this when the PRD exists but implementation constraints are still implicit—when you need to expose hidden assumptions about data models, interfaces, invariants, and policy before coding starts across multiple services.
The skill explicitly calls out conflicts instead of smoothing them over. This surfaces the decision that needs to be made before implementation begins.
Yes. The artifact is designed to be durable and reusable across Claude Code, Cursor, and other harnesses, stored in PRODUCT.md or docs/product/ directories.
Mark unresolved questions explicitly in the OPEN QUESTIONS section. Do not invent product truth; the skill separates what is fixed policy from what is still open.
The handoff section points to the next ECC-native lane: project-flow-ops, workspace-surface-audit, api-connector-builder, dashboard-builder, tdd-workflow, or verification-loop.
Full instructions (SKILL.md)
Source of truth, from affaan-m/ecc.
name: product-capability description: Translate PRD intent, roadmap asks, or product discussions into an implementation-ready capability plan that exposes constraints, invariants, interfaces, and unresolved decisions before multi-service work starts. Use when the user needs an ECC-native PRD-to-SRS lane instead of vague planning prose. metadata: origin: ECC
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:
- Product intent
- issue, discussion, PRD, roadmap note, founder message
- Current architecture
- relevant repo docs, contracts, schemas, routes, existing workflows
- Existing capability context
PRODUCT.md, design docs, RFCs, migration notes, operating-model docs
- 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 it
Good 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.
Related skills
More from affaan-m/ecc and the wider catalog.
product-lens
Validate product direction and diagnose the "why" before building—run founder-level reviews and pressure-test ideas.
production-audit
Local production-readiness audit for shipped apps—no external data sharing, just risk assessment.
production-scheduling
Expert production scheduling for discrete/batch manufacturing: sequencing, bottleneck resolution, changeover optimization, and disruption response.
project-flow-ops
Coordinate GitHub and Linear by triaging issues, linking active work, and keeping execution synchronized across public and internal layers.
project-guidelines-example
Agent skill from affaan-m/ecc.
prompt-optimizer
Analyze and optimize prompts to match ECC components for better task execution.