From claude-impl-tools
Collects SI project requirements via Socratic questioning and domain checklists, validates completeness, auto-generates artifacts (requirements analysis, functional/UI specs, traceability matrix), performs change impact analysis, and enables dashboard sharing.
npx claudepluginhub insightflo/claude-impl-tools --plugin claude-impl-toolsThis skill uses the workspace's default tool permissions.
> **목표**: SI 프로젝트의 요구사항을 빠짐없이 수집하고, 도메인별 검증을 거쳐, 표준 산출물을 자동 생성한다.
references/change-management.mdreferences/domain-profiles.mdreferences/gap-detection.mdreferences/question-framework.mdreferences/si-standards.mdscripts/si-dashboard.jstemplates/functional-spec.mdtemplates/requirements-analysis.mdtemplates/screen-spec.mdtemplates/si-state.jsontemplates/traceability-matrix.mdElicits requirements through structured questioning and generates high-quality SRS documents aligned with ISO/IEC/IEEE 29148 when no prior specs exist.
Orchestrates Problem-Based SRS methodology to derive traceable functional requirements from business problems via 6 structured steps and sub-skills.
Turns vague goals into structured requirements.md via systematic interview across business/user/tech axes, extraction, and cross-check. Outputs for /blueprint in greenfield/feature/refactor/bugfix formats.
Share bugs, ideas, or general feedback.
목표: SI 프로젝트의 요구사항을 빠짐없이 수집하고, 도메인별 검증을 거쳐, 표준 산출물을 자동 생성한다.
철학: 요구사항은 "물어서 얻는 것"이 아니라 "함께 발견하는 것". 고객의 암묵지를 구조화된 명세로 변환한다.
/si-planning # 전체 워크플로우 (Phase 0-4)
/si-planning --domain=공공 # 도메인 지정 시작
/si-planning --add # 요구사항 추가
/si-planning --change RD-FR-003 # 요구사항 변경 + 영향 분석
/si-planning --gap # Gap Detection만 재실행
/si-planning --dashboard # 대시보드 서버 시작
/si-planning --dashboard --port=3030 # 포트 지정
docs/si/docs/si/si-state.json# --domain 플래그 확인 또는 사용자에게 질문
DOMAIN={공공|금융|의료|제조|유통|커스텀}
도메인 선택 시 자동 로드:
상세: references/domain-profiles.md
Ambiguity Score가 0.3 이하가 될 때까지, Phase 2로 넘어가지 않는다.
AskUserQuestion으로 수집:
"현재 이 업무를 어떻게 처리하고 있나요?"
"아침에 출근하면 이 업무와 관련해서 첫 번째로 하는 일은?"
"그 과정에서 가장 불편한 점 3가지는?"
"지금 쓰고 있는 시스템/도구는?"
"이 시스템이 완성되면, 아까 말한 불편함이 어떻게 해결되나요?"
"가장 먼저 바뀌어야 할 것 3가지는?"
"이 시스템 없이는 절대 안 되는 기능은?"
# 정방향: 기능 직접 도출
"핵심 기능을 업무 흐름 순서대로 말해주세요"
# 역방향: Anti-requirements
"절대 일어나면 안 되는 상황은?"
"이전 시스템에서 가장 큰 사고가 뭐였나요?"
# 숨은 요구사항
"이 데이터를 누가 또 보나요?" (숨은 이해관계자)
"이 기능이 장애가 나면 어떤 일이 벌어지나요?" (장애 영향도)
"데이터가 틀리면 누가 책임지나요?" (데이터 거버넌스)
# 도메인 프로파일에서 필수 NFR 로드 후 확인
"동시 접속자는 최대 몇 명 정도?" → 성능효율성
"장애 시 허용 가능한 중단 시간은?" → 신뢰성
"법적/규정적으로 꼭 지켜야 하는 것은?" → 보안성/호환성
"기존 시스템과 연동해야 할 것은?" → 상호운용성
"비슷한 시스템을 써본 적 있으면, 그것과 비교하면?"
"그 시스템에서 좋았던 점/나빴던 점은?"
"이 시스템의 결과물을 보고받는 상위 관리자는?"
"이 시스템에 데이터를 넣는 사람과 쓰는 사람이 다른가요?"
"외부 기관과 데이터를 주고받나요?"
Phase 1 수집 중 Gray area(명확한 답이 없는 결정 사항) 발견 시:
/discuss 스킬 호출하여 결정 수집.claude/CONTEXT.md에 기록Gray Area 발견 시:
"이 부분은 여러 방법이 있는데, 어떻게 할지 결정이 필요합니다"
→ /discuss 호출 → CONTEXT.md 생성
→ Phase 3 서브에이전트에 CONTEXT.md 경로 전달
Gray area 예시:
6가지 명확성 차원 평가 (각 0.0~1.0, 낮을수록 명확):
| 차원 | 측정 기준 |
|---|---|
| 문제 정의 | As-Is/To-Be 명확성 |
| 대상 사용자 | 이해관계자 식별 완료도 |
| 핵심 기능 | 기능 목록의 구체성 |
| 비기능 요건 | NFR 정량화 여부 |
| 범위 경계 | 포함/불포함 명확성 |
| 성공 기준 | 검수 조건 정의 여부 |
Score = 6개 차원 평균. 0.3 이하면 Phase 2 진입.
상세 질문 체계: references/question-framework.md
# 기능 요구사항
RD-FR-001 ~ RD-FR-NNN
# 비기능 요구사항
RD-NFR-001 ~ RD-NFR-NNN
# 기능 정의
FN-001 ~ FN-NNN
# 화면 정의
SC-001 ~ SC-NNN
# 테스트 케이스 (향후)
TC-001 ~ TC-NNN
각 요구사항에 AskUserQuestion으로 우선순위 확인:
각 FR에 대해:
[Gap Detection 실행]
❌ RD-FR-012 (권한관리) → 기능정의 없음
❌ SC-005 (에러화면) → 요구사항 역추적 불가
⚠️ 공공 도메인 필수: '감사로그' 관련 요구사항 0건
⚠️ 비기능 '백업/복구' 요구사항 미정의
⚠️ 숨은 이해관계자 '감사부서'에 대한 요구사항 없음
Gap 발견 시 사용자에게 보고 → 추가 수집 또는 "의도적 제외" 확인
상세: references/gap-detection.md
서브에이전트에 위임하여 메인 컨텍스트 보호:
Agent(
subagent_type="builder",
name="si-docs-generator",
prompt="""
수집된 요구사항 정보를 기반으로 docs/si/ 폴더에 4개 산출물 + 1개 상태 파일 생성:
1. docs/si/requirements-analysis.md — 요구사항분석서
2. docs/si/functional-spec.md — 기능정의서
3. docs/si/screen-spec.md — 화면정의서
4. docs/si/traceability-matrix.md — 요구사항추적표
5. docs/si/si-state.json — 대시보드 상태 데이터
[수집된 정보 JSON 전달]
[.claude/CONTEXT.md 경로가 있으면 함께 전달]
각 문서는 templates/ 폴더의 템플릿을 따릅니다.
mkdir -p docs/si 먼저 실행하세요.
"""
)
산출물 생성 중 발견한 누락/오류를 자동 처리하는 규칙.
상황: 산출물 생성 중 RTM 매핑 누락 발견 동작:
[Rule 1 - Gap Fix] {설명} 로 추적상황: 도메인 체크리스트 필수 항목이 요구사항에 없음 동작:
[Rule 2 - Critical Add] {설명} 로 추적상황: 산출물 간 ID 불일치 (예: 기능정의서에 FN-015가 있는데 추적표에 없음) 동작:
[Rule 3 - Consistency Fix] {설명} 로 추적모든 deviation은 si-state.json의 gaps 배열에 기록:
{
"id": "DEV-001",
"rule": "Rule 2",
"type": "Critical Add",
"description": "공공 도메인 필수: 감사로그 NFR 자동 추가",
"target": "RD-NFR-014",
"status": "draft"
}
Glob("docs/si/*.md") # 4개 파일 존재 확인
Read("docs/si/si-state.json") # JSON 유효성 확인
핵심 원칙: 산출물 완성 ≠ 요구사항 충족. 목표에서 역산하여 검증한다.
Goal-backward 검증 흐름:
프로젝트 목표 (Goal)
↓
Must-have: 이 목표를 달성하려면 반드시 필요한 요구사항은?
↓
Must-exist: 각 요구사항이 기능정의서에 존재하는가?
↓
Must-wired: 각 기능이 화면에 연결되어 있는가?
↓
실제 산출물 교차 검증
실행:
# Must-have 검증: 프로젝트 목표 대비 요구사항 완전성
grep -c "RD-FR" docs/si/requirements-analysis.md
# Must-exist 검증: 요구사항 대비 기능 존재 확인
grep -c "FN-" docs/si/functional-spec.md
# Must-wired 검증: 기능 대비 화면 연결 확인
grep -c "SC-" docs/si/screen-spec.md
추적성 검증 결과:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GOAL-BACKWARD VERIFICATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Goal → Must-have (요구사항): 45건 확인
Must-have → Must-exist (기능): 30/32 (93.8%) ⚠️
Must-exist → Must-wired (화면): 28/30 (93.3%) ⚠️
도메인 체크: 12/15 (80.0%) ❌
미매핑 항목:
- RD-FR-031 → FN 없음
- RD-FR-032 → FN 없음
- FN-029 → SC 없음
- FN-030 → SC 없음
Deviation 적용: 2건 (Rule 2: 1건, Rule 3: 1건)
Gap 발견 시 /quality-auditor의 goal-backward 패턴으로 추가 검증:
vibelab 패턴 적용:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/si-planning COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
요구사항: 45건 (FR: 32, NFR: 13)
추적성: 85%
도메인 체크: 12/15 통과
Ambiguity Score: 0.18
생성된 산출물:
- docs/si/requirements-analysis.md
- docs/si/functional-spec.md
- docs/si/screen-spec.md
- docs/si/traceability-matrix.md
대시보드: /si-planning --dashboard
다음 단계:
- /agile auto (소규모)
- /team-orchestrate (대규모)
- /si-planning --dashboard (고객 공유)
/si-planning --change RD-FR-003
→ 영향 분석:
기능: FN-001, FN-012
화면: SC-001, SC-007
테스트: TC-001, TC-002, TC-015
예상 공수 변동: +2일
→ [승인] 산출물 자동 업데이트
→ [보류] CR-NNN으로 기록만
/si-planning --add
→ Phase 1 질문 재사용 (신규 요구사항만)
→ 기존 ID 체계에 추가
→ Gap Detection 재실행
→ 산출물 업데이트
상세: references/change-management.md
| 상황 | 연결 스킬 |
|---|---|
| 요구사항 수집 전 브레인스토밍 | /neurion |
| Gray area 결정 수집 | /discuss |
| Phase 1 gray area 발견 | /discuss → CONTEXT.md |
| 산출물 완성 후 구현 | /agile auto 또는 /team-orchestrate |
| Phase 3 산출물 생성 중 누락 | Deviation Rules 자동 적용 |
| 산출물 검증 | /quality-auditor |
| Phase 4 목표 검증 | /quality-auditor goal-backward |
| 고객 공유 | /si-planning --dashboard |
| 변경 영향 분석 | /si-planning --change |
Last Updated: 2026-03-29 (v1.0.0 — 초기 버전)