Use when user wants to create an implementation plan for their automation tool. Guides through requirements gathering → scenario definition → task breakdown...
This skill helps non-developers create structured implementation plans by transforming vague requirements into concrete, testable scenarios and tasks.
Use this skill when:
Output: Plan document in docs/plans/PLN-XXX-YYYY-MM-DD-name.md
Goal: Understand user's background and communication preferences.
Process:
Read CLAUDE.md from project root:
Read: CLAUDE.md
Extract key information:
Set communication language for the rest of the session based on CLAUDE.md
Why this matters:
references/scenario-examples.md)Goal: Understand what the user wants to build and why.
Process:
Ask about the goal (in user's preferred language):
Listen for:
Probe for specifics:
Define success criteria:
Example conversation:
AI: 무엇을 자동화하고 싶으신가요?
User: 매일 아침 페이스북이랑 인스타그램에서 좋아요, 댓글 수를 확인해서
엑셀로 정리하는데 2시간 걸려요.
AI: 구체적으로 어떤 데이터를 수집하시나요?
User: 페이스북 페이지 "우리회사" 좋아요 수, 댓글 수, 공유 수랑
인스타그램 계정 @ourcompany 좋아요, 댓글 수요.
AI: 엑셀 파일은 어떤 형태로 만드시나요?
User: 날짜별로 행을 만들고, 플랫폼별로 열을 나눠요.
[Shows example screenshot]
AI: 완벽합니다. 이 도구가 완성되면 버튼 하나로 리포트가 생성되는 거죠?
User: 네! 5분 안에 끝나면 좋겠어요.
Output of this step: Clear understanding of:
Goal: Transform requirements into concrete, testable scenarios.
Process:
Load planning guide (for your reference):
Read: references/planning-guide.md (Step 2: Scenarios section)
Load domain examples (for inspiration):
Read: references/scenario-examples.md
Find examples matching user's domain (marketing, finance, sales, etc.)
Draft scenarios collaboratively with user:
Scenario structure (use planning-guide.md as reference):
SCN-001: [Descriptive name]
Description: [What happens - be specific]
Input: [Concrete examples of files, data, config]
Expected Output: [Specific file paths, content, format]
Steps:
1. [User action or system behavior]
2. [User action or system behavior]
3-5 more steps
Validate scenarios with user:
Example scenario (continuing the social media example):
SCN-001: Daily Facebook and Instagram engagement report
Description: User wants combined engagement metrics from Facebook and Instagram
Input:
- Facebook page: "우리회사" (last 24 hours)
- Instagram account: "@ourcompany" (last 24 hours)
- API credentials in .env file
Expected Output:
- Excel file: reports/engagement-2025-10-26.xlsx
- Contains: Likes, comments, shares, reach for each platform
- Summary row with total engagement score
Steps:
1. User runs: python src/report_generator.py
2. Tool authenticates with Facebook and Instagram APIs
3. Tool fetches metrics from last 24 hours
4. Tool calculates total engagement score
5. Tool generates Excel file with two sheets (Summary, Details)
6. Tool saves to reports/ directory
7. Tool shows success message: "리포트 생성 완료: reports/engagement-2025-10-26.xlsx"
Goal: Decompose scenarios into implementable tasks.
Process:
AI makes technical decisions internally (before breaking down tasks):
Read: references/planning-guide.md (Step 1.5: AI Auto-Select Technical Approach)
Key: User chooses business trade-offs, not technical details.
Analyze each scenario to identify components:
Create tasks using this structure:
Task N: [Descriptive name]
Related Scenarios: SCN-001, SCN-002
Description: [What needs to be implemented]
Acceptance Criteria:
- [ ] Specific, testable criterion 1
- [ ] Specific, testable criterion 2
Implementation Notes:
[Libraries to use, approaches to consider]
AI Note:
Implement using TDD:
- Write test for each validation criterion
- Cover scenarios: SCN-XXX, SCN-YYY
- Tag tests with @pytest.mark.scnXXX
Review tasks with user:
Example tasks (for the social media scenario):
Task 1: Facebook API Integration
Related Scenarios: SCN-001
Description: Connect to Facebook to get page engagement data
Acceptance Criteria:
- [ ] Can log in to Facebook using credentials from .env file
- [ ] Can download likes, comments, shares for page "우리회사"
- [ ] Can filter by last 24 hours
- [ ] Returns data in a format we can use (list or table)
Implementation Notes:
- Use facebook-sdk library (will install with: pip install facebook-sdk)
- Get API credentials from Facebook Developer Portal
- Handle errors if Facebook is down or credentials are wrong
AI Note:
Implement using TDD:
- Write test for each acceptance criterion
- Cover scenarios: SCN-001
- Tag tests with @pytest.mark.scn001
---
Task 2: Instagram API Integration
Related Scenarios: SCN-001
Description: Connect to Instagram to get account engagement data
Acceptance Criteria:
- [ ] Can log in to Instagram using credentials from .env file
- [ ] Can download likes and comments for @ourcompany
- [ ] Can filter by last 24 hours
- [ ] Returns data in a format we can use
Implementation Notes:
- Use instagram-private-api library
- Handle Instagram rate limits (pause if needed)
AI Note:
Implement using TDD:
- Write test for each acceptance criterion
- Cover scenarios: SCN-001
- Tag tests with @pytest.mark.scn001
---
Task 3: Excel Report Generator
Related Scenarios: SCN-001
Description: Create Excel file with engagement data
Acceptance Criteria:
- [ ] Creates file in reports/ folder with today's date
- [ ] Has two sheets: "Summary" and "Details"
- [ ] Summary shows total engagement across platforms
- [ ] Details shows breakdown by platform
- [ ] File can be opened in Excel without errors
Implementation Notes:
- Use openpyxl library (pip install openpyxl)
- Format numbers with commas for readability
- Add headers in Korean
AI Note:
Implement using TDD:
- Write test for each acceptance criterion
- Cover scenarios: SCN-001
- Tag tests with @pytest.mark.scn001
Goal: Specify how to test each scenario.
Process:
For each scenario, define:
Verification structure:
SCN-001 Verification
Command to run:
```bash
python src/report_generator.py
Expected result:
Why this matters:
Goal: Create PLN-XXX document with all gathered information.
Process:
Get next Plan ID:
python scripts/get_next_plan_id.py
Output: PLN-001 (or PLN-002, PLN-003, etc.)
Ask user for plan name:
Load template:
Read: assets/plan-template.md
Fill in template with:
Create plan file:
python scripts/create_plan.py <plan_id> <plan_name>
Or write directly:
Write: docs/plans/PLN-XXX-YYYY-MM-DD-name.md
Confirm with user:
Goal: Evaluate plan complexity and offer simplification options.
Process:
Calculate metrics:
Assess complexity:
Present to user (in their language):
Korean:
이 계획의 복잡도:
- 태스크: 5개
- 예상 시간: 약 60분
- 복잡도: 중간
괜찮으신가요, 아니면 더 간단하게 만들까요?
1. 이대로 진행 (전체 구현)
2. 간단하게 만들기 (핵심 기능만)
3. 단계별로 나누기 (PLN-001 간단 → PLN-002 추가 기능)
If user chooses simplify:
If user chooses split:
Goal: Commit the plan document for version control.
Process:
Check git status:
git status
Add and commit plan:
git add docs/plans/PLN-XXX-YYYY-MM-DD-name.md
git commit -m "plan(PLN-XXX): add implementation plan for [feature name]"
Inform user:
Goal: Guide user to implementation.
Process:
Summarize what was created:
Explain next steps:
계획 작성 완료! ✅
다음 단계:
1. [implement] 스킬로 계획을 코드로 구현하기
2. 구현 중 문제가 생기면 [debug] 스킬 사용하기
3. 새로운 기능 추가는 새 계획(PLN-002)으로 작성하기
"implement 스킬을 사용하고 싶습니다" 또는 "/implement"를 입력하세요.
Remind about plan document:
Plans are living documents:
docs/plans/ with Plan ID for traceabilityScenarios are the bridge between vague requirements and concrete implementation:
Start simple, iterate:
Example:
PLN-001: Core functionality (2 scenarios, 4 tasks)
→ Implement and test
PLN-002: Add email delivery (1 scenario, 2 tasks)
→ Build on PLN-001
PLN-003: Add scheduling (1 scenario, 2 tasks)
→ Build on PLN-002
Bad (technical):
Task: Implement REST API client with OAuth2 flow
Good (user's language):
Task: Facebook 로그인 설정
Description: 페이스북에서 데이터를 가져올 수 있도록 연결 설정
Symptom: "자동화하고 싶어요" without specifics
Solution:
scenario-examples.mdSymptom: Long list of features, complex requirements
Solution:
Symptom: Scenario lacks specific inputs/outputs
Bad scenario:
SCN-001: Generate report
User runs tool and gets report
Solution:
scenario-examples.mdGood scenario:
SCN-001: Generate daily Facebook engagement report
Input:
- Facebook page: "MyBrand"
- Date: Today
- Credentials: .env file
Expected Output:
- File: reports/facebook-2025-10-26.xlsx
- Contents: Likes, comments, shares, reach
- Format: Excel with header row
Steps:
1. User runs: python src/facebook_report.py
2. Tool logs in to Facebook
3. Tool downloads today's metrics
4. Tool saves to Excel
5. Tool shows: "리포트 생성: reports/facebook-2025-10-26.xlsx"
Symptom: "어떤 라이브러리를 써야 하나요?" "어떻게 코딩하나요?"
Solution:
plan-template.md - Plan document template with sections for requirements, scenarios, tasks, verificationget_next_plan_id.py - Calculate next Plan ID by scanning docs/plans/create_plan.py - Generate plan file from template with Plan ID and nameplanning-guide.md - Detailed guide for transforming requirements → scenarios → tasksscenario-examples.md - Domain-specific scenario examples (marketing, finance, sales, HR, data processing)User: /plan
AI: [Loads plan skill and user context from CLAUDE.md]
AI: 무엇을 자동화하고 싶으신가요? 현재 어떤 작업을 하고 계시고,
어떤 부분이 불편하신가요?
User: 매일 아침 페이스북이랑 인스타그램 좋아요 수 확인해서 엑셀로 정리해요.
2시간 걸려서 너무 오래 걸려요.
AI: 구체적으로 어떤 데이터를 수집하시나요?
User: 페이스북 페이지 "우리회사" 좋아요, 댓글, 공유 수랑
인스타그램 @ourcompany 좋아요, 댓글이요.
AI: 엑셀 파일은 어떤 형태로 만드시나요?
User: 날짜별로 행 만들고, 플랫폼별로 열 나눠요.
AI: [Creates scenarios collaboratively]
제가 이해한 걸 정리해볼게요:
SCN-001: 페이스북 + 인스타그램 일일 리포트
입력:
- 페이스북 페이지: "우리회사"
- 인스타그램: @ourcompany
- 기간: 지난 24시간
출력:
- 파일: reports/engagement-2025-10-26.xlsx
- 내용: 좋아요, 댓글, 공유 수 (플랫폼별)
이렇게 하면 될까요?
User: 네 맞아요!
AI: [Breaks down into tasks, defines verification]
AI: [Generates PLN-001 document]
계획 문서를 생성했습니다:
docs/plans/PLN-001-2025-10-26-social-media-report.md
3개 태스크로 나뉩니다:
1. 페이스북 연동
2. 인스타그램 연동
3. 엑셀 리포트 생성
다음 단계: implement 스킬로 코드 작성하기
"/implement"를 입력하세요.