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 전용 경로를 안내하십시오:
project-flow-opsworkspace-surface-auditapi-connector-builderdashboard-buildertdd-workflow검증 루프
출력 형식
결과를 다음 순서대로 반환합니다:
기능(CAPABILITY)
- 한 단락 분량의 재진술
제약 조건(CONSTRAINTS)
- 고정된 규칙, 불변 조건 및 경계
구현 계약(IMPLEMENTATION CONTRACT)
- 액터
- 인터페이스
- 상태 및 전환
- 인터페이스/데이터 관련 사항
비목표(NON-GOALS)
- 이 레인이 명시적으로 담당하지 않는 사항
미해결 사항
- 여전히 필요한 차단 요인 또는 제품 관련 결정 사항
인계
- 다음 단계로 어떤 조치가 이루어져야 하며, 어느 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
복사





집
