@yeongjaeyou/claude-code-config 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/ask-codex.md +131 -345
- package/.claude/commands/ask-deepwiki.md +15 -15
- package/.claude/commands/ask-gemini.md +134 -352
- package/.claude/commands/code-review.md +41 -40
- package/.claude/commands/commit-and-push.md +35 -36
- package/.claude/commands/council.md +318 -0
- package/.claude/commands/edit-notebook.md +34 -33
- package/.claude/commands/gh/create-issue-label.md +19 -17
- package/.claude/commands/gh/decompose-issue.md +66 -65
- package/.claude/commands/gh/init-project.md +46 -52
- package/.claude/commands/gh/post-merge.md +74 -79
- package/.claude/commands/gh/resolve-issue.md +38 -46
- package/.claude/commands/plan.md +15 -14
- package/.claude/commands/tm/convert-prd.md +53 -53
- package/.claude/commands/tm/post-merge.md +92 -112
- package/.claude/commands/tm/resolve-issue.md +148 -154
- package/.claude/commands/tm/review-prd-with-codex.md +272 -279
- package/.claude/commands/tm/sync-to-github.md +189 -212
- package/.claude/guidelines/cv-guidelines.md +30 -0
- package/.claude/guidelines/id-reference.md +34 -0
- package/.claude/guidelines/work-guidelines.md +17 -0
- package/.claude/skills/notion-md-uploader/SKILL.md +252 -0
- package/.claude/skills/notion-md-uploader/references/notion_block_types.md +323 -0
- package/.claude/skills/notion-md-uploader/references/setup_guide.md +156 -0
- package/.claude/skills/notion-md-uploader/scripts/__pycache__/markdown_parser.cpython-311.pyc +0 -0
- package/.claude/skills/notion-md-uploader/scripts/__pycache__/notion_client.cpython-311.pyc +0 -0
- package/.claude/skills/notion-md-uploader/scripts/__pycache__/notion_converter.cpython-311.pyc +0 -0
- package/.claude/skills/notion-md-uploader/scripts/markdown_parser.py +607 -0
- package/.claude/skills/notion-md-uploader/scripts/notion_client.py +337 -0
- package/.claude/skills/notion-md-uploader/scripts/notion_converter.py +477 -0
- package/.claude/skills/notion-md-uploader/scripts/upload_md.py +298 -0
- package/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/.claude/skills/skill-creator/SKILL.md +209 -0
- package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/package.json +1 -1
|
@@ -1,307 +1,301 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Resolve GitHub Issue with TaskMaster
|
|
2
2
|
|
|
3
|
-
GitHub
|
|
3
|
+
Systematically resolve GitHub Issues by TaskMaster subtask units and create PR.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- **GitHub Issue
|
|
7
|
-
- **TaskMaster Task ID**: `task 1`, `task 1.1`
|
|
5
|
+
**Important**: This command integrates TaskMaster with GitHub Issues.
|
|
6
|
+
- **GitHub Issue number**: `#1`, `#2` format (numbers created by GitHub)
|
|
7
|
+
- **TaskMaster Task ID**: `task 1`, `task 1.1` format (based on tasks.json)
|
|
8
8
|
|
|
9
|
-
`@CLAUDE.md
|
|
9
|
+
Follow project guidelines in `@CLAUDE.md`.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Arguments
|
|
14
14
|
|
|
15
|
-
`$ARGUMENTS
|
|
16
|
-
- GitHub Issue
|
|
17
|
-
- TaskMaster Task ID (
|
|
15
|
+
`$ARGUMENTS` accepts one of the following:
|
|
16
|
+
- GitHub Issue number (e.g., `1`, `#1`)
|
|
17
|
+
- TaskMaster Task ID (e.g., `task 1`, `task:1`)
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Workflow
|
|
22
22
|
|
|
23
|
-
### 1.
|
|
23
|
+
### 1. Parse Arguments and Map IDs
|
|
24
24
|
|
|
25
25
|
```
|
|
26
|
-
|
|
27
|
-
- "#1"
|
|
28
|
-
- "task 1"
|
|
26
|
+
Input analysis:
|
|
27
|
+
- "#1" or "1" -> Interpret as GitHub Issue number
|
|
28
|
+
- "task 1" or "task:1" -> Interpret as TaskMaster Task ID
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
**GitHub Issue
|
|
31
|
+
**If GitHub Issue number:**
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
# 1
|
|
34
|
+
# Step 1: Get Issue information
|
|
35
35
|
gh issue view $ISSUE_NUMBER --json number,title,body,state
|
|
36
36
|
|
|
37
|
-
# 2
|
|
37
|
+
# Step 2: Extract TaskMaster Task ID from body
|
|
38
38
|
BODY=$(gh issue view $ISSUE_NUMBER --json body --jq '.body')
|
|
39
|
-
echo "$BODY" | grep -oP "Task Master
|
|
39
|
+
echo "$BODY" | grep -oP "Task Master reference: task \K[0-9]+"
|
|
40
40
|
|
|
41
|
-
#
|
|
41
|
+
# Expected output: 1 (number only)
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
**If extraction fails (no Task Master reference):**
|
|
45
45
|
```
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
-> Issue may not have been created by sync-to-github
|
|
47
|
+
-> Request direct TaskMaster Task ID input from user
|
|
48
|
+
-> AskUserQuestion: "What is the TaskMaster Task ID for this Issue?"
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
**TaskMaster Task ID
|
|
51
|
+
**If TaskMaster Task ID:**
|
|
52
52
|
```bash
|
|
53
|
-
# tasks.json
|
|
53
|
+
# Verify task in tasks.json
|
|
54
54
|
task-master show $TASK_ID
|
|
55
55
|
|
|
56
|
-
#
|
|
57
|
-
gh issue list --search "in:body \"Task Master
|
|
56
|
+
# Find corresponding GitHub Issue (reverse mapping)
|
|
57
|
+
gh issue list --search "in:body \"Task Master reference: task $TASK_ID\"" --json number,title
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
**GitHub Issue
|
|
60
|
+
**If GitHub Issue not found (Important):**
|
|
61
61
|
```
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
1. "sync-to-github
|
|
66
|
-
2. "
|
|
67
|
-
3. "
|
|
68
|
-
|
|
62
|
+
-> sync-to-github may not have been executed
|
|
63
|
+
-> NEVER create a new GitHub Issue arbitrarily
|
|
64
|
+
-> Confirm with user via AskUserQuestion:
|
|
65
|
+
1. "Run sync-to-github first?" (proceed after Issue sync)
|
|
66
|
+
2. "Create branch only without Issue?" (use task-N branch)
|
|
67
|
+
3. "Abort?"
|
|
68
|
+
-> Proceed based on user selection
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
### 2.
|
|
71
|
+
### 2. Verify Task Information
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
#
|
|
74
|
+
# Check task details in TaskMaster
|
|
75
75
|
task-master show $TASK_ID
|
|
76
76
|
|
|
77
|
-
#
|
|
78
|
-
# Task 1: Next.js 15
|
|
77
|
+
# Example output:
|
|
78
|
+
# Task 1: Next.js 15 project initial setup
|
|
79
79
|
# Status: pending
|
|
80
80
|
# Dependencies: none
|
|
81
81
|
# Subtasks: (none)
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
- [ ]
|
|
86
|
-
- [ ]
|
|
84
|
+
**Verification checklist:**
|
|
85
|
+
- [ ] Task status is `pending` or `in-progress`
|
|
86
|
+
- [ ] All dependency tasks are complete (check dependencies via `task-master show`)
|
|
87
87
|
|
|
88
|
-
### 3.
|
|
88
|
+
### 3. Expand Subtasks (If Needed)
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
#
|
|
91
|
+
# Execute only if no subtasks exist
|
|
92
92
|
task-master expand --id=$TASK_ID --research
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
**After expansion verification:**
|
|
96
96
|
```bash
|
|
97
97
|
task-master show $TASK_ID
|
|
98
98
|
# Subtasks:
|
|
99
|
-
# - 1.1:
|
|
100
|
-
# - 1.2: Shadcn/ui
|
|
101
|
-
# - 1.3:
|
|
99
|
+
# - 1.1: Create project (pending)
|
|
100
|
+
# - 1.2: Initialize Shadcn/ui (pending)
|
|
101
|
+
# - 1.3: Install dependencies (pending)
|
|
102
102
|
# ...
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
### 4.
|
|
105
|
+
### 4. Create Branch
|
|
106
106
|
|
|
107
107
|
```bash
|
|
108
|
-
#
|
|
108
|
+
# Create new branch from main or master
|
|
109
109
|
git checkout main && git pull origin main
|
|
110
110
|
git checkout -b issue-$ISSUE_NUMBER
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
- `issue-1` (GitHub Issue #1
|
|
115
|
-
- `issue-1-subtask-1.2` (
|
|
113
|
+
**Branch naming convention:**
|
|
114
|
+
- `issue-1` (for GitHub Issue #1 work)
|
|
115
|
+
- `issue-1-subtask-1.2` (for specific subtask only, optional)
|
|
116
116
|
|
|
117
|
-
### 5.
|
|
117
|
+
### 5. Process Subtasks Sequentially
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
**Determine processing order:**
|
|
120
120
|
```bash
|
|
121
|
-
# subtask
|
|
121
|
+
# Check subtask list and dependencies
|
|
122
122
|
task-master show $TASK_ID
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
**Processing loop for each subtask:**
|
|
126
126
|
|
|
127
127
|
```
|
|
128
|
-
[Subtask 1.1
|
|
128
|
+
[Start Subtask 1.1]
|
|
129
129
|
1. task-master set-status --id=1.1 --status=in-progress
|
|
130
|
-
2.
|
|
131
|
-
3.
|
|
130
|
+
2. Implement code according to subtask content
|
|
131
|
+
3. Verify after implementation (build, lint, test)
|
|
132
132
|
4. task-master set-status --id=1.1 --status=done
|
|
133
|
-
5. task-master update-subtask --id=1.1 --prompt="
|
|
133
|
+
5. task-master update-subtask --id=1.1 --prompt="Implementation complete: [brief description]"
|
|
134
134
|
|
|
135
|
-
[Subtask 1.2
|
|
136
|
-
...
|
|
135
|
+
[Start Subtask 1.2]
|
|
136
|
+
... repeat ...
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
139
|
+
**Key principles:**
|
|
140
|
+
- Only one subtask `in-progress` at a time
|
|
141
|
+
- Process subtasks with dependencies after preceding subtasks complete
|
|
142
|
+
- Update status immediately upon each subtask completion
|
|
143
143
|
|
|
144
|
-
### 6.
|
|
144
|
+
### 6. Complete Main Task
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
When all subtasks are `done`:
|
|
147
147
|
|
|
148
148
|
```bash
|
|
149
|
-
#
|
|
149
|
+
# Complete main task
|
|
150
150
|
task-master set-status --id=$TASK_ID --status=done
|
|
151
151
|
|
|
152
|
-
#
|
|
152
|
+
# Final verification
|
|
153
153
|
task-master show $TASK_ID
|
|
154
154
|
```
|
|
155
155
|
|
|
156
|
-
### 7.
|
|
156
|
+
### 7. Commit and Push
|
|
157
157
|
|
|
158
158
|
```bash
|
|
159
|
-
#
|
|
159
|
+
# Review changes
|
|
160
160
|
git status
|
|
161
161
|
git diff
|
|
162
162
|
|
|
163
|
-
#
|
|
163
|
+
# Commit (include task info)
|
|
164
164
|
git add .
|
|
165
|
-
git commit -m "feat: [Task $TASK_ID]
|
|
165
|
+
git commit -m "feat: [Task $TASK_ID] Task title
|
|
166
166
|
|
|
167
|
-
- subtask 1.1:
|
|
168
|
-
- subtask 1.2:
|
|
167
|
+
- subtask 1.1: completion details
|
|
168
|
+
- subtask 1.2: completion details
|
|
169
169
|
...
|
|
170
170
|
|
|
171
|
-
Task Master
|
|
171
|
+
Task Master reference: task $TASK_ID
|
|
172
172
|
Closes #$ISSUE_NUMBER"
|
|
173
173
|
|
|
174
|
-
#
|
|
174
|
+
# Push
|
|
175
175
|
git push -u origin issue-$ISSUE_NUMBER
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
-
### 8. PR
|
|
178
|
+
### 8. Create PR
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
181
|
gh pr create \
|
|
182
|
-
--title "[Task $TASK_ID]
|
|
182
|
+
--title "[Task $TASK_ID] Task title" \
|
|
183
183
|
--body "$(cat <<'EOF'
|
|
184
|
-
##
|
|
185
|
-
GitHub Issue #$ISSUE_NUMBER
|
|
184
|
+
## Overview
|
|
185
|
+
Resolves GitHub Issue #$ISSUE_NUMBER
|
|
186
186
|
|
|
187
|
-
## TaskMaster
|
|
187
|
+
## TaskMaster Task Info
|
|
188
188
|
- **Task ID**: $TASK_ID
|
|
189
|
-
- **Task
|
|
189
|
+
- **Task Title**: [task title]
|
|
190
190
|
|
|
191
|
-
##
|
|
192
|
-
- [x] subtask 1.1: [
|
|
193
|
-
- [x] subtask 1.2: [
|
|
194
|
-
- [x] subtask 1.3: [
|
|
191
|
+
## Completed Subtasks
|
|
192
|
+
- [x] subtask 1.1: [description]
|
|
193
|
+
- [x] subtask 1.2: [description]
|
|
194
|
+
- [x] subtask 1.3: [description]
|
|
195
195
|
|
|
196
|
-
##
|
|
197
|
-
- [
|
|
196
|
+
## Changes
|
|
197
|
+
- [summary of major changes]
|
|
198
198
|
|
|
199
|
-
##
|
|
200
|
-
- [ ]
|
|
201
|
-
- [ ]
|
|
202
|
-
- [ ]
|
|
199
|
+
## Testing
|
|
200
|
+
- [ ] Build successful
|
|
201
|
+
- [ ] Lint passed
|
|
202
|
+
- [ ] Feature testing complete
|
|
203
203
|
|
|
204
|
-
##
|
|
204
|
+
## Related Issues
|
|
205
205
|
Closes #$ISSUE_NUMBER
|
|
206
206
|
|
|
207
207
|
---
|
|
208
|
-
Task Master
|
|
208
|
+
Task Master reference: task $TASK_ID
|
|
209
209
|
EOF
|
|
210
210
|
)"
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
-
### 9. GitHub Issue
|
|
213
|
+
### 9. Update GitHub Issue
|
|
214
214
|
|
|
215
215
|
```bash
|
|
216
|
-
#
|
|
217
|
-
gh issue comment $ISSUE_NUMBER --body "PR #[
|
|
216
|
+
# Add progress comment to Issue
|
|
217
|
+
gh issue comment $ISSUE_NUMBER --body "PR #[PR_NUMBER] created. Requesting code review.
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
**Completed work:**
|
|
220
220
|
$(task-master show $TASK_ID | grep -A 100 'Subtasks:')"
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
---
|
|
224
224
|
|
|
225
|
-
## ID
|
|
225
|
+
## ID Mapping Reference
|
|
226
226
|
|
|
227
|
-
|
|
|
228
|
-
|
|
229
|
-
| GitHub Issue | `#N` | `#1`, `#12` |
|
|
230
|
-
| TaskMaster
|
|
231
|
-
| TaskMaster Subtask | `task N.M` | `task 1.1`, `task 1.2` |
|
|
227
|
+
| Type | Format | Example | Description |
|
|
228
|
+
|------|--------|---------|-------------|
|
|
229
|
+
| GitHub Issue | `#N` | `#1`, `#12` | Auto-assigned by GitHub |
|
|
230
|
+
| TaskMaster Main Task | `task N` | `task 1`, `task 12` | id field in tasks.json |
|
|
231
|
+
| TaskMaster Subtask | `task N.M` | `task 1.1`, `task 1.2` | maintask.subtask |
|
|
232
232
|
|
|
233
|
-
|
|
234
|
-
- `sync-to-github`
|
|
235
|
-
-
|
|
233
|
+
**Mapping rule:**
|
|
234
|
+
- When `sync-to-github` runs, Issue body includes `Task Master reference: task N`
|
|
235
|
+
- This links GitHub Issue <-> TaskMaster Task
|
|
236
236
|
|
|
237
237
|
---
|
|
238
238
|
|
|
239
|
-
##
|
|
239
|
+
## Work Guidelines
|
|
240
240
|
|
|
241
|
-
|
|
242
|
-
- 한글로 답할 것, 주석 및 마크다운도 한글로 작성할 것
|
|
243
|
-
- 코드나 문서 작성 시 이모지 사용 금지
|
|
244
|
-
- PR 설명은 한글로 작성
|
|
245
|
-
- 컴포넌트가 데모 페이지에 추가되는 경우, Playwright MCP를 사용해 해당 컴포넌트를 E2E 테스트로 검증
|
|
246
|
-
- 일회성 테스트 스크립트나 임시 헬퍼 파일은 작업 완료 후 반드시 삭제
|
|
247
|
-
- 커밋, PR, 이슈에 'Generated with Claude', 'Co-Authored-By: Claude' 등 Claude attribution 금지
|
|
241
|
+
> See [Work Guidelines](../guidelines/work-guidelines.md)
|
|
248
242
|
|
|
249
243
|
---
|
|
250
244
|
|
|
251
|
-
##
|
|
245
|
+
## Verification and Completion Criteria
|
|
252
246
|
|
|
253
|
-
|
|
247
|
+
**Important**: You must verify actual behavior before marking checkboxes as complete.
|
|
254
248
|
|
|
255
|
-
###
|
|
256
|
-
1.
|
|
257
|
-
2.
|
|
258
|
-
3.
|
|
259
|
-
4.
|
|
249
|
+
### Verification Principles
|
|
250
|
+
1. **Actual execution required**: Directly run to confirm code/config actually works
|
|
251
|
+
2. **Provide evidence**: Show actual output or results that prove completion
|
|
252
|
+
3. **No guessing**: Clearly state "unverified" or "assumed" for unconfirmed items
|
|
253
|
+
4. **Distinguish partial completion**: Clearly differentiate code written but not tested
|
|
260
254
|
|
|
261
|
-
###
|
|
262
|
-
-
|
|
263
|
-
-
|
|
264
|
-
-
|
|
255
|
+
### Prohibited
|
|
256
|
+
- Reporting "expected to work" without execution
|
|
257
|
+
- Asserting "will appear in logs" without checking logs
|
|
258
|
+
- Reporting assumptions as facts
|
|
265
259
|
|
|
266
260
|
---
|
|
267
261
|
|
|
268
|
-
##
|
|
262
|
+
## Cautions
|
|
269
263
|
|
|
270
|
-
1. **ID
|
|
271
|
-
- GitHub Issue `#1
|
|
272
|
-
-
|
|
264
|
+
1. **Avoid ID confusion**
|
|
265
|
+
- GitHub Issue `#1` and TaskMaster `task 1` may differ
|
|
266
|
+
- Always verify "Task Master reference" in Issue body
|
|
273
267
|
|
|
274
|
-
2. **subtask
|
|
275
|
-
-
|
|
276
|
-
- `task-master show
|
|
268
|
+
2. **Follow subtask order**
|
|
269
|
+
- Process subtasks with dependencies in order
|
|
270
|
+
- Check dependencies via `task-master show`
|
|
277
271
|
|
|
278
|
-
3.
|
|
279
|
-
-
|
|
280
|
-
-
|
|
272
|
+
3. **Update status immediately**
|
|
273
|
+
- Run `set-status --status=done` immediately upon subtask completion
|
|
274
|
+
- Progress should be reflected in tasks.json in real-time
|
|
281
275
|
|
|
282
|
-
4.
|
|
283
|
-
- `Task Master
|
|
284
|
-
- `Closes #N`
|
|
276
|
+
4. **Include references in commit messages**
|
|
277
|
+
- Include `Task Master reference: task N`
|
|
278
|
+
- Include `Closes #N` or `Fixes #N`
|
|
285
279
|
|
|
286
280
|
---
|
|
287
281
|
|
|
288
|
-
##
|
|
282
|
+
## Error Handling
|
|
289
283
|
|
|
290
|
-
|
|
284
|
+
**Dependency not complete:**
|
|
291
285
|
```
|
|
292
|
-
Error: Task 1
|
|
293
|
-
|
|
286
|
+
Error: Task 1's dependency task 0 is not complete.
|
|
287
|
+
-> Complete prerequisite task first
|
|
294
288
|
```
|
|
295
289
|
|
|
296
|
-
**
|
|
290
|
+
**Subtask expand failed:**
|
|
297
291
|
```
|
|
298
|
-
Error: expand
|
|
299
|
-
|
|
292
|
+
Error: expand failed
|
|
293
|
+
-> Try task-master expand --id=$TASK_ID --force
|
|
300
294
|
```
|
|
301
295
|
|
|
302
|
-
|
|
296
|
+
**Build/test failed:**
|
|
303
297
|
```
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
298
|
+
-> Keep that subtask as in-progress
|
|
299
|
+
-> Resolve issue and continue
|
|
300
|
+
-> task-master update-subtask --id=N.M --prompt="Issue: [description]"
|
|
307
301
|
```
|