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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-impl-tools:si-planningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **목표**: 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.md목표: 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 — 초기 버전)
npx claudepluginhub insightflo/claude-impl-tools --plugin claude-impl-toolsElicits 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 from business context through functional requirements with full traceability. Coordinates skills for business context, customer problems, software glance, customer needs, software vision, and functional requirements.
Transforms vague goals into structured requirements via systematic interview. Three phases: Interview, Extract, Cross-check. Outputs requirements.md consumed by /blueprint.