@yeongjaeyou/claude-code-config 0.4.0 → 0.5.1
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/README.md +159 -129
- package/package.json +1 -1
|
@@ -1,65 +1,66 @@
|
|
|
1
|
-
##
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- [ ]
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- [ ]
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
1
|
+
## Decompose Work
|
|
2
|
+
|
|
3
|
+
Break down large work items into manageable, independent issues. Follow project guidelines in `@CLAUDE.md`.
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
1. Check issue numbers: Run `gh issue list` to view current issue numbers
|
|
8
|
+
2. Analyze work: Understand core requirements and objectives
|
|
9
|
+
3. Decompose work: Split major tasks into smaller, manageable sub-tasks or issues. **Aim for optimal count over excessive issues (keep it manageable)**
|
|
10
|
+
4. Analyze dependencies: Identify prerequisite tasks
|
|
11
|
+
5. Suggest milestone name: Propose a milestone to group decomposed tasks
|
|
12
|
+
6. Check related PRs (optional): Run `gh pr list --state closed --limit 20` for similar work references (skip if none)
|
|
13
|
+
7. Output decomposed issues: Display issues with proposed milestone name
|
|
14
|
+
8. Ask about GitHub creation: Use AskUserQuestion to let user decide on milestone and issue creation
|
|
15
|
+
- Create milestone: `gh api repos/:owner/:repo/milestones -f title="Milestone Name" -f description="Description"`
|
|
16
|
+
- Assign issues with `--milestone` option
|
|
17
|
+
9. **Add issues to GitHub Project (optional)**
|
|
18
|
+
- Check for existing projects: `gh project list --owner <owner> --format json`
|
|
19
|
+
- If no project exists: Display "No project found. You can create one with `/gh:init-project`" and skip
|
|
20
|
+
- If project exists: Ask user via AskUserQuestion whether to add issues
|
|
21
|
+
- If yes: Run `gh project item-add <project-number> --owner <owner> --url <issue-url>` for each issue
|
|
22
|
+
|
|
23
|
+
## Milestone Description Guidelines
|
|
24
|
+
|
|
25
|
+
Milestone description must include:
|
|
26
|
+
- Overall objectives and scope
|
|
27
|
+
- Issue processing order (dependency graph)
|
|
28
|
+
- Example: "Issue order: #1 -> #2 -> #3 -> #4"
|
|
29
|
+
|
|
30
|
+
## Issue Template
|
|
31
|
+
|
|
32
|
+
### Title
|
|
33
|
+
`[Type] Concise task description`
|
|
34
|
+
|
|
35
|
+
### Labels (Use actual repository labels)
|
|
36
|
+
**Note**: Before assigning labels, verify repository labels with `gh label list`.
|
|
37
|
+
|
|
38
|
+
Examples (vary by project, for reference only):
|
|
39
|
+
- **Type**: `type: feature`, `type: documentation`, `type: enhancement`, `type: bug`
|
|
40
|
+
- **Area**: `area: model/inference`, `area: model/training`, `area: dataset`, `area: detection`
|
|
41
|
+
- **Complexity**: `complexity: easy`, `complexity: medium`, `complexity: hard`
|
|
42
|
+
- **Priority**: `priority: high`, `priority: medium`, `priority: low`
|
|
43
|
+
|
|
44
|
+
### Description
|
|
45
|
+
**Purpose**: [Why this is needed]
|
|
46
|
+
|
|
47
|
+
**Tasks**:
|
|
48
|
+
- [ ] Specific requirement 1
|
|
49
|
+
- [ ] Specific requirement 2
|
|
50
|
+
|
|
51
|
+
**Files to modify**:
|
|
52
|
+
- `path/filename` - Change description
|
|
53
|
+
|
|
54
|
+
**Completion criteria**:
|
|
55
|
+
- [ ] Feature implementation complete
|
|
56
|
+
- [ ] Added to demo page (for UI components)
|
|
57
|
+
|
|
58
|
+
**Dependencies**:
|
|
59
|
+
- [ ] None or prerequisite issue #number
|
|
60
|
+
|
|
61
|
+
**Recommended agent** (if applicable):
|
|
62
|
+
- Include here if agent usage is specified in arguments
|
|
63
|
+
|
|
64
|
+
**References** (optional):
|
|
65
|
+
- Add related PRs if available (e.g., PR #36 - brief description)
|
|
66
|
+
- Omit this section if none
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Initialize and configure GitHub Project board
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# GitHub Project
|
|
5
|
+
# Initialize GitHub Project
|
|
6
6
|
|
|
7
|
-
GitHub Project
|
|
7
|
+
Create a GitHub Project board and configure default fields. Follow project guidelines in `@CLAUDE.md`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Prerequisites
|
|
10
10
|
|
|
11
|
-
`gh` CLI
|
|
11
|
+
The `gh` CLI requires project scope. Add it with:
|
|
12
12
|
```bash
|
|
13
13
|
gh auth refresh -s project --hostname github.com
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Arguments
|
|
17
17
|
|
|
18
|
-
-
|
|
18
|
+
- Project name (optional): Uses repository name as default if not provided
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Workflow
|
|
21
21
|
|
|
22
|
-
1.
|
|
23
|
-
- `gh auth status
|
|
24
|
-
-
|
|
25
|
-
- `gh repo view --json nameWithOwner,owner -q ".owner.login"
|
|
22
|
+
1. **Pre-check**
|
|
23
|
+
- Verify project scope with `gh auth status`
|
|
24
|
+
- If missing, instruct user to run `gh auth refresh -s project --hostname github.com`
|
|
25
|
+
- Get owner with `gh repo view --json nameWithOwner,owner -q ".owner.login"`
|
|
26
26
|
|
|
27
|
-
2.
|
|
28
|
-
- `gh project list --owner <owner> --format json
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
27
|
+
2. **Check existing projects**
|
|
28
|
+
- List existing projects with `gh project list --owner <owner> --format json`
|
|
29
|
+
- If a project with the same name exists, use AskUserQuestion to determine action:
|
|
30
|
+
- Use existing project
|
|
31
|
+
- Create new project (with different name)
|
|
32
|
+
- Cancel operation
|
|
33
33
|
|
|
34
|
-
3.
|
|
35
|
-
- `gh project create --owner <owner> --title "
|
|
36
|
-
-
|
|
34
|
+
3. **Create project**
|
|
35
|
+
- Run `gh project create --owner <owner> --title "<project-name>" --format json`
|
|
36
|
+
- Save the generated project number
|
|
37
37
|
|
|
38
|
-
4. **Status
|
|
39
|
-
- `gh project field-list <project-number> --owner <owner> --format json
|
|
40
|
-
- GitHub Project
|
|
41
|
-
-
|
|
38
|
+
4. **Verify Status field**
|
|
39
|
+
- Check fields with `gh project field-list <project-number> --owner <owner> --format json`
|
|
40
|
+
- GitHub Project provides default Status field (Todo, In Progress, Done)
|
|
41
|
+
- Use default fields if available
|
|
42
42
|
|
|
43
|
-
5. **Priority
|
|
44
|
-
- AskUserQuestion
|
|
45
|
-
-
|
|
43
|
+
5. **Create Priority field (optional)**
|
|
44
|
+
- Ask user via AskUserQuestion whether to create Priority field
|
|
45
|
+
- If yes, create:
|
|
46
46
|
```bash
|
|
47
47
|
gh project field-create <project-number> --owner <owner> \
|
|
48
48
|
--name "Priority" \
|
|
@@ -50,39 +50,33 @@ gh auth refresh -s project --hostname github.com
|
|
|
50
50
|
--single-select-options "High,Medium,Low"
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
6.
|
|
54
|
-
- `gh repo view --json name -q .name
|
|
55
|
-
- `gh project link <project-number> --owner <owner> --repo <repo
|
|
56
|
-
-
|
|
53
|
+
6. **Link repository to project**
|
|
54
|
+
- Get current repository name with `gh repo view --json name -q .name`
|
|
55
|
+
- Link with `gh project link <project-number> --owner <owner> --repo <repo>`
|
|
56
|
+
- Note: `--repo` takes only the repository name (not owner/repo format)
|
|
57
57
|
|
|
58
|
-
7.
|
|
59
|
-
-
|
|
60
|
-
-
|
|
58
|
+
7. **Output results**
|
|
59
|
+
- Summarize created project information
|
|
60
|
+
- Provide web URL: `gh project view <project-number> --owner <owner> --web`
|
|
61
61
|
|
|
62
|
-
##
|
|
62
|
+
## Output Example
|
|
63
63
|
|
|
64
64
|
```
|
|
65
|
-
GitHub Project
|
|
65
|
+
GitHub Project initialization complete!
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
Project: my-project
|
|
68
|
+
Number: 5
|
|
69
69
|
URL: https://github.com/users/<username>/projects/5
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
Default fields:
|
|
72
72
|
- Status: Todo, In Progress, Done
|
|
73
|
-
- Priority: High, Medium, Low (
|
|
73
|
+
- Priority: High, Medium, Low (optionally added)
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
Linked repository: owner/repo
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
77
|
+
Next steps:
|
|
78
|
+
- Add issue: gh project item-add 5 --owner <owner> --url <issue-url>
|
|
79
|
+
- View board: gh project view 5 --owner <owner> --web
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- 한글로 답변
|
|
85
|
-
- 코드나 문서 작성 시 이모지 사용 금지
|
|
86
|
-
- 오류 발생 시 명확한 해결 방법 제시
|
|
87
|
-
- 프로젝트 번호는 이후 명령어에서 사용되므로 사용자에게 안내
|
|
88
|
-
- `@me`는 일부 명령어에서 동작하지 않으므로 실제 owner를 사용
|
|
82
|
+
> See [Work Guidelines](../guidelines/work-guidelines.md)
|
|
@@ -1,93 +1,88 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Clean up branch and update CLAUDE.md after PR merge
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Post-Merge Cleanup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Perform branch cleanup and CLAUDE.md updates after a PR has been merged. Follow project guidelines in `@CLAUDE.md`.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Arguments
|
|
10
10
|
|
|
11
|
-
- PR
|
|
11
|
+
- PR number (optional): If not provided, infer from conversation context or prompt user to select from recent merged PRs
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Workflow
|
|
14
14
|
|
|
15
|
-
1. **PR
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- `gh pr view <PR번호> --json number,title,baseRefName,headRefName,body,state`로 PR 정보 확인
|
|
20
|
-
- `state`가 MERGED인지 확인
|
|
15
|
+
1. **Identify PR**
|
|
16
|
+
- Use PR number if provided as argument
|
|
17
|
+
- Otherwise, attempt to infer related PR/issue number from conversation context
|
|
18
|
+
- If unable to determine, run `gh pr list --state merged --limit 5` to show recent merged PRs and prompt user to select
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
- `
|
|
24
|
-
- **Untracked 파일 (`??`)**: 브랜치 이동에 영향 없으므로 무시하고 진행
|
|
25
|
-
- **Modified/Staged 파일 (`M`, `A`, `D` 등)**: AskUserQuestion으로 처리 방법 질문:
|
|
26
|
-
- **stash 후 진행**: `git stash push -m "post-merge: 임시 저장"`
|
|
27
|
-
- **변경사항 버리기**: `git checkout -- . && git clean -fd`
|
|
28
|
-
- **작업 중단**: 사용자가 직접 처리하도록 중단
|
|
29
|
-
- **stash 선택 시**: 작업 완료 후 AskUserQuestion으로 stash 복원 여부 질문:
|
|
30
|
-
- **pop**: `git stash pop` (stash 제거하면서 복원)
|
|
31
|
-
- **apply**: `git stash apply` (stash 유지하면서 복원)
|
|
32
|
-
- **나중에**: 사용자가 직접 처리
|
|
20
|
+
- Run `gh pr view <PR_NUMBER> --json number,title,baseRefName,headRefName,body,state` to get PR details
|
|
21
|
+
- Verify `state` is MERGED
|
|
33
22
|
|
|
34
|
-
|
|
23
|
+
2. **Check Local Changes**
|
|
24
|
+
- Run `git status --porcelain` to check for uncommitted changes
|
|
25
|
+
- **Untracked files (`??`)**: Ignore and proceed (do not affect branch switching)
|
|
26
|
+
- **Modified/Staged files (`M`, `A`, `D`, etc.)**: Prompt user for action:
|
|
27
|
+
- **Stash and proceed**: `git stash push -m "post-merge: temp save"`
|
|
28
|
+
- **Discard changes**: `git checkout -- . && git clean -fd`
|
|
29
|
+
- **Abort**: Let user handle manually
|
|
30
|
+
- **If stash selected**: After workflow completion, prompt user for stash restoration:
|
|
31
|
+
- **pop**: `git stash pop` (restore and remove stash)
|
|
32
|
+
- **apply**: `git stash apply` (restore and keep stash)
|
|
33
|
+
- **later**: Let user handle manually
|
|
34
|
+
|
|
35
|
+
3. **Switch to Base Branch**
|
|
35
36
|
- `git fetch origin`
|
|
36
37
|
- `git checkout <baseRefName>`
|
|
37
38
|
- `git pull origin <baseRefName>`
|
|
38
39
|
|
|
39
|
-
4.
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
5. **GitHub Project
|
|
44
|
-
- PR body
|
|
45
|
-
- `gh project list --owner <owner> --format json
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- `gh project item-list
|
|
49
|
-
- `gh project field-list
|
|
50
|
-
- `gh project item-edit
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
6. **CLAUDE.md
|
|
54
|
-
- CLAUDE.md
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
7.
|
|
67
|
-
- CLAUDE.md
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
- 새로 도입된 패턴이나 아키텍처 결정
|
|
89
|
-
|
|
90
|
-
### 수정 대상 예시
|
|
91
|
-
- 변경된 디렉토리 구조 설명
|
|
92
|
-
- 업데이트된 의존성 정보
|
|
93
|
-
- 더 이상 유효하지 않은 명령어나 설정
|
|
40
|
+
4. **Clean Up Issue Branch (Optional)**
|
|
41
|
+
- Prompt user to confirm local branch deletion
|
|
42
|
+
- If confirmed: `git branch -d <headRefName>`
|
|
43
|
+
|
|
44
|
+
5. **Update GitHub Project Status (Optional)**
|
|
45
|
+
- Extract related issue numbers from PR body: search for `Closes #N`, `Fixes #N`, `Resolves #N` patterns
|
|
46
|
+
- Run `gh project list --owner <owner> --format json` to check for projects
|
|
47
|
+
- If no projects exist, skip silently
|
|
48
|
+
- If projects exist:
|
|
49
|
+
- Run `gh project item-list` to get the issue's item-id
|
|
50
|
+
- Run `gh project field-list` to get Status field ID and "Done" option ID
|
|
51
|
+
- Run `gh project item-edit` to set Status to "Done"
|
|
52
|
+
- Skip if issue is not in project or Status field does not exist
|
|
53
|
+
|
|
54
|
+
6. **Analyze and Update CLAUDE.md**
|
|
55
|
+
- Check if CLAUDE.md exists
|
|
56
|
+
- If not: Prompt user to create or skip
|
|
57
|
+
- Analyze existing content:
|
|
58
|
+
- Find temporary instructions related to resolved issue (e.g., mentions of `#<issue_number>`, `issue-<number>`)
|
|
59
|
+
- Identify outdated or inaccurate information
|
|
60
|
+
- Identify redundant or unnecessary content
|
|
61
|
+
- Prepare update proposal:
|
|
62
|
+
- **To remove**: Temporary notes/instructions related to resolved issue
|
|
63
|
+
- **To add**: New patterns/conventions discovered during issue resolution
|
|
64
|
+
- **To modify**: Outdated or inaccurate information
|
|
65
|
+
- Present proposal to user for confirmation before applying
|
|
66
|
+
|
|
67
|
+
7. **Commit Changes (Optional)**
|
|
68
|
+
- If CLAUDE.md was modified, prompt user to confirm commit
|
|
69
|
+
- If confirmed: Commit using Conventional Commits format
|
|
70
|
+
|
|
71
|
+
> See [Work Guidelines](../guidelines/work-guidelines.md)
|
|
72
|
+
|
|
73
|
+
## CLAUDE.md Update Guide
|
|
74
|
+
|
|
75
|
+
### Examples of Content to Remove
|
|
76
|
+
- Temporary notes like `TODO: remove after #123 is resolved`
|
|
77
|
+
- Temporary workaround descriptions for specific issues
|
|
78
|
+
- Known issues lists that have been resolved
|
|
79
|
+
|
|
80
|
+
### Examples of Content to Add
|
|
81
|
+
- Code conventions discovered during issue resolution
|
|
82
|
+
- Guidelines to prevent common mistakes
|
|
83
|
+
- Newly introduced patterns or architecture decisions
|
|
84
|
+
|
|
85
|
+
### Examples of Content to Modify
|
|
86
|
+
- Changed directory structure descriptions
|
|
87
|
+
- Updated dependency information
|
|
88
|
+
- Commands or configurations that are no longer valid
|
|
@@ -1,67 +1,59 @@
|
|
|
1
1
|
|
|
2
|
-
#
|
|
2
|
+
# Resolve GitHub Issue
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Act as an expert developer who systematically analyzes and resolves GitHub issues. Receive a GitHub issue number as argument and resolve the issue. Follow project guidelines in `@CLAUDE.md`.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## Workflow
|
|
7
7
|
|
|
8
|
-
1.
|
|
9
|
-
- `gh issue view $ISSUE_NUMBER --json title,body,comments,milestone
|
|
10
|
-
-
|
|
11
|
-
-
|
|
8
|
+
1. **Analyze Issue**:
|
|
9
|
+
- Run `gh issue view $ISSUE_NUMBER --json title,body,comments,milestone` to get issue title, body, labels, and milestone
|
|
10
|
+
- If milestone exists, run `gh issue list --milestone "<milestone-name>" --json number,title,state` to view related issues and understand overall context
|
|
11
|
+
- Identify requirements precisely
|
|
12
12
|
|
|
13
|
-
2.
|
|
14
|
-
-
|
|
13
|
+
2. **Create Branch**: Create and checkout a new branch named `issue-$ISSUE_NUMBER` from `main` or `master` branch.
|
|
14
|
+
- **Initialize submodules**: When using worktree, run `git submodule update --init --recursive`
|
|
15
15
|
|
|
16
|
-
3. **GitHub Project
|
|
17
|
-
- `gh project list --owner <owner> --format json
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
- `gh project item-list <project-number> --owner <owner> --format json
|
|
21
|
-
-
|
|
22
|
-
- `gh project field-list <project-number> --owner <owner> --format json
|
|
23
|
-
- Status
|
|
16
|
+
3. **Update GitHub Project Status (Optional)**
|
|
17
|
+
- Run `gh project list --owner <owner> --format json` to check for projects
|
|
18
|
+
- If no projects exist, skip silently
|
|
19
|
+
- If projects exist:
|
|
20
|
+
- Run `gh project item-list <project-number> --owner <owner> --format json` to check if issue is in project
|
|
21
|
+
- If not, add with `gh project item-add`
|
|
22
|
+
- Run `gh project field-list <project-number> --owner <owner> --format json` to get Status field ID and "In Progress" option ID
|
|
23
|
+
- Update Status field to "In Progress":
|
|
24
24
|
```bash
|
|
25
25
|
gh project item-edit --project-id <project-id> --id <item-id> --field-id <status-field-id> --single-select-option-id <in-progress-option-id>
|
|
26
26
|
```
|
|
27
|
-
- Status
|
|
27
|
+
- Skip if Status field does not exist
|
|
28
28
|
|
|
29
|
-
4.
|
|
29
|
+
4. **Analyze Codebase**: Use sub-agents to analyze the codebase in parallel, identifying relevant files and structure needed to resolve the issue.
|
|
30
30
|
|
|
31
|
-
5.
|
|
31
|
+
5. **Plan Resolution**: Based on analysis results, develop a concrete resolution plan and define work steps.
|
|
32
32
|
|
|
33
|
-
6.
|
|
34
|
-
-
|
|
33
|
+
6. **Resolve Issue**: Spawn sub-agents to modify code and implement features according to the plan.
|
|
34
|
+
- **Execution verification required**: For Python scripts, executables, or any runnable code, always execute to verify correct behavior. Do not rely solely on file existence or previous results.
|
|
35
35
|
|
|
36
|
-
7.
|
|
36
|
+
7. **Write Tests**: Spawn independent sub-agents per file to write unit tests in parallel, achieving at least 80% coverage.
|
|
37
37
|
|
|
38
|
-
8.
|
|
38
|
+
8. **Validate**: Run tests, lint checks, and build verification in parallel using independent sub-agents to validate code quality.
|
|
39
39
|
|
|
40
|
-
9. **PR
|
|
40
|
+
9. **Create PR**: Create a pull request for the resolved issue.
|
|
41
41
|
|
|
42
|
-
10.
|
|
42
|
+
10. **Update Issue Checkboxes**: Mark completed checkbox items in the issue as done.
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
- 불명확한 요구사항이나 구현 방향이 여러 가지일 경우 AskUserQuestion 도구로 사용자에게 확인
|
|
46
|
-
- 마일스톤이 있다면 마일스톤 description을 읽어 전체 맥락과 이슈 순서를 파악
|
|
47
|
-
- 한글로 답할 것, 주석 및 마크다운도 한글로 작성할 것
|
|
48
|
-
- 코드나 문서 작성 시 이모지 사용 금지
|
|
49
|
-
- PR 설명은 한글로 작성
|
|
50
|
-
- 컴포넌트가 데모 페이지에 추가되는 경우, Playwright MCP를 사용해 해당 컴포넌트를 E2E 테스트로 검증합니다.
|
|
51
|
-
- 일회성 테스트 스크립트나 임시 헬퍼 파일은 작업 완료 후 반드시 삭제합니다.
|
|
52
|
-
- 커밋, PR, 이슈에 'Generated with Claude', 'Co-Authored-By: Claude' 등 Claude attribution 금지
|
|
44
|
+
> See [Work Guidelines](../guidelines/work-guidelines.md)
|
|
53
45
|
|
|
54
|
-
##
|
|
46
|
+
## Verification and Completion Criteria
|
|
55
47
|
|
|
56
|
-
|
|
48
|
+
**Important**: Always verify actual behavior before marking checkboxes as complete.
|
|
57
49
|
|
|
58
|
-
###
|
|
59
|
-
1.
|
|
60
|
-
2.
|
|
61
|
-
3.
|
|
62
|
-
4.
|
|
50
|
+
### Verification Principles
|
|
51
|
+
1. **Execution required**: Directly run code/configuration to confirm it actually works
|
|
52
|
+
2. **Provide evidence**: Show actual output or results that prove completion
|
|
53
|
+
3. **No guessing**: Explicitly mark unverified items as "unverified" or "assumed"
|
|
54
|
+
4. **Distinguish partial completion**: Clearly separate code written but not tested
|
|
63
55
|
|
|
64
|
-
###
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
56
|
+
### Prohibited Actions
|
|
57
|
+
- Reporting "expected to work" without execution
|
|
58
|
+
- Stating "will appear in logs" without checking logs
|
|
59
|
+
- Presenting assumptions as facts
|
package/.claude/commands/plan.md
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Analyze requirements and create implementation plan only
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Implementation Planning
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Carefully analyze the requirements provided as arguments, understand the codebase, and present an execution plan **without actual implementation**.
|
|
8
8
|
|
|
9
9
|
## IMPORTANT
|
|
10
10
|
- When you need clarification or there are multiple options, please ask me interactive questions (USE interactive question tool `AskUserQuestion`) before proceeding.
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Tasks
|
|
13
13
|
|
|
14
|
-
1.
|
|
15
|
-
2.
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
14
|
+
1. Understand the intent of requirements (ask questions if unclear)
|
|
15
|
+
2. Investigate and understand the relevant codebase
|
|
16
|
+
3. Create a step-by-step execution plan
|
|
17
|
+
4. Present considerations and items requiring decisions
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Guidelines
|
|
20
|
+
|
|
21
|
+
- **No implementation**: Do not write code immediately; only create the plan
|
|
22
|
+
- **Thorough investigation**: Understand the codebase first, then plan
|
|
23
|
+
- **Ask first**: Do not guess; always ask about uncertainties or ambiguities
|
|
24
|
+
- **Follow CLAUDE.md**: Adhere to project guidelines in `@CLAUDE.md`
|
|
25
|
+
- **Transparent communication**: Clearly state unclear areas, risks, and alternatives
|
|
20
26
|
|
|
21
|
-
- **구현 금지**: 바로 코드 작성하지 말고 계획만 수립
|
|
22
|
-
- **충분한 조사**: 코드베이스를 먼저 이해한 후 계획
|
|
23
|
-
- **질문 우선**: 모르는 것이나 헷갈리는 것은 추측하지 말고 반드시 질문
|
|
24
|
-
- **CLAUDE.md 준수**: `@CLAUDE.md`의 프로젝트 지침을 준수할 것
|
|
25
|
-
- **투명한 소통**: 불명확한 부분, 위험 요소, 대안 등 명시
|