用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ForceInjection/domain-driven-design-skills --skill user-stories命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | user-stories |
| description | 사용자 관점에서 제품 요구사항을 정의할 때 INVEST 원칙을 따르는 포괄적인 유저스토리를 작성합니다. |
선정된 솔루션과 Event Storming 결과를 기반으로 체계적인 유저스토리를 작성합니다.
think/핵심솔루션.md (solution-selection 결과)define/고객분석.md (customer-analysis 결과)think/es/userflow.pumlthink/es/{순번}-{유저플로우명}.pumlreference/sample_유저스토리.md유저스토리는 마이크로서비스 단위로 구성합니다:
각 유저스토리는 다음 형식을 따릅니다:
예시:
UFR-USER-010: [회원가입] 사용자로서 | 나는 서비스를 이용하기 위해 | 간편하게 회원가입하고 싶다.UFR-CORE-020: [주문하기] 사용자로서 | 나는 상품을 구매하기 위해 | 쉽게 주문하고 싶다.각 UFR은 다음 구조로 상세화합니다:
{상황 설명} | {조건} | {결과}
[입력 요구사항]
[검증 요구사항]
[처리 결과]
우선순위 표기법:
예시: M/13 → Must Have, 13 포인트
복잡한 구현이 필요한 스토리는 기술 태스크를 분리합니다:
각 역할 정의:
계층 구조 생성:
User Service
├── UFR-USER-010: 회원가입
├── UFR-USER-020: 로그인
└── UFR-USER-030: 프로필 관리
Core Service
├── UFR-CORE-010: [기능 1]
├── UFR-CORE-020: [기능 2]
└── UFR-CORE-030: [기능 3]
[이후 스프린트 계속]
체크리스트:
| UFR ID | 리스크/이슈 | 영향도 | 완화 전략 |
|---|---|---|---|
| UFR-XXX-### | [리스크] | 높음 | [전략] |
유저스토리는 반드시 INVEST를 따라야 함:
# 유저스토리
## User Service
### UFR-USER-010: [회원가입] 사용자로서 | 나는 서비스를 이용하기 위해 | 간편하게 회원가입하고 싶다.
- 시나리오: 신규 회원가입
미로그인 상태에서 회원가입 화면에 접근한 상황에서 | 필수 정보를 모두 입력하고 회원가입 버튼을 클릭하면 | 가입이 완료되고 로그인 화면으로 이동한다.
[입력 요구사항]
- 기본 정보
- 이름: 2자 이상 (한글/영문)
- 이메일: 유효한 이메일 형식
- 비밀번호: 8자 이상, 영문+숫자+특수문자
- 추가 정보
- 닉네임: 2-10자 (선택)
- 프로필 이미지: JPG/PNG, 최대 5MB (선택)
[검증 요구사항]
- 이메일 중복 확인: 기존 회원과 중복 불가
- 비밀번호 강도: 보안 정책 준수
- 필수 입력: 이름, 이메일, 비밀번호
[처리 결과]
- 성공 시
- 회원 정보 DB 저장
- 환영 이메일 발송
- 로그인 화면으로 리디렉션
- 실패 시
- 이메일 중복: "이미 사용 중인 이메일입니다" 메시지
- 유효성 오류: 해당 필드에 오류 메시지 표시
- M/13
---
(다음 스토리 반복)
## 사용자 역할
### 역할 1: {역할명}
- **설명**: {역할 설명}
- **권한**: {권한 목록}
- **목표**: {역할의 주요 목표}
### 역할 2: {역할명}
- **설명**: {역할 설명}
- **권한**: {권한 목록}
- **목표**: {역할의 주요 목표}
## Feature Story Map
\```
User Service
├── UFR-USER-010: 회원가입
├── UFR-USER-020: 로그인
└── UFR-USER-030: 프로필 관리
Core Service
├── UFR-CORE-010: {스토리 제목}
├── UFR-CORE-020: {스토리 제목}
└── UFR-CORE-030: {스토리 제목}
\```
## 우선순위 매트릭스
### Must Have (P0) - 필수
1. UFR-USER-010: 회원가입 - 서비스 이용을 위한 필수 기능
2. UFR-CORE-020: {제목} - {설명}
### Should Have (P1) - 중요
UFR-USER-030: {제목} - {설명}
UFR-CORE-030: {제목} - {설명}
UFR-XXX-###: {제목} - {설명}
UFR-XXX-###: {제목} - {설명}
: {스프린트의 핵심 목표}
[ ] UFR-USER-010: 회원가입 (M/5)
[ ] UFR-USER-020: 로그인 (M/3)
[ ] UFR-CORE-010: {제목} (S/2)
: 10
: {날짜}
: {스프린트의 핵심 목표}
[ ] UFR-CORE-020: {제목} (M/8)
[ ] UFR-USER-030: {제목} (S/5)
: 13
: {날짜}
(이후 스프린트 계속)
: 3G 네트워크에서 3초 이내, WiFi에서 1초 이내
: 200ms 이내
: 1000명 이상
: 초당 100건 이상
: 모든 통신 암호화
: JWT 또는 OAuth 기반
: 민감 데이터 암호화 저장
: 정기적인 보안 점검
: 모든 기기에서 최적화된 화면
: WCAG 2.1 AA 이상 준수
: 최소 2개 언어 지원
: Chrome, Safari, Firefox, Edge 최신 2개 버전
: 트래픽 증가 시 서버 추가 가능
: 클라우드 환경 최적화
: 서비스 독립 배포 가능
: Redis 기반 캐싱
각 스토리 완료 기준:
[ ] 코드 작성 완료
[ ] 코드 리뷰 완료 (최소 1명)
[ ] 코딩 스타일 가이드 준수
[ ] 기술 부채 최소화
[ ] 단위 테스트 작성 및 통과 (커버리지 80% 이상)
[ ] 통합 테스트 통과
[ ] E2E 테스트 통과 (주요 플로우)
[ ] 성능 테스트 통과
[ ] 코드 주석 작성
[ ] API 문서 업데이트
[ ] 사용자 가이드 업데이트
[ ] 변경 사항 로그 작성
[ ] 스테이징 환경 배포
[ ] QA 검증 완료
[ ] 프로덕션 배포 승인
[ ] 프로덕션 배포 완료
| UFR ID | 리스크/이슈 | 영향도 | 발생 가능성 | 완화 전략 | 담당자 |
|----------|-----------|--------|-----------|----------|--------|
| UFR-USER-010 | {리스크 설명} | 높음 | 중간 | {완화 전략} | {담당자} |
| UFR-CORE-020 | {리스크 설명} | 중간 | 높음 | {완화 전략} | {담당자} |
| UFR ID | 의존하는 스토리 | 의존성 타입 | 해결 방법 |
|----------|--------------|-----------|----------|
| UFR-CORE-020 | UFR-USER-010 | 기술적 의존성 | {해결 방법} |
| UFR-XXX-### | UFR-CORE-020 | 비즈니스 의존성 | {해결 방법} |
UFR-{서비스}-{번호} 형식으로 모든 스토리 작성reference/sample_유저스토리.md의 형식 준수복잡한 유저스토리 분석과 우선순위 결정이 필요할 때 Sequential MCP를 활용하여 체계적으로 백로그를 구성하세요.
design/userstory.mdUFR-{서비스}-{번호} 형식 엄격히 사용reference/sample_유저스토리.md 형식 참고유저스토리 작성 완료 후: