claude-plugin-viban 1.3.2 → 1.3.4
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 +1 -1
- package/commands/add.md +25 -39
- package/commands/assign.md +2 -0
- package/commands/parallel-assign.md +3 -3
- package/package.json +1 -1
- package/skills/add/SKILL.md +23 -39
- package/skills/parallel-assign/SKILL.md +47 -31
package/commands/add.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
description: "Register a problem as a viban issue"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
> Tip: Run `/clear` before `/viban:add` for a clean context.
|
|
6
|
+
|
|
5
7
|
# /add - Register Issue
|
|
6
8
|
|
|
7
9
|
Register a problem as a viban issue. No codebase exploration, no solutions — symptoms only.
|
|
@@ -40,17 +42,20 @@ Infer from description. Don't ask unless truly ambiguous.
|
|
|
40
42
|
## Step 4: Register
|
|
41
43
|
|
|
42
44
|
```bash
|
|
43
|
-
|
|
45
|
+
mkdir -p .viban/tmp
|
|
46
|
+
cat > .viban/tmp/desc.md <<'VIBAN_EOF'
|
|
44
47
|
## Symptoms
|
|
45
48
|
{one-sentence symptom}
|
|
46
49
|
{additional context, if any}
|
|
47
50
|
VIBAN_EOF
|
|
48
51
|
|
|
49
52
|
# Auto numbering (default)
|
|
50
|
-
viban add "{title}" --desc-file /tmp/
|
|
53
|
+
viban add "{title}" --desc-file .viban/tmp/desc.md --priority {priority} --type {type}
|
|
54
|
+
rm -f .viban/tmp/desc.md
|
|
51
55
|
|
|
52
56
|
# Manual numbering (when workflow specifies)
|
|
53
|
-
viban add "{title}" --desc-file /tmp/
|
|
57
|
+
viban add "{title}" --desc-file .viban/tmp/desc.md --priority {priority} --type {type} --ext-id "{external_id}"
|
|
58
|
+
rm -f .viban/tmp/desc.md
|
|
54
59
|
```
|
|
55
60
|
|
|
56
61
|
Use `<<'VIBAN_EOF'` (quoted) to prevent shell interpretation.
|
|
@@ -64,49 +69,30 @@ Issue #{id} registered
|
|
|
64
69
|
Status: backlog
|
|
65
70
|
```
|
|
66
71
|
|
|
67
|
-
## Step 6:
|
|
68
|
-
|
|
69
|
-
**Skip** unless the issue clearly needs upfront design. Most issues don't.
|
|
70
|
-
|
|
71
|
-
Only suggest plan mode when:
|
|
72
|
-
- The issue spans multiple subsystems or requires architectural decisions
|
|
73
|
-
- The description is too vague to act on without investigation
|
|
74
|
-
- P0 issues where a wrong fix could make things worse
|
|
75
|
-
|
|
76
|
-
**Do NOT suggest** for: single-file fixes, straightforward bugs, feature additions with clear scope, chores, refactors with obvious targets.
|
|
72
|
+
## Step 6: Done
|
|
77
73
|
|
|
78
|
-
|
|
74
|
+
Report the registered issue and **stop immediately**. Do not suggest next steps, do not offer to plan, do not continue.
|
|
79
75
|
|
|
80
|
-
|
|
81
|
-
- options:
|
|
82
|
-
- "Plan now" — Enter plan mode to analyze and design a solution
|
|
83
|
-
- "Later" — Just register, work on it later
|
|
76
|
+
> **This skill ends here. No exceptions.**
|
|
84
77
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
mkdir -p .viban/plans
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
```markdown
|
|
92
|
-
# Plan: {issue title}
|
|
93
|
-
> Issue #{id} | {priority} | {type} | Created: {timestamp}
|
|
94
|
-
|
|
95
|
-
{full plan content}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Report: `Plan saved to .viban/plans/{issue-id}.md — /viban:assign will auto-load it.`
|
|
78
|
+
## Rules
|
|
99
79
|
|
|
100
|
-
|
|
80
|
+
### READ-ONLY MODE — This skill must NOT modify any files.
|
|
101
81
|
|
|
102
|
-
|
|
82
|
+
**Allowed tools (whitelist — everything else is FORBIDDEN):**
|
|
83
|
+
- `Bash`: ONLY for `mkdir -p .viban/tmp`, `viban add`, `viban list`, `cat .viban/workflow.md`, `rm -f .viban/tmp/desc.md`
|
|
84
|
+
- `Write`: ONLY for `.viban/tmp/desc.md` (temp file for `--desc-file`)
|
|
85
|
+
- `AskUserQuestion`: for clarification
|
|
86
|
+
- `Read`: for reading `.viban/workflow.md`
|
|
103
87
|
|
|
104
|
-
|
|
88
|
+
**FORBIDDEN tools and actions:**
|
|
89
|
+
- `Edit`: NEVER use. No file modifications of any kind.
|
|
90
|
+
- `Write` to any path outside `/tmp/viban-*.md` and `.viban/plans/`: FORBIDDEN.
|
|
91
|
+
- `Bash` for anything other than `viban` CLI and `cat`/`mkdir` above: FORBIDDEN.
|
|
92
|
+
- No `git` commands. No source code reads. No codebase exploration.
|
|
105
93
|
|
|
106
|
-
|
|
107
|
-
- **NEVER
|
|
108
|
-
- **NEVER start implementation** — even after plan mode, just save the plan and stop
|
|
109
|
-
- No codebase exploration — assignee does that in `/viban:assign`
|
|
94
|
+
### Additional rules:
|
|
95
|
+
- **NEVER read or write `viban.json` directly** — always use `viban` CLI commands
|
|
110
96
|
- No solution proposals in the issue — symptoms only
|
|
111
97
|
- Check duplicates first: `viban list`
|
|
112
98
|
- P0 is system-down only
|
package/commands/assign.md
CHANGED
|
@@ -16,8 +16,8 @@ Examples:
|
|
|
16
16
|
|
|
17
17
|
How it works:
|
|
18
18
|
1. Assigns N backlog issues and creates isolated git worktrees (`.viban/worktrees/{id}`)
|
|
19
|
-
2. Spawns one opus agent per issue — each agent
|
|
20
|
-
3.
|
|
21
|
-
4. Coordinator
|
|
19
|
+
2. Spawns one opus agent per issue — each agent only analyzes, implements, and commits
|
|
20
|
+
3. Coordinator removes worktrees, verifies local branches, pushes, and creates PRs
|
|
21
|
+
4. Coordinator runs tests, moves issues to review, and reports results
|
|
22
22
|
|
|
23
23
|
**IMPORTANT:** Never read or write `viban.json` directly — always use `viban` CLI commands. Direct JSON access causes race conditions.
|
package/package.json
CHANGED
package/skills/add/SKILL.md
CHANGED
|
@@ -41,17 +41,20 @@ Infer from description. Don't ask unless truly ambiguous.
|
|
|
41
41
|
## Step 4: Register
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
|
|
44
|
+
mkdir -p .viban/tmp
|
|
45
|
+
cat > .viban/tmp/desc.md <<'VIBAN_EOF'
|
|
45
46
|
## Symptoms
|
|
46
47
|
{one-sentence symptom}
|
|
47
48
|
{additional context, if any}
|
|
48
49
|
VIBAN_EOF
|
|
49
50
|
|
|
50
51
|
# Auto numbering (default)
|
|
51
|
-
viban add "{title}" --desc-file /tmp/
|
|
52
|
+
viban add "{title}" --desc-file .viban/tmp/desc.md --priority {priority} --type {type}
|
|
53
|
+
rm -f .viban/tmp/desc.md
|
|
52
54
|
|
|
53
55
|
# Manual numbering (when workflow specifies)
|
|
54
|
-
viban add "{title}" --desc-file /tmp/
|
|
56
|
+
viban add "{title}" --desc-file .viban/tmp/desc.md --priority {priority} --type {type} --ext-id "{external_id}"
|
|
57
|
+
rm -f .viban/tmp/desc.md
|
|
55
58
|
```
|
|
56
59
|
|
|
57
60
|
Use `<<'VIBAN_EOF'` (quoted) to prevent shell interpretation.
|
|
@@ -65,49 +68,30 @@ Issue #{id} registered
|
|
|
65
68
|
Status: backlog
|
|
66
69
|
```
|
|
67
70
|
|
|
68
|
-
## Step 6:
|
|
71
|
+
## Step 6: Done
|
|
69
72
|
|
|
70
|
-
|
|
73
|
+
Report the registered issue and **stop immediately**. Do not suggest next steps, do not offer to plan, do not continue.
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
- The issue spans multiple subsystems or requires architectural decisions
|
|
74
|
-
- The description is too vague to act on without investigation
|
|
75
|
-
- P0 issues where a wrong fix could make things worse
|
|
75
|
+
> **This skill ends here. No exceptions.**
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
When suggesting, use AskUserQuestion:
|
|
80
|
-
|
|
81
|
-
- header: "Next step", question: "This looks complex — want to plan before working on it?"
|
|
82
|
-
- options:
|
|
83
|
-
- "Plan now" — Enter plan mode to analyze and design a solution
|
|
84
|
-
- "Later" — Just register, work on it later
|
|
85
|
-
|
|
86
|
-
**"Plan now"**: `EnterPlanMode` → after approval, save to `.viban/plans/{issue-id}.md`:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
mkdir -p .viban/plans
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
```markdown
|
|
93
|
-
# Plan: {issue title}
|
|
94
|
-
> Issue #{id} | {priority} | {type} | Created: {timestamp}
|
|
95
|
-
|
|
96
|
-
{full plan content}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Report: `Plan saved to .viban/plans/{issue-id}.md — /viban:assign will auto-load it.`
|
|
77
|
+
## Rules
|
|
100
78
|
|
|
101
|
-
|
|
79
|
+
### READ-ONLY MODE — This skill must NOT modify any files.
|
|
102
80
|
|
|
103
|
-
|
|
81
|
+
**Allowed tools (whitelist — everything else is FORBIDDEN):**
|
|
82
|
+
- `Bash`: ONLY for `mkdir -p .viban/tmp`, `viban add`, `viban list`, `cat .viban/workflow.md`, `rm -f .viban/tmp/desc.md`
|
|
83
|
+
- `Write`: ONLY for `.viban/tmp/desc.md` (temp file for `--desc-file`)
|
|
84
|
+
- `AskUserQuestion`: for clarification
|
|
85
|
+
- `Read`: for reading `.viban/workflow.md`
|
|
104
86
|
|
|
105
|
-
|
|
87
|
+
**FORBIDDEN tools and actions:**
|
|
88
|
+
- `Edit`: NEVER use. No file modifications of any kind.
|
|
89
|
+
- `Write` to any path outside `/tmp/viban-*.md` and `.viban/plans/`: FORBIDDEN.
|
|
90
|
+
- `Bash` for anything other than `viban` CLI and `cat`/`mkdir` above: FORBIDDEN.
|
|
91
|
+
- No `git` commands. No source code reads. No codebase exploration.
|
|
106
92
|
|
|
107
|
-
|
|
108
|
-
- **NEVER
|
|
109
|
-
- **NEVER start implementation** — even after plan mode, just save the plan and stop
|
|
110
|
-
- No codebase exploration — assignee does that in `/viban:assign`
|
|
93
|
+
### Additional rules:
|
|
94
|
+
- **NEVER read or write `viban.json` directly** — always use `viban` CLI commands
|
|
111
95
|
- No solution proposals in the issue — symptoms only
|
|
112
96
|
- Check duplicates first: `viban list`
|
|
113
97
|
- P0 is system-down only
|
|
@@ -139,21 +139,14 @@ You are one of {N} parallel agents working in isolated git worktrees.
|
|
|
139
139
|
Resolves: #{ID}"
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
-
4.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
cd {REPO_ROOT}
|
|
151
|
-
viban review {ID}
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
ABSOLUTE RULES (violating any of these corrupts the board):
|
|
155
|
-
- Run `viban review {ID}` as your LAST command before finishing. Always. Even on errors.
|
|
156
|
-
- **FORBIDDEN: `viban done`** — this DELETES the card permanently. NEVER run it. Only the human runs `viban done` after reviewing the PR.
|
|
142
|
+
4. That's it. Stop after committing.
|
|
143
|
+
|
|
144
|
+
ABSOLUTE RULES:
|
|
145
|
+
- **Your job ends after committing.** The coordinator handles push, PR creation, and issue status.
|
|
146
|
+
- **FORBIDDEN: `git push`** — the coordinator pushes from the main repo after verifying.
|
|
147
|
+
- **FORBIDDEN: `gh pr create`** — the coordinator creates PRs after transplanting branches.
|
|
148
|
+
- **FORBIDDEN: `viban done`** — this DELETES the card permanently.
|
|
149
|
+
- **FORBIDDEN: `viban review`** — the coordinator handles issue status.
|
|
157
150
|
- **FORBIDDEN: reading or writing `viban.json`** — use CLI commands only.
|
|
158
151
|
- Do NOT run the full test suite — the coordinator handles that.
|
|
159
152
|
- Do NOT remove the worktree — the coordinator handles cleanup.
|
|
@@ -178,44 +171,66 @@ for each (ID, BRANCH) in ISSUES:
|
|
|
178
171
|
|
|
179
172
|
1. Wait for all background agents to complete (poll via `TaskOutput`)
|
|
180
173
|
2. Collect results — note successes and failures
|
|
181
|
-
3. For any issue where `viban review` was not called, run it now as safety net:
|
|
182
|
-
```bash
|
|
183
|
-
viban review $ID
|
|
184
|
-
```
|
|
185
174
|
|
|
186
175
|
---
|
|
187
176
|
|
|
188
177
|
## Phase 3: TRANSPLANT & CLEANUP
|
|
189
178
|
|
|
190
|
-
After all agents finish,
|
|
191
|
-
|
|
192
|
-
### 3.1 Verify Local Branches
|
|
193
|
-
|
|
194
|
-
The local branch already exists (created by `git worktree add -b`). After worktree removal, the branch and its commits remain in the local repo.
|
|
179
|
+
After all agents finish, the coordinator handles everything from the main repo root.
|
|
195
180
|
|
|
196
181
|
```bash
|
|
197
182
|
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
198
183
|
cd "$REPO_ROOT"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### 3.1 Remove Worktrees (branches survive)
|
|
199
187
|
|
|
188
|
+
Worktree removal does NOT delete the branch or its commits — they remain in the local repo.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
for entry in "${ISSUES[@]}"; do
|
|
192
|
+
ID="${entry%%|*}"
|
|
193
|
+
WT_DIR="$REPO_ROOT/.viban/worktrees/$ID"
|
|
194
|
+
git worktree remove "$WT_DIR" --force
|
|
195
|
+
done
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### 3.2 Verify Local Branches
|
|
199
|
+
|
|
200
|
+
Confirm each branch has commits from the agent:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
200
203
|
for entry in "${ISSUES[@]}"; do
|
|
201
204
|
BRANCH="${entry##*|}"
|
|
202
205
|
git log --oneline -3 "$BRANCH"
|
|
203
206
|
done
|
|
204
207
|
```
|
|
205
208
|
|
|
206
|
-
|
|
209
|
+
If a branch has no new commits (agent failed), skip it and report.
|
|
207
210
|
|
|
208
|
-
|
|
211
|
+
### 3.3 Push Branches & Create PRs
|
|
212
|
+
|
|
213
|
+
For each branch with commits, push from the main repo and create a PR:
|
|
209
214
|
|
|
210
215
|
```bash
|
|
211
216
|
for entry in "${ISSUES[@]}"; do
|
|
212
217
|
ID="${entry%%|*}"
|
|
213
|
-
|
|
214
|
-
|
|
218
|
+
BRANCH="${entry##*|}"
|
|
219
|
+
|
|
220
|
+
# Push the local branch to remote
|
|
221
|
+
git push -u origin "$BRANCH"
|
|
222
|
+
|
|
223
|
+
# Create PR
|
|
224
|
+
gh pr create --head "$BRANCH" --base main \
|
|
225
|
+
--title "type: title" \
|
|
226
|
+
--body "Resolves: #${ID}"
|
|
227
|
+
|
|
228
|
+
# Move issue to review
|
|
229
|
+
viban review "$ID"
|
|
215
230
|
done
|
|
216
231
|
```
|
|
217
232
|
|
|
218
|
-
### 3.
|
|
233
|
+
### 3.4 Verify PRs Exist
|
|
219
234
|
|
|
220
235
|
```bash
|
|
221
236
|
for entry in "${ISSUES[@]}"; do
|
|
@@ -269,9 +284,10 @@ Worktrees cleaned up. All PRs ready for human review.
|
|
|
269
284
|
|
|
270
285
|
## Error Handling
|
|
271
286
|
|
|
272
|
-
- **Agent fails mid-work**: coordinator
|
|
287
|
+
- **Agent fails mid-work**: coordinator still attempts push + PR for any commits on the branch. If no commits, skip and call `viban review {ID}` to unblock the card.
|
|
273
288
|
- **Worktree creation fails**: skip that issue, log error, continue with others
|
|
274
|
-
- **
|
|
289
|
+
- **Push fails**: report it; local branch still available for manual push
|
|
290
|
+
- **PR creation fails**: report it; branch is already pushed, user can create PR manually
|
|
275
291
|
- **Test failures**: report which branch likely caused the failure
|
|
276
292
|
|
|
277
293
|
---
|