product-capability
affaan-m/ECC
在多服务协作开始之前,将产品需求、产品需求文档(PRD)或路线图讨论转化为明确且可直接实施的功能计划,其中应包含约束条件、不变量、接口以及待解决的问题。
...展开全部产品能力
这项能力将产品意图转化为明确的工程约束条件。
当问题不在于“我们应该构建什么?”,而在于“在开始实施之前,哪些条件必须满足?”时,请使用此技能。
何时使用
- 已存在产品需求文档(PRD)、路线图条目、讨论记录或创始人备忘录,但实现约束条件仍处于隐含状态
- 某项功能涉及多个服务、代码仓库或团队,且在编码前需要签订能力契约
- 产品意图明确,但架构、数据、生命周期或政策方面的影响仍不明确
- 资深工程师在评审过程中不断重申相同的隐含假设
- 您需要一个可复用的成果,能够跨越不同测试框架和会议而持续有效
规范化工件
如果代码库中存在持久化的产品上下文文件(如PRODUCT.md、docs/product/ 或 program-spec 目录),请在此处进行更新。
如果尚未存在功能清单,请使用以下模板创建一个:
docs/examples/product-capability-template.md
目标并非创建另一个规划栈,而是让隐藏的能力约束具备持久性和可复用性。
不可协商的规则
- 不要凭空捏造产品真相。请明确标注未解决的问题。
- 将用户可见的承诺与实现细节区分开来。
- 明确区分哪些是固定政策、哪些是架构偏好、哪些仍待确定。
- 如果请求与现有仓库约束冲突,请明确指出,而不是敷衍了事。
- 优先采用可重用的功能组件,而非零散的临时笔记。
输入
仅阅读必要内容:
- 产品意图
- 问题单、讨论记录、产品需求文档(PRD)、路线图备注、创始人公告
- 当前架构
- 相关仓库文档、接口、数据模型、路由、现有工作流
- 现有功能背景
PRODUCT.md、设计文档、RFC、迁移说明、运营模式文档
- 交付约束
- 身份验证、计费、合规性、部署、向后兼容性、性能、审核政策
核心工作流
1. 重述该功能
将需求浓缩为一个精确的陈述:
- 用户或操作员是谁
- 该功能上线后将新增哪些功能
- 该功能将带来哪些结果变化
如果这一表述不够明确,实施过程就会偏离目标。
2. 解决功能约束
提炼出实施前必须满足的约束条件:
- 业务规则
- 范围边界
- 不变量
- 信任边界
- 数据所有权
- 生命周期转换
- 部署/迁移要求
- 故障与恢复预期
这些内容往往只存在于资深工程师的记忆中。
3. 定义面向实现的契约
制定一份类似SRS(系统需求规格说明书)风格的功能规划,其中应包含:
- 功能概要
- 明确的非目标
- 参与方与交互界面
- 必需的状态与转换
- 接口/输入/输出
- 对数据模型的影响
- 安全性/计费/策略约束
- 可观测性与运维人员要求
- 阻碍实施的未决问题
4. 转化为执行方案
以明确的交接环节收尾:
- 已准备好直接实施
- 需先进行架构审查
- 需先明确产品需求
如有必要,请指向下一个ECC原生路径:
项目流程运维工作区界面审核api-connector-builder仪表盘构建器tdd-工作流验证循环
输出格式
按以下顺序返回结果:
能力
- 一段话的重新表述
约束
- 固定规则、不变量和边界
实现契约
- 参与者
- 交互面
- 状态与转换
- 接口/数据影响
非目标
- 该责任域明确不负责的内容
未决问题
- 仍需解决的阻碍因素或产品决策
交接
- 后续应采取的行动以及应由哪个ECC责任域接手
良好结果
- 产品意图现已足够具体,可在实施过程中避免在PR过程中重新发现隐藏的约束条件。
- 工程评审拥有了持久的交付成果,而非依赖记忆或 Slack 中的上下文。
- 最终形成的计划可在 Claude Code、Codex、Cursor、OpenCode 以及 ECC 2.0 等规划平台间复用。
---
name: product-capability
description: Translate product intent, PRDs, or roadmap discussions into explicit, implementation-ready capability plans with constraints, invariants, interfaces, and open questions before multi-service work begins.
---
# 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-ops`
- `workspace-surface-audit`
- `api-connector-builder`
- `dashboard-builder`
- `tdd-workflow`
- `verification-loop`
## Output Format
Return the result in this order:
```text
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.
所有文件
1 个文件安装 product-capability
下载技能文件并将其解压到 .claude/skills/ 目录中。
下载ZIP克隆仓库并复制技能文件到您的项目中。
git clone https://github.com/affaan-m/ECC/tree/main/skills/product-capability # Copy SKILL.md to your .claude/skills/ directory
复制





首页
