claude-plugin-viban 1.0.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-plugin/plugin.json +21 -0
- package/LICENSE +21 -0
- package/README.md +361 -0
- package/bin/viban +1242 -0
- package/commands/assign.md +14 -0
- package/commands/todo.md +15 -0
- package/docs/CLAUDE.md +245 -0
- package/package.json +55 -0
- package/scripts/check-deps.sh +45 -0
- package/skills/assign/SKILL.md +203 -0
- package/skills/todo/SKILL.md +190 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: viban:todo
|
|
3
|
+
description: "Analyze problem situation and register as viban issue (focus on symptoms and problem definition)"
|
|
4
|
+
category: development
|
|
5
|
+
complexity: medium
|
|
6
|
+
mcp-servers: []
|
|
7
|
+
personas: []
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /viban:todo - Problem Analysis and Issue Registration
|
|
11
|
+
|
|
12
|
+
Analyze problem situation and register as viban issue with file locations and evidence.
|
|
13
|
+
|
|
14
|
+
> **Core Principle**: Focus on **symptoms and problem definition**, not solutions.
|
|
15
|
+
> Solutions are decided by the assignee after understanding full context.
|
|
16
|
+
|
|
17
|
+
## Input Verification
|
|
18
|
+
|
|
19
|
+
**User Input**: `$ARGUMENTS`
|
|
20
|
+
|
|
21
|
+
If input is empty or unclear:
|
|
22
|
+
1. Use AskUserQuestion to ask about the problem
|
|
23
|
+
2. Proceed after receiving response
|
|
24
|
+
|
|
25
|
+
## Execution Steps
|
|
26
|
+
|
|
27
|
+
### Step 1: Problem Identification
|
|
28
|
+
|
|
29
|
+
Analyze the problem described by user:
|
|
30
|
+
1. **Identify symptoms**: Clearly define what the problem is
|
|
31
|
+
2. **Extract keywords**: Error messages, feature names, module names, etc.
|
|
32
|
+
3. **Determine priority**:
|
|
33
|
+
| Condition | Priority |
|
|
34
|
+
|-----------|----------|
|
|
35
|
+
| System down, data loss | P0 |
|
|
36
|
+
| Feature broken, errors | P1 |
|
|
37
|
+
| Performance degradation, warnings | P2 |
|
|
38
|
+
| Improvements, refactoring | P3 |
|
|
39
|
+
|
|
40
|
+
### Step 2: Codebase Exploration
|
|
41
|
+
|
|
42
|
+
**Required**: Must find code location related to the problem
|
|
43
|
+
|
|
44
|
+
1. **Search by keywords**:
|
|
45
|
+
```bash
|
|
46
|
+
# Search by error message or function name
|
|
47
|
+
grep -r "keyword" . --include="*.py" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
2. **Check related files**:
|
|
51
|
+
- Find module where error occurred
|
|
52
|
+
- Check stack trace files if available
|
|
53
|
+
- For API endpoints: trace router → use case → domain
|
|
54
|
+
|
|
55
|
+
3. **Collect location information**:
|
|
56
|
+
- File path: relative to project root
|
|
57
|
+
- Function/class name
|
|
58
|
+
- Line number (if possible)
|
|
59
|
+
|
|
60
|
+
### Step 3: Issue Body Composition
|
|
61
|
+
|
|
62
|
+
Write issue body in this format:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
## Symptoms
|
|
66
|
+
One-sentence summary of what happened.
|
|
67
|
+
- Frequency: (if known)
|
|
68
|
+
- Affected features:
|
|
69
|
+
|
|
70
|
+
## Reproduction Steps
|
|
71
|
+
1. Step-by-step reproduction
|
|
72
|
+
2. ...
|
|
73
|
+
3. Environment: local/staging/production
|
|
74
|
+
|
|
75
|
+
## Expected Result
|
|
76
|
+
- How it should work normally
|
|
77
|
+
|
|
78
|
+
## Actual Result
|
|
79
|
+
- The problem that actually occurred
|
|
80
|
+
|
|
81
|
+
## Stack Trace (if available)
|
|
82
|
+
```
|
|
83
|
+
Error log or stack trace
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Location
|
|
87
|
+
- File: `path/to/file.ext`
|
|
88
|
+
- Function/Class:
|
|
89
|
+
- Line: (if known)
|
|
90
|
+
|
|
91
|
+
## Possible Cause (hypothesis)
|
|
92
|
+
- Estimate which code/condition is causing the problem
|
|
93
|
+
- List items to verify (not solutions)
|
|
94
|
+
|
|
95
|
+
## Meta Information
|
|
96
|
+
- Registered: (current timestamp)
|
|
97
|
+
- Reporter: user
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Step 4: Register viban Issue
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
viban add "{short_title}" "$'## Symptoms\n...(body)'" {priority} {type}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Parameters**:
|
|
107
|
+
- `title`: Plain title (no tags)
|
|
108
|
+
- `description`: Issue body (Markdown)
|
|
109
|
+
- `priority`: P0, P1, P2, P3 (default: P3)
|
|
110
|
+
- `type`: bug, feat, chore, refactor
|
|
111
|
+
|
|
112
|
+
**Examples**:
|
|
113
|
+
```bash
|
|
114
|
+
# BUG issue
|
|
115
|
+
viban add "API response timeout" "$'## Symptoms\n...'" P1 bug
|
|
116
|
+
|
|
117
|
+
# FEATURE issue
|
|
118
|
+
viban add "Dark mode support" "$'## Symptoms\n...'" P2 feat
|
|
119
|
+
|
|
120
|
+
# REFACTOR issue
|
|
121
|
+
viban add "Separate auth logic" "$'## Symptoms\n...'" P3 refactor
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Step 5: Report Results
|
|
125
|
+
|
|
126
|
+
After registration, report to user:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
=== viban Issue Registered ===
|
|
130
|
+
- Issue ID: #{id}
|
|
131
|
+
- Title: {title}
|
|
132
|
+
- Type: {type}
|
|
133
|
+
- Priority: {priority}
|
|
134
|
+
- Location: {file_path}:{line}
|
|
135
|
+
- Status: backlog
|
|
136
|
+
|
|
137
|
+
Next steps:
|
|
138
|
+
- `viban list` to view issue list
|
|
139
|
+
- `viban start {id}` to start working
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## When Input is Missing
|
|
143
|
+
|
|
144
|
+
Use AskUserQuestion with these prompts:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
What problem should be registered as an issue?
|
|
148
|
+
|
|
149
|
+
Please include:
|
|
150
|
+
1. What is the problem? (error message, unexpected behavior, etc.)
|
|
151
|
+
2. Where does it occur? (page, API, feature, etc.)
|
|
152
|
+
3. How to reproduce? (step-by-step)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Example
|
|
156
|
+
|
|
157
|
+
**Input**: "Charts not showing on backtest results page"
|
|
158
|
+
|
|
159
|
+
**Analysis Process**:
|
|
160
|
+
1. Keywords: backtest, results, chart
|
|
161
|
+
2. Code exploration:
|
|
162
|
+
```bash
|
|
163
|
+
grep -r "chart" . --include="*.tsx" --include="*.ts"
|
|
164
|
+
```
|
|
165
|
+
3. Related file found: `src/pages/backtest/results.tsx`
|
|
166
|
+
4. Check chart rendering logic
|
|
167
|
+
|
|
168
|
+
**Registration Command**:
|
|
169
|
+
```bash
|
|
170
|
+
viban add "Backtest results chart not displayed" "$'## Symptoms\n...'" P1 bug
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Registered Issue**:
|
|
174
|
+
```
|
|
175
|
+
Title: Backtest results chart not displayed
|
|
176
|
+
Priority: P1
|
|
177
|
+
Type: bug
|
|
178
|
+
Location: src/pages/backtest/results.tsx
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Important Notes
|
|
182
|
+
|
|
183
|
+
- **Location Required**: Do not register without file path
|
|
184
|
+
- **Evidence Required**: Do not register based on guesses without code exploration
|
|
185
|
+
- **Avoid Solutions**: Do not write specific solutions (assignee decides)
|
|
186
|
+
- **Check Duplicates**: Check existing issues before registration
|
|
187
|
+
```bash
|
|
188
|
+
viban list
|
|
189
|
+
```
|
|
190
|
+
- **Accurate Priority**: P0 only for system-down level, avoid over-estimation
|