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-ops
workspace-surface-audit
api-connector-builder
dashboard-builder
tdd-workflow
verification-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 Codex, Codex, Cursor, OpenCode, and ECC 2.0 planning surfaces.
1---2name: product-capability3description: 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.4---5
6# Product Capability
7
8This skill turns product intent into explicit engineering constraints.
9
10Use it when the gap is not "what should we build?" but "what exactly must be true before implementation starts?"
11
12## When to Use
13
14- A PRD, roadmap item, discussion, or founder note exists, but the implementation constraints are still implicit
15- A feature crosses multiple services, repos, or teams and needs a capability contract before coding
16- Product intent is clear, but architecture, data, lifecycle, or policy implications are still fuzzy
17- Senior engineers keep restating the same hidden assumptions during review
18- You need a reusable artifact that can survive across harnesses and sessions
19
20## Canonical Artifact
21
22If the repo has a durable product-context file such as `PRODUCT.md`, `docs/product/`, or a program-spec directory, update it there.
23
24If no capability manifest exists yet, create one using the template at:
25
26- `docs/examples/product-capability-template.md`
27
28The goal is not to create another planning stack. The goal is to make hidden capability constraints durable and reusable.
29
30## Non-Negotiable Rules
31
32- Do not invent product truth. Mark unresolved questions explicitly.
33- Separate user-visible promises from implementation details.
34- Call out what is fixed policy, what is architecture preference, and what is still open.
35- If the request conflicts with existing repo constraints, say so clearly instead of smoothing it over.
36- Prefer one reusable capability artifact over scattered ad hoc notes.
37
38## Inputs
39
40Read only what is needed:
41
421. Product intent
43 - issue, discussion, PRD, roadmap note, founder message
442. Current architecture
45 - relevant repo docs, contracts, schemas, routes, existing workflows
463. Existing capability context
47 - `PRODUCT.md`, design docs, RFCs, migration notes, operating-model docs
484. Delivery constraints
49 - auth, billing, compliance, rollout, backwards compatibility, performance, review policy
50
51## Core Workflow
52
53### 1. Restate the capability
54
55Compress the ask into one precise statement:
56
57- who the user or operator is
58- what new capability exists after this ships
59- what outcome changes because of it
60
61If this statement is weak, the implementation will drift.
62
63### 2. Resolve capability constraints
64
65Extract the constraints that must hold before implementation:
66
67- business rules
68- scope boundaries
69- invariants
70- trust boundaries
71- data ownership
72- lifecycle transitions
73- rollout / migration requirements
74- failure and recovery expectations
75
76These are the things that often live only in senior-engineer memory.
77
78### 3. Define the implementation-facing contract
79
80Produce an SRS-style capability plan with:
81
82- capability summary
83- explicit non-goals
84- actors and surfaces
85- required states and transitions
86- interfaces / inputs / outputs
87- data model implications
88- security / billing / policy constraints
89- observability and operator requirements
90- open questions blocking implementation
91
92### 4. Translate into execution
93
94End with the exact handoff:
95
96- ready for direct implementation
97- needs architecture review first
98- needs product clarification first
99
100If useful, point to the next ECC-native lane:
101
102- `project-flow-ops`
103- `workspace-surface-audit`
104- `api-connector-builder`
105- `dashboard-builder`
106- `tdd-workflow`
107- `verification-loop`
108
109## Output Format
110
111Return the result in this order:
112
113```text
114CAPABILITY
115- one-paragraph restatement
116
117CONSTRAINTS
118- fixed rules, invariants, and boundaries
119
120IMPLEMENTATION CONTRACT
121- actors
122- surfaces
123- states and transitions
124- interface/data implications
125
126NON-GOALS
127- what this lane explicitly does not own
128
129OPEN QUESTIONS
130- blockers or product decisions still required
131
132HANDOFF
133- what should happen next and which ECC lane should take it
134```
135
136## Good Outcomes
137
138- Product intent is now concrete enough to implement without rediscovering hidden constraints mid-PR.
139- Engineering review has a durable artifact instead of relying on memory or Slack context.
140- The resulting plan is reusable across Codex, Codex, Cursor, OpenCode, and ECC 2.0 planning surfaces.