viepilot 3.8.0 → 3.9.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/CHANGELOG.md +14 -0
- package/docs/dev/agents.md +82 -0
- package/package.json +1 -1
- package/skills/vp-auto/SKILL.md +16 -0
- package/workflows/autonomous.md +15 -2
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
+
## [3.9.0] - 2026-05-24
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- ENH-099: skills/vp-auto/SKILL.md — Claude Code adapter tool section expanded with 8 new
|
|
16
|
+
tools: Monitor, CronCreate/Delete/List, EnterWorktree/ExitWorktree, LSP, PushNotification,
|
|
17
|
+
EnterPlanMode/ExitPlanMode (sourced from official tools-reference, May 2026)
|
|
18
|
+
- ENH-099: workflows/autonomous.md — TodoWrite deprecated references replaced with
|
|
19
|
+
TaskCreate/TaskList (disabled since Claude Code v2.1.142); Monitor quality-gate pattern
|
|
20
|
+
and PushNotification phase-complete notification added
|
|
21
|
+
- ENH-099: docs/dev/agents.md — full 28-event hooks inventory table added; Agent Teams
|
|
22
|
+
experimental section (TeamCreate, TeamDelete, SendMessage) documented
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
12
26
|
## [3.8.0] - 2026-05-24
|
|
13
27
|
|
|
14
28
|
### Added
|
package/docs/dev/agents.md
CHANGED
|
@@ -139,3 +139,85 @@ describes the exact steps — follow them as a scoped sub-prompt.
|
|
|
139
139
|
- File: `agents/{name}-agent.md` (kebab-case, always ends in `-agent`)
|
|
140
140
|
- Reference: `{name}-agent` (e.g., `tracker-agent`, not `tracker`)
|
|
141
141
|
- Invocation: `Load agents/{name}-agent.md for full spec.`
|
|
142
|
+
|
|
143
|
+
## Hook Events Reference (ENH-099)
|
|
144
|
+
|
|
145
|
+
Complete list of 28 hook events supported in Claude Code (as of May 2026).
|
|
146
|
+
Source: [code.claude.com/docs/en/hooks](https://code.claude.com/docs/en/hooks)
|
|
147
|
+
|
|
148
|
+
| Hook | Fires When | Blocking | Key ViePilot Use |
|
|
149
|
+
|------|-----------|---------|-----------------|
|
|
150
|
+
| `SessionStart` | Session begins/resumes | No | Inject context, set env, watch paths |
|
|
151
|
+
| `SessionEnd` | Session terminates | No | Cleanup, logging |
|
|
152
|
+
| `UserPromptSubmit` | User submits prompt | Yes | Block/augment prompts; set session title |
|
|
153
|
+
| `UserPromptExpansion` | Slash command expands | Yes | Audit `/vp-*` invocations |
|
|
154
|
+
| `PreToolUse` | Before any tool executes | Yes | Block destructive commands, log ops |
|
|
155
|
+
| `PostToolUse` | After tool succeeds | No | Validate output, add context |
|
|
156
|
+
| `PostToolUseFailure` | After tool fails | No | Log failures |
|
|
157
|
+
| `PostToolBatch` | After parallel tools resolve | Yes | Validate parallel fan-out batch results |
|
|
158
|
+
| `PermissionRequest` | Permission dialog appears | Yes | Auto-approve known safe patterns |
|
|
159
|
+
| `PermissionDenied` | Tool call denied | No | Signal retry allowed |
|
|
160
|
+
| `Stop` | Claude finishes responding | Yes | Continue autonomous loop without re-prompt |
|
|
161
|
+
| `StopFailure` | Turn ends due to API error | No | Error logging |
|
|
162
|
+
| `Notification` | Claude Code sends notification | No | Desktop notification / terminal bell |
|
|
163
|
+
| `SubagentStart` | Subagent spawned | No | Log agent start, inject context |
|
|
164
|
+
| `SubagentStop` | Subagent finishes | Yes | Block premature stop, collect output |
|
|
165
|
+
| `TaskCreated` | TaskCreate tool used | Yes | Enforce naming conventions |
|
|
166
|
+
| `TaskCompleted` | Task marked complete | Yes | Trigger quality gate automatically |
|
|
167
|
+
| `TeammateIdle` | Agent team teammate idle | Yes | Keep agent alive / assign next task |
|
|
168
|
+
| `CwdChanged` | Working directory changes | No | Reactive env setup (direnv) |
|
|
169
|
+
| `FileChanged` | Watched file changes | No | React to test/code file saves |
|
|
170
|
+
| `ConfigChange` | Config file changes | Yes | Block unexpected config changes |
|
|
171
|
+
| `WorktreeCreate` | Worktree being created | Yes | Custom worktree setup |
|
|
172
|
+
| `WorktreeRemove` | Worktree being removed | No | Cleanup |
|
|
173
|
+
| `PreCompact` | Before context compaction | Yes | Block compaction during critical phase steps |
|
|
174
|
+
| `PostCompact` | After compaction completes | No | Re-inject phase context |
|
|
175
|
+
| `Setup` | `--init-only` / `-p --init` | No | One-time dependency installation |
|
|
176
|
+
| `InstructionsLoaded` | CLAUDE.md / rules loaded | No | Audit logging |
|
|
177
|
+
| `Elicitation` | MCP server requests user input | Yes | Auto-respond to MCP prompts |
|
|
178
|
+
|
|
179
|
+
### Exit code behavior
|
|
180
|
+
- **Exit 0**: success; JSON output processed
|
|
181
|
+
- **Exit 2**: blocking error; stderr shown, event blocked
|
|
182
|
+
- **Other non-zero**: non-blocking; first line of stderr shown
|
|
183
|
+
|
|
184
|
+
### Most impactful hooks for ViePilot autonomous runs
|
|
185
|
+
- `TaskCreated` + `TaskCompleted` → hook-driven quality gates (no manual trigger needed)
|
|
186
|
+
- `PreCompact` + `PostCompact` → protect long phases from mid-run context loss
|
|
187
|
+
- `SubagentStart` + `SubagentStop` → trace agent orchestration
|
|
188
|
+
- `Stop` → enables fully autonomous `/vp-auto` without re-prompting
|
|
189
|
+
- `PostToolBatch` → validate parallel fan-out results (ENH-096/097 pattern)
|
|
190
|
+
|
|
191
|
+
## Agent Teams (Experimental)
|
|
192
|
+
|
|
193
|
+
Agent Teams allow multiple Claude Code sessions to communicate via message passing.
|
|
194
|
+
Requires: `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` environment variable.
|
|
195
|
+
|
|
196
|
+
### Tools
|
|
197
|
+
|
|
198
|
+
| Tool | Description |
|
|
199
|
+
|------|-------------|
|
|
200
|
+
| `TeamCreate` | Create a named team with multiple teammate sessions |
|
|
201
|
+
| `TeamDelete` | Disband team and clean up all teammate processes |
|
|
202
|
+
| `SendMessage` | Send a message to a teammate by name, or resume a stopped subagent |
|
|
203
|
+
|
|
204
|
+
### Architecture
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
TeamCreate → defines lead + teammates
|
|
208
|
+
TeamLead → assigns tasks via SendMessage
|
|
209
|
+
Teammates → work independently, respond via SendMessage back to lead
|
|
210
|
+
TeamDelete → cleanup after all work complete
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### ViePilot roadmap
|
|
214
|
+
|
|
215
|
+
Agent Teams represent a future upgrade path for the vp-auto orchestration model (ENH-096/097).
|
|
216
|
+
Currently, vp-auto uses fire-and-forget `Agent` spawning (no back-and-forth). Agent Teams
|
|
217
|
+
would enable:
|
|
218
|
+
- Lead orchestrator assigns tasks AND receives status updates
|
|
219
|
+
- Teammates can ask questions mid-task
|
|
220
|
+
- Better handling of inter-task dependency resolution
|
|
221
|
+
|
|
222
|
+
**Status**: experimental — requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`.
|
|
223
|
+
Not yet used in ViePilot workflows. Tracked via ENH-099.
|
package/package.json
CHANGED
package/skills/vp-auto/SKILL.md
CHANGED
|
@@ -67,6 +67,22 @@ Use Claude Code tools: `Bash` (shell), `Read` (file), `Edit` + `Write` (file wri
|
|
|
67
67
|
`Agent` (spawn subagent — multi-level nesting supported)
|
|
68
68
|
Interactive: `AskUserQuestion` (deferred — preload via ToolSearch before first call)
|
|
69
69
|
|
|
70
|
+
**Additional tools (ENH-099):**
|
|
71
|
+
- `Monitor` — run command in background, each output line fed back to Claude; use for
|
|
72
|
+
`npm test --watchAll=false`, dev server tail, CI polling mid-conversation
|
|
73
|
+
- `CronCreate` / `CronDelete` / `CronList` — in-session scheduled prompts (survive
|
|
74
|
+
`--resume`); use for periodic quality checks during long autonomous phases
|
|
75
|
+
- `EnterWorktree` / `ExitWorktree` — isolated git worktree per task; auto-cleanup on
|
|
76
|
+
exit if no changes; use for parallel task execution without branch conflicts
|
|
77
|
+
(not available to subagents)
|
|
78
|
+
- `LSP` — code intelligence: type errors after each edit, jump to definition, find
|
|
79
|
+
references; requires code intelligence plugin; replaces post-edit `tsc --noEmit`
|
|
80
|
+
- `PushNotification` — desktop + phone push on phase complete or control-point pause
|
|
81
|
+
(Anthropic infra only; not available on Bedrock/Vertex)
|
|
82
|
+
- `EnterPlanMode` / `ExitPlanMode` — plan gate before implementation: EnterPlanMode
|
|
83
|
+
switches to read-only planning; ExitPlanMode presents plan for approval before any
|
|
84
|
+
file edits are made
|
|
85
|
+
|
|
70
86
|
## D. Subagent Spawning
|
|
71
87
|
Use `Agent` tool for subagent dispatch. For parallel task execution: fan-out with multiple
|
|
72
88
|
`Agent` calls per cluster (see ADAPTER_CONTEXT.orchestration — claude-code supports parallel: true).
|
package/workflows/autonomous.md
CHANGED
|
@@ -259,7 +259,7 @@ ELSE:
|
|
|
259
259
|
|
|
260
260
|
**Agent Teams mode** (when `ADAPTER_CONTEXT.orchestration.teams == true` AND pending task count ≥ 8):
|
|
261
261
|
- Set `TEAMS_MODE = true`
|
|
262
|
-
- Activate shared
|
|
262
|
+
- Activate shared TaskCreate/TaskList task list for teammate coordination
|
|
263
263
|
- Each Agent worker reads from the shared list rather than receiving an explicit task prompt
|
|
264
264
|
|
|
265
265
|
#### 3b-orch: Orchestrator Fan-out (Claude Code only)
|
|
@@ -342,7 +342,7 @@ On `QUALITY_GATE: FAIL` or `PARTIAL` → route to control point (retry cluster /
|
|
|
342
342
|
On `QUALITY_GATE: PASS` → update PHASE-STATE.md (all cluster tasks → done), update TRACKER.md, continue.
|
|
343
343
|
|
|
344
344
|
**Teams mode** (when `TEAMS_MODE == true`):
|
|
345
|
-
- Write all pending task IDs to shared `
|
|
345
|
+
- Write all pending task IDs to shared task list via `TaskCreate` at phase start
|
|
346
346
|
- Each `Agent(vp-task-executor)` reads next available task from shared list
|
|
347
347
|
- Prevents duplicate execution when dispatching ≥ 8 tasks concurrently
|
|
348
348
|
|
|
@@ -689,6 +689,13 @@ quality_gate:
|
|
|
689
689
|
- no_lint_errors: true
|
|
690
690
|
```
|
|
691
691
|
|
|
692
|
+
**Monitor pattern (ENH-099) — long-running verifications:**
|
|
693
|
+
For tests or builds that take minutes, use the `Monitor` tool instead of blocking `Bash`:
|
|
694
|
+
```
|
|
695
|
+
Monitor: tail -f test-output.log — react when output contains "FAIL" or "Tests: N failed"
|
|
696
|
+
```
|
|
697
|
+
This keeps the agentic loop active while the background process runs.
|
|
698
|
+
|
|
692
699
|
#### Test Generation — test-generator-agent (ENH-057, BUG-028 fix)
|
|
693
700
|
|
|
694
701
|
**Trigger**: current task is the last task in the phase AND task.md contains `## Acceptance Criteria`
|
|
@@ -845,6 +852,12 @@ Before phase-level verification, run a UI stub check:
|
|
|
845
852
|
2. Check phase quality gate
|
|
846
853
|
3. Write SUMMARY.md using `templates/phase/SUMMARY.md` as base.
|
|
847
854
|
|
|
855
|
+
**PushNotification (ENH-099, optional):**
|
|
856
|
+
After phase quality gate passes, send a desktop + phone alert:
|
|
857
|
+
- Message: "Phase {N} — {name} complete ✅ ({tasks} tasks, {tests} tests)"
|
|
858
|
+
- Requires Anthropic-hosted Claude Code (not available on Bedrock/Vertex).
|
|
859
|
+
- Call: `PushNotification` tool with the summary message.
|
|
860
|
+
|
|
848
861
|
Populate `{{CREATED_FILES}}`, `{{MODIFIED_FILES}}`, `{{DELETED_FILES}}` from git:
|
|
849
862
|
```bash
|
|
850
863
|
# Get ALL individual files changed since phase start tag
|