pan-wizard 3.8.0 → 3.12.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.
Files changed (72) hide show
  1. package/README.md +80 -9
  2. package/agents/pan-conductor.md +15 -3
  3. package/agents/pan-counterfactual.md +1 -2
  4. package/agents/pan-debugger.md +1 -2
  5. package/agents/pan-distiller.md +1 -2
  6. package/agents/pan-document_code.md +1 -0
  7. package/agents/pan-executor.md +1 -0
  8. package/agents/pan-experiment-runner.md +1 -2
  9. package/agents/pan-hardener.md +1 -2
  10. package/agents/pan-integration-checker.md +1 -2
  11. package/agents/pan-knowledge.md +1 -2
  12. package/agents/pan-meta-reviewer.md +1 -2
  13. package/agents/pan-optimizer.md +1 -0
  14. package/agents/pan-phase-researcher.md +1 -0
  15. package/agents/pan-plan-checker.md +1 -2
  16. package/agents/pan-planner.md +1 -0
  17. package/agents/pan-previewer.md +1 -2
  18. package/agents/pan-project-researcher.md +6 -0
  19. package/agents/pan-release.md +58 -0
  20. package/agents/pan-research-synthesizer.md +7 -0
  21. package/agents/pan-reviewer.md +2 -3
  22. package/agents/pan-roadmapper.md +1 -0
  23. package/agents/pan-verifier.md +1 -2
  24. package/assets/pan-avatar.png +0 -0
  25. package/assets/pan-developer.png +0 -0
  26. package/assets/pan-docs-header.png +0 -0
  27. package/assets/pan-hero.png +0 -0
  28. package/assets/pan-logo-2000-transparent.svg +11 -30
  29. package/assets/pan-logo-2000.svg +12 -43
  30. package/assets/pan-logo-lockup.svg +11 -0
  31. package/assets/pan-mark.svg +7 -0
  32. package/assets/pan-orchestration.png +0 -0
  33. package/assets/pan-readme-hero.png +0 -0
  34. package/assets/terminal.svg +39 -119
  35. package/bin/install-lib.cjs +661 -46
  36. package/bin/install.js +722 -116
  37. package/commands/pan/army.md +169 -0
  38. package/commands/pan/dashboard.md +25 -0
  39. package/commands/pan/experiment.md +2 -0
  40. package/commands/pan/focus-auto.md +32 -4
  41. package/commands/pan/hud.md +91 -0
  42. package/commands/pan/profile.md +2 -0
  43. package/hooks/dist/pan-cost-logger.js +22 -7
  44. package/package.json +5 -4
  45. package/pan-wizard-core/bin/lib/campaign.cjs +198 -0
  46. package/pan-wizard-core/bin/lib/commands-learnings.cjs +544 -0
  47. package/pan-wizard-core/bin/lib/commands.cjs +12 -523
  48. package/pan-wizard-core/bin/lib/constants.cjs +8 -0
  49. package/pan-wizard-core/bin/lib/core.cjs +80 -0
  50. package/pan-wizard-core/bin/lib/cost.cjs +62 -8
  51. package/pan-wizard-core/bin/lib/focus.cjs +13 -1
  52. package/pan-wizard-core/bin/lib/git.cjs +6 -1
  53. package/pan-wizard-core/bin/lib/hud.cjs +887 -0
  54. package/pan-wizard-core/bin/lib/lock.cjs +108 -0
  55. package/pan-wizard-core/bin/lib/milestone.cjs +3 -2
  56. package/pan-wizard-core/bin/lib/phase-remove.cjs +392 -0
  57. package/pan-wizard-core/bin/lib/phase.cjs +4 -369
  58. package/pan-wizard-core/bin/lib/runner.cjs +5 -0
  59. package/pan-wizard-core/bin/lib/squads.cjs +152 -0
  60. package/pan-wizard-core/bin/lib/state.cjs +10 -1
  61. package/pan-wizard-core/bin/lib/verify-deploy.cjs +181 -0
  62. package/pan-wizard-core/bin/lib/verify-drift.cjs +255 -0
  63. package/pan-wizard-core/bin/lib/verify-preflight.cjs +261 -0
  64. package/pan-wizard-core/bin/lib/verify-retro.cjs +177 -0
  65. package/pan-wizard-core/bin/lib/verify.cjs +10 -797
  66. package/pan-wizard-core/bin/lib/worktree.cjs +123 -0
  67. package/pan-wizard-core/bin/pan-tools.cjs +78 -0
  68. package/pan-wizard-core/learnings/universal/autonomous-loop.md +56 -0
  69. package/pan-wizard-core/workflows/plan-phase.md +11 -0
  70. package/scripts/build-plugin.js +105 -0
  71. package/scripts/install-git-hooks.js +64 -0
  72. package/scripts/release-check.js +13 -2
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  <div align="center">
2
2
 
3
- <img src="https://cdn.jsdelivr.net/npm/pan-wizard@latest/assets/pan-logo-2000-transparent.svg" alt="PAN Wizard" width="200" />
3
+ <img src="assets/pan-readme-hero.png" alt="PanWizard — context engineering that makes AI coding reliable" width="820" />
4
4
 
5
- # PAN WIZARD
5
+ # PanWizard
6
6
 
7
7
  **Project Automation Navigator — A lightweight workflow automation and context engineering system for Claude Code, OpenCode, Gemini CLI, Codex, and Copilot CLI.**
8
8
 
9
9
  **Solves context rot — the quality degradation that happens as Claude fills its context window.**
10
10
 
11
- [![npm version](https://img.shields.io/npm/v/pan-wizard?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/pan-wizard)
12
- [![npm downloads](https://img.shields.io/npm/dm/pan-wizard?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/pan-wizard)
13
- [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
11
+ [![npm version](https://img.shields.io/npm/v/pan-wizard?style=for-the-badge&color=FF5A3C&labelColor=211E18)](https://www.npmjs.com/package/pan-wizard)
12
+ [![npm downloads](https://img.shields.io/npm/dm/pan-wizard?style=for-the-badge&color=5B4BE6&labelColor=211E18)](https://www.npmjs.com/package/pan-wizard)
13
+ [![License](https://img.shields.io/badge/license-MIT-1E8E5A?style=for-the-badge&labelColor=211E18)](LICENSE)
14
14
 
15
15
  <br>
16
16
 
@@ -22,7 +22,7 @@ npx pan-wizard@latest
22
22
 
23
23
  <br>
24
24
 
25
- ![PAN Install](https://cdn.jsdelivr.net/npm/pan-wizard@latest/assets/terminal.svg)
25
+ ![PanWizard bot army — Mission Control delegating to squads, builders in isolated worktrees, human-gated merge](assets/terminal.svg)
26
26
 
27
27
  <br>
28
28
 
@@ -74,6 +74,46 @@ PAN is the context engineering layer that makes Claude Code reliable. It breaks
74
74
 
75
75
  ---
76
76
 
77
+ ## Bot Army
78
+
79
+ > **Don't run one phase — run the whole project.** `/pan:army` turns PAN's agents into a coordinated army that delivers a goal end-to-end: an Opus **Mission Control** plans the mission and delegates to specialist **squads**, parallel builders each work an isolated git worktree, and **nothing reaches your main branch without green checks and your explicit approval.**
80
+
81
+ <div align="center">
82
+ <img src="assets/pan-orchestration.png" alt="PanWizard specialist agents orchestrated along a pipeline" width="340" />
83
+ </div>
84
+
85
+ | Tier | Squad | Does | Access |
86
+ |------|-------|------|--------|
87
+ | **0 · Mission Control** | `pan-conductor` (Opus) | Plans + delegates. Never writes code. | delegation-only |
88
+ | **1 · Architecture** | roadmapper · planner · researchers | Designs the contract before code | read-only |
89
+ | **1 · Build** | `pan-executor` | Turns the contract into committed code | read / write · one `army/<task>` worktree per agent |
90
+ | **1 · Quality** | reviewer · hardener · verifier · … | Adversarially tries to break it | read-only |
91
+ | **1 · Release** | `pan-release` | Ships behind a human gate | always-ask |
92
+ | **2 · Workers** | document_code · distiller | Narrow, high-volume jobs | scoped |
93
+
94
+ **The loop:** `Muster → Plan → Delegate → Execute → Review → Integrate → Learn` ↺ — repeating until the goal ships or a stop condition fires.
95
+
96
+ **Bounded by a hard safety harness:**
97
+
98
+ - **A human merges. Always.** The Release squad prepares a squash-merge and surfaces an `always-ask` approval — a bot never touches a protected branch. Recovery is `git revert` or the previous tag, never a force-push.
99
+ - **Isolated builders.** Each Build agent forks its own `army/<task>` branch + git worktree, so parallel agents never share a file.
100
+ - **Caps that don't relax.** Delegation-depth cap, per-cycle spawn + budget ceilings, and a `.planning/orchestration/abort` kill-switch — the same harness as hierarchical exec, at campaign scale.
101
+
102
+ **Run it over days.** `--schedule` arms a self-resuming campaign with a per-day budget that burns the backlog down across sessions — and *still* waits for you at every merge. **Autonomy runs up to the irreversible step; a human is at the step.**
103
+
104
+ **Watch it live.** `/pan:hud` renders a single self-contained HTML dashboard — Mission Control over the squads, in-flight worktrees, campaign budget, telemetry, and the safety harness — in one page.
105
+
106
+ ```bash
107
+ /pan:army "ship the v1 reporting module" # plan → delegate → build → review → human-gated ship
108
+ /pan:army "harden auth across the app" --schedule daily --daily-budget 200
109
+ /pan:army --status # where the campaign stands
110
+ /pan:hud --open # watch the army work, live
111
+ ```
112
+
113
+ Resolve the live squad roster any time with `pan-tools squad list`.
114
+
115
+ ---
116
+
77
117
  ## Who This Is For
78
118
 
79
119
  People who want to describe what they want and have it built correctly — without managing complex project management overhead.
@@ -117,7 +157,7 @@ npx pan-wizard --claude --local # Install to ./.claude/
117
157
  # OpenCode (open source, free models)
118
158
  npx pan-wizard --opencode --global # Install to ~/.config/opencode/
119
159
 
120
- # Gemini CLI
160
+ # Gemini CLI (enterprise — see note below)
121
161
  npx pan-wizard --gemini --global # Install to ~/.gemini/
122
162
 
123
163
  # Codex (skills-first)
@@ -134,6 +174,9 @@ npx pan-wizard --all --global # Install to all directories
134
174
 
135
175
  Use `--global` (`-g`) or `--local` (`-l`) to skip the location prompt.
136
176
  Use `--claude`, `--opencode`, `--gemini`, `--codex`, `--copilot`, or `--all` to skip the runtime prompt.
177
+ Add `--unified-skills` to install commands as one shared `.agents/skills/` tree read natively by every runtime (and Antigravity CLI) instead of per-runtime formats — see the User Guide for details.
178
+
179
+ > **Gemini CLI note:** from June 18, 2026, Google's Gemini CLI serves Gemini Code Assist (Standard/Enterprise) customers; individual free / AI Pro / Ultra accounts are directed to Antigravity CLI instead. PAN's `--gemini` target installs for Gemini CLI. Antigravity CLI is not yet a PAN install target, but it reads the shared `.agents/skills/` tree natively — install with `--unified-skills` and PAN's commands are usable from Antigravity in the same project.
137
180
 
138
181
  </details>
139
182
 
@@ -534,6 +577,7 @@ PAN is not a replacement for your IDE or AI agent — it's the orchestration lay
534
577
  | Command | What it does |
535
578
  |---------|--------------|
536
579
  | `/pan:progress` | Where am I? What's next? (supports `health` subformat) |
580
+ | `/pan:hud` (alias `/pan:dashboard`) | Render a self-contained HTML dashboard of project + bot-army state to `.planning/hud.html` (`--open`, `--out`, `--stdout`) |
537
581
  | `/pan:help` | Show all commands and usage guide |
538
582
  | `/pan:update` | Update PAN with changelog preview |
539
583
  | `/pan:discord` | Join the PAN Discord community |
@@ -544,6 +588,12 @@ PAN is not a replacement for your IDE or AI agent — it's the orchestration lay
544
588
  |---------|--------------|
545
589
  | `/pan:map-codebase` | Analyze existing codebase before new-project |
546
590
 
591
+ ### Bot Army
592
+
593
+ | Command | What it does |
594
+ |---------|--------------|
595
+ | `/pan:army "<goal>"` | Campaign-scale delivery: Mission Control (Opus) delegates a whole-project goal to architecture/build/quality/release squads with branch-per-agent worktrees, behind CI + a human merge gate; `--schedule`/`--continue` run it over time |
596
+
547
597
  ### Phase Management
548
598
 
549
599
  | Command | What it does |
@@ -585,7 +635,7 @@ PAN is not a replacement for your IDE or AI agent — it's the orchestration lay
585
635
  | Command | What it does |
586
636
  |---------|--------------|
587
637
  | `pan-tools preflight [target]` | Pre-flight validation: state, blockers, git clean, config, error patterns |
588
- | `pan-tools dashboard` | Aggregated project overview: phase, progress, blockers, next action |
638
+ | `pan-tools dashboard` | Aggregated project overview as JSON: phase, progress, blockers, next action (for the visual HTML dashboard, see `/pan:hud`) |
589
639
  | `pan-tools learnings extract` | Auto-extract learnings from sessions, error patterns, and summaries |
590
640
  | `pan-tools learnings list` | List all extracted learnings with type breakdown |
591
641
  | `pan-tools learnings prune` | Remove old learnings by age (`--days N`) or ID (`--id LEARN-NNN`) |
@@ -649,7 +699,7 @@ Control which Claude model each agent uses. Balance quality vs token spend.
649
699
  | `balanced` (default) | Opus | Sonnet | Sonnet |
650
700
  | `budget` | Sonnet | Sonnet | Haiku |
651
701
 
652
- > Simplified view — actual model assignment varies by agent role. See [User Guide](docs/USER-GUIDE.md#model-profiles) for the full per-agent breakdown.
702
+ > Simplified view — actual model assignment varies by agent role. See [User Guide](docs/USER-GUIDE.md#model-profiles-per-agent-breakdown) for the full per-agent breakdown.
653
703
 
654
704
  Switch profiles:
655
705
  ```
@@ -783,6 +833,10 @@ This removes all PAN commands, agents, hooks, and settings while preserving your
783
833
 
784
834
  ## Documentation
785
835
 
836
+ <div align="center">
837
+ <img src="assets/pan-docs-header.png" alt="" width="720" />
838
+ </div>
839
+
786
840
  | Document | Audience | What it covers |
787
841
  |----------|----------|---------------|
788
842
  | [User Guide](docs/USER-GUIDE.md) | Users | Workflow diagrams, command reference, config schema, troubleshooting |
@@ -808,6 +862,23 @@ MIT License. See [LICENSE](LICENSE) for details.
808
862
 
809
863
  ---
810
864
 
865
+ ## Brand
866
+
867
+ | Token | Hex | Use |
868
+ | --- | --- | --- |
869
+ | Ember | `#FF5A3C` | Primary / CTAs |
870
+ | Conduit | `#5B4BE6` | Links, agent connectors |
871
+ | Verify | `#1E8E5A` | Success / verified |
872
+ | Butter | `#FFCE4A` | Highlights |
873
+ | Ink | `#211E18` | Dark surfaces, terminals |
874
+ | Paper | `#F3ECDD` | Light surfaces |
875
+
876
+ Type: **Gabarito** (display) + **JetBrains Mono** (code & labels). Logo: a node-graph mark (coral parent → indigo links → butter + green children) beside the `PanWizard` wordmark.
877
+
878
+ > Banner, avatar, and illustration art are generated from the prompts in [`docs/branding/image-prompts.md`](docs/branding/image-prompts.md).
879
+
880
+ ---
881
+
811
882
  <div align="center">
812
883
 
813
884
  **Claude Code is powerful. PAN makes it reliable.**
@@ -1,10 +1,9 @@
1
1
  ---
2
2
  name: pan-conductor
3
- description: Hierarchical orchestrator for /pan:exec-phase --hierarchical. Decomposes a phase, spawns sub-agents in sequence (executors, reviewers, verifiers), tracks audit trail via bus.cjs, enforces safety caps. Claude + Opus 4.7 only.
3
+ description: Hierarchical orchestrator for /pan:exec-phase --hierarchical. Decomposes a phase, spawns sub-agents in sequence (executors, reviewers, verifiers), tracks audit trail via bus.cjs, enforces safety caps. Claude + Opus 4.8 only.
4
4
  tools: Read, Write, Bash, Glob, Grep, Task
5
5
  color: orange
6
- thinking: enabled
7
- thinking_budget: 8000
6
+ effort: xhigh
8
7
  ---
9
8
 
10
9
  <role>
@@ -187,3 +186,16 @@ This agent file ships to all runtimes (keeps the installer uniform), but only ge
187
186
  - First-time runs in a new codebase where flat exec telemetry is more informative
188
187
 
189
188
  </calibration>
189
+
190
+ <campaign_mode>
191
+
192
+ When invoked by `/pan:army` (ADR-0033), you are **Mission Control** for a whole-project campaign, not a single phase — same harness, wider scope. The differences:
193
+
194
+ - **You delegate to squads, not bare agents.** Resolve the roster at runtime with `pan-tools squad list` / `squad show <name>` — never hardcode it. Route each mission to the squad that owns its lifecycle role: Architecture (design, read-only), Build (code, read/write), Quality (adversarial, read-only), Release (`pan-release`, always-ask). Workers (document_code, distiller) are Haiku-tier narrow jobs.
195
+ - **Build parallelizes by worktree.** When the Build squad runs multiple tasks at once, each `pan-executor` gets its own `army/<task>` branch + isolated worktree (`pan-tools worktree create "<task>"`) so concurrent builders never share a tree or a file. The spawn cap and budget ceiling still bound the fan-out.
196
+ - **Integration is human-gated.** You never merge to a protected branch. The Release squad prepares the merge and surfaces an `always-ask` approval request; a human approves. Recovery is `git revert` / previous tag — never force-push, never rewrite history.
197
+ - **The loop carries learnings.** After each mission, squad summaries return to you; `/pan:retro --write-memory` persists recurring patterns to agent memory (the "Dreaming" step) so the next mission plans smarter.
198
+
199
+ Every Tier-0 cap from the safety harness still applies, unchanged: nesting depth 2, the spawn/budget ceiling per cycle, and the `.planning/orchestration/abort` kill-switch checked before every spawn. The campaign is a longer loop around the same bounded core — it does not relax a single cap.
200
+
201
+ </campaign_mode>
@@ -3,8 +3,7 @@ name: pan-counterfactual
3
3
  description: Explores a phase's alternative scenario in an isolated git worktree, compares against the original plan, and produces a structured report. Destructive-operation gated. Spawned by /pan:what-if.
4
4
  tools: Read, Write, Edit, Bash, Grep, Glob
5
5
  color: purple
6
- thinking: enabled
7
- thinking_budget: 6000
6
+ effort: high
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,8 +3,7 @@ name: pan-debugger
3
3
  description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /pan:debug orchestrator.
4
4
  tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch
5
5
  color: orange
6
- thinking: enabled
7
- thinking_budget: 8000
6
+ effort: xhigh
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,8 +3,7 @@ name: pan-distiller
3
3
  description: AI code-bloat detection and rewrite agent. Receives flagged code spans, classifies them by safety tier, and proposes minimal rewrites that preserve behavior.
4
4
  tools: Read, Grep, Glob
5
5
  color: cyan
6
- thinking: enabled
7
- thinking_budget: 4000
6
+ effort: medium
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,6 +3,7 @@ name: pan-document_code
3
3
  description: Explores codebase and writes structured analysis documents. Spawned by map-codebase with a focus area (tech, arch, quality, concerns, relationships, practices). Writes documents directly to reduce orchestrator context load.
4
4
  tools: Read, Bash, Grep, Glob, Write
5
5
  color: cyan
6
+ effort: low
6
7
  ---
7
8
 
8
9
  <role>
@@ -3,6 +3,7 @@ name: pan-executor
3
3
  description: Executes PAN plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
4
4
  tools: Read, Write, Edit, Bash, Grep, Glob
5
5
  color: yellow
6
+ effort: high
6
7
  ---
7
8
 
8
9
  <role>
@@ -3,8 +3,7 @@ name: pan-experiment-runner
3
3
  description: Drives an external AI coding session against an experiment folder. Observation-only — read-only relative to PAN source; writes only to the experiment folder's .planning/. Spawns the external runtime, watches its progress, decides when to declare the run done / failed / timed out. Used by the v3.7.0 self-improvement loop.
4
4
  tools: Read, Bash, Glob, Grep
5
5
  color: orange
6
- thinking: enabled
7
- thinking_budget: 6000
6
+ effort: high
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,8 +3,7 @@ name: pan-hardener
3
3
  description: Security audit agent — OWASP Top 10 + STRIDE threat modeling across files changed in a phase. Read-only. Spawned by /pan:review-deep.
4
4
  tools: Read, Grep, Glob, Bash
5
5
  color: red
6
- thinking: enabled
7
- thinking_budget: 6000
6
+ effort: high
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,8 +3,7 @@ name: pan-integration-checker
3
3
  description: Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end.
4
4
  tools: Read, Bash, Grep, Glob
5
5
  color: blue
6
- thinking: enabled
7
- thinking_budget: 6000
6
+ effort: high
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,8 +3,7 @@ name: pan-knowledge
3
3
  description: Knowledge agent for grounded Q&A, multi-turn discussion, and playbook generation. Single agent, three modes (ask/discuss/playbook). Spawned by /pan:knowledge.
4
4
  tools: Read, Grep, Glob, Bash, Write
5
5
  color: cyan
6
- thinking: enabled
7
- thinking_budget: 4000
6
+ effort: medium
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,8 +3,7 @@ name: pan-meta-reviewer
3
3
  description: Reviews the reviewer + hardener output. Flags things both missed, disputes findings that look overstated, and surfaces conflicts for human resolution. Spawned by /pan:review-deep.
4
4
  tools: Read, Grep, Glob, Bash
5
5
  color: magenta
6
- thinking: enabled
7
- thinking_budget: 4000
6
+ effort: medium
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,6 +3,7 @@ name: pan-optimizer
3
3
  description: Circular optimization analyst. Reads execution trace data, identifies error/gap/redundancy patterns, and produces a structured optimization report with auto-applicable memory entries and manual review suggestions.
4
4
  tools: Read, Glob, Grep
5
5
  color: cyan
6
+ effort: high
6
7
  ---
7
8
 
8
9
  <role>
@@ -3,6 +3,7 @@ name: pan-phase-researcher
3
3
  description: Researches how to implement a phase before planning. Produces research.md consumed by pan-planner. Spawned by /pan:plan-phase orchestrator.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
+ effort: medium
6
7
  ---
7
8
 
8
9
  <role>
@@ -3,8 +3,7 @@ name: pan-plan-checker
3
3
  description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by /pan:plan-phase orchestrator.
4
4
  tools: Read, Bash, Glob, Grep
5
5
  color: green
6
- thinking: enabled
7
- thinking_budget: 8000
6
+ effort: xhigh
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,6 +3,7 @@ name: pan-planner
3
3
  description: Creates executable phase plans with task breakdown, dependency analysis, and goal-backward verification. Spawned by /pan:plan-phase orchestrator.
4
4
  tools: Read, Write, Bash, Glob, Grep, WebFetch, mcp__context7__*
5
5
  color: green
6
+ effort: xhigh
6
7
  ---
7
8
 
8
9
  <role>
@@ -3,8 +3,7 @@ name: pan-previewer
3
3
  description: Read-only foresight agent. Given a phase, set of phases, or milestone, produces a structured forecast (blast radius, dependency graph, ETA). Spawned by /pan:preview.
4
4
  tools: Read, Bash, Glob, Grep, Write
5
5
  color: cyan
6
- thinking: enabled
7
- thinking_budget: 6000
6
+ effort: high
8
7
  ---
9
8
 
10
9
  <role>
@@ -3,6 +3,7 @@ name: pan-project-researcher
3
3
  description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /pan:new-project or /pan:milestone-new orchestrators.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
+ effort: medium
6
7
  ---
7
8
 
8
9
  <role>
@@ -13,6 +14,11 @@ Answer "What does this domain ecosystem look like?" Write research files in `.pl
13
14
  **CRITICAL: Mandatory Initial Read**
14
15
  If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
15
16
 
17
+ **CRITICAL: Write output files directly with the Write tool.** Never create
18
+ helper scripts, temp files, or scratch artifacts inside `.planning/` — the
19
+ synthesizer commits everything in research/, so any litter ships into the
20
+ project history.
21
+
16
22
  Your files feed the roadmap:
17
23
 
18
24
  | File | How Roadmap Uses It |
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: pan-release
3
+ description: Release squad agent for the bot-army campaign. Ships approved, green work safely behind a human gate — squash-merge intent, tag, deploy hand-off, and fast rollback. Never merges to a protected branch itself; surfaces an always-ask approval request instead.
4
+ tools: Read, Grep, Glob, Bash
5
+ color: amber
6
+ effort: high
7
+ ---
8
+
9
+ <role>
10
+ You are the PAN release agent — the Release squad (bot-army model, ADR-0033). You own the path to production: you ship safely and you undo fast. You run only after Quality has returned green and a human is in the loop.
11
+
12
+ You are NOT a coder. You do not modify source files. You operate git and release tooling, and you stop at every destructive boundary to ask.
13
+ </role>
14
+
15
+ <critical_safety>
16
+ These are hard rules, not advice:
17
+
18
+ - **Never push to or merge into a protected branch yourself.** Merging to `main` is an `always-ask` gate — you prepare the merge and surface an approval request; a human performs or confirms it.
19
+ - **Never force-push, never rewrite history.** Recovery is always `git revert` or redeploying the previous tag — never `reset --hard` on a shared branch, never `push --force`.
20
+ - **Tags are signing-safe.** Create tags with `-c tag.gpgsign=false` unless the project explicitly signs releases (PAN tags are automation markers).
21
+ - **Respect the project's verification gate.** Do not tag or hand off a deploy unless the build/verification commands from `.planning/config.json` (`build`, `verification`) passed. If they are unset, ask rather than guess.
22
+ </critical_safety>
23
+
24
+ <responsibilities>
25
+ - Confirm the work is green: Quality verdict passed, required checks satisfied, working tree clean.
26
+ - Prepare the integration: summarize the squash-merge (branches, commit set), run the project's `verification` command if configured, and surface an approval request on the `orchestrator` bus channel.
27
+ - After human approval: tag the release (`-c tag.gpgsign=false`), record the deploy hand-off, and report the tag + previous tag (the rollback target).
28
+ - On a failure signal: execute rollback = `git revert` of the merge, or instruct redeploy of the previous tag. Log the event; never silently patch.
29
+ </responsibilities>
30
+
31
+ <inputs>
32
+ - Approved, Quality-green artifacts and the branch/commit set to integrate.
33
+ - `.planning/config.json` → `build` / `verification` commands; `git` branching config.
34
+ - Health/failure signals from telemetry (cost/trace hooks).
35
+ </inputs>
36
+
37
+ <outputs>
38
+ - An always-ask approval request for the merge (on the `orchestrator` bus channel).
39
+ - After approval: the release tag, the previous tag (rollback target), and a deploy hand-off note.
40
+ - Rollback events when a threshold trips.
41
+ </outputs>
42
+
43
+ <key_behaviors>
44
+ - Progressive and reversible: prefer the smallest safe step; every action has a named undo.
45
+ - Pause for human confirmation on any destructive or production-facing op.
46
+ - Return a tight verdict (tag, rollback target, status) — not a wall of git output.
47
+ - Roll back, never rewrite. History stays intact and auditable.
48
+ </key_behaviors>
49
+
50
+ <output_format>
51
+ Return a compact report:
52
+ - `status`: prepared | tagged | rolled_back | blocked
53
+ - `merge`: branch(es) → target, commit count
54
+ - `tag`: the release tag (or null)
55
+ - `rollback_target`: previous tag / revert sha
56
+ - `approval`: the human gate state (pending | granted)
57
+ - `notes`: anything the coordinator must act on
58
+ </output_format>
@@ -3,6 +3,7 @@ name: pan-research-synthesizer
3
3
  description: Synthesizes research outputs from parallel researcher agents into summary.md. Spawned by /pan:new-project after 4 researcher agents complete.
4
4
  tools: Read, Write, Bash
5
5
  color: purple
6
+ effort: medium
6
7
  ---
7
8
 
8
9
  <role>
@@ -24,6 +25,12 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool t
24
25
  - Identify confidence levels and gaps
25
26
  - Write summary.md
26
27
  - Commit ALL research files (researchers write but don't commit — you commit everything)
28
+
29
+ **CRITICAL: Write output files directly with the Write tool.** Never create
30
+ helper scripts, temp files, or scratch artifacts inside `.planning/` — your
31
+ commit step commits everything in research/, so any litter ships into the
32
+ project history. If you must use Bash for anything transient, do it outside
33
+ `.planning/` and clean up before committing.
27
34
  </role>
28
35
 
29
36
  <downstream_consumer>
@@ -3,8 +3,7 @@ name: pan-reviewer
3
3
  description: Read-only code review agent. Checks convention compliance, security patterns, and code quality for files changed during phase execution.
4
4
  tools: Read, Grep, Glob, Bash
5
5
  color: yellow
6
- thinking: enabled
7
- thinking_budget: 4000
6
+ effort: medium
8
7
  ---
9
8
 
10
9
  <role>
@@ -111,6 +110,6 @@ Return a structured review report:
111
110
  <constraints>
112
111
  - READ-ONLY: Never use Edit or Write tools. You inspect, you do not modify.
113
112
  - SCOPE: Only review files listed in the prompt or found in summary.md key-files sections.
114
- - FOCUS: Report real issues, not style preferences. Every finding must cite file and line.
113
+ - COVERAGE: Report every finding you identify, including ones you are uncertain about or judge low-severity — assign each the correct tier (ERROR / WARNING / INFO) rather than dropping it. Pure style preferences with no correctness or consistency impact belong in INFO, not omitted. Your job at this stage is coverage; the severity tiers, the verdict, and the downstream meta-reviewer (`/pan:review-deep`, which disputes overstated findings and removes duplicates) are the filter. It is better to surface a finding that later gets downgraded than to silently drop a real issue. Every finding must cite file and line.
115
114
  - EFFICIENCY: Skip files that are purely documentation (.md) unless they contain code blocks.
116
115
  </constraints>
@@ -3,6 +3,7 @@ name: pan-roadmapper
3
3
  description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /pan:new-project orchestrator.
4
4
  tools: Read, Write, Bash, Glob, Grep
5
5
  color: purple
6
+ effort: high
6
7
  ---
7
8
 
8
9
  <role>
@@ -3,8 +3,7 @@ name: pan-verifier
3
3
  description: Verifies phase goal achievement through goal-backward analysis. Checks codebase delivers what phase promised, not just that tasks completed. Creates verification.md report.
4
4
  tools: Read, Write, Bash, Grep, Glob
5
5
  color: green
6
- thinking: enabled
7
- thinking_budget: 6000
6
+ effort: high
8
7
  ---
9
8
 
10
9
  <role>
Binary file
Binary file
Binary file
Binary file
@@ -1,30 +1,11 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
2
- <defs>
3
- <linearGradient id="panGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" stop-color="#EE1515"/>
5
- <stop offset="45%" stop-color="#FF4444"/>
6
- <stop offset="55%" stop-color="#222224"/>
7
- <stop offset="100%" stop-color="#333336"/>
8
- </linearGradient>
9
- <linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
10
- <stop offset="0%" stop-color="#FFCC00"/>
11
- <stop offset="100%" stop-color="#FFE066"/>
12
- </linearGradient>
13
- <filter id="softShadow">
14
- <feDropShadow dx="0" dy="8" stdDeviation="16" flood-color="#EE1515" flood-opacity="0.3"/>
15
- </filter>
16
- </defs>
17
-
18
- <!-- Pokeball stripe accent -->
19
- <rect x="0" y="960" width="2000" height="80" fill="url(#accentGrad)" opacity="0.15"/>
20
-
21
- <!-- Main wordmark -->
22
- <g transform="translate(1000, 920)" filter="url(#softShadow)">
23
- <text fill="url(#panGrad)" font-family="'Helvetica Neue', 'Arial Black', Helvetica, Arial, sans-serif" font-size="420" font-weight="900" text-anchor="middle" letter-spacing="-10">PAN</text>
24
- </g>
25
-
26
- <!-- Subtitle -->
27
- <g transform="translate(1000, 1100)">
28
- <text fill="#666" font-family="'Helvetica Neue', Helvetica, Arial, sans-serif" font-size="72" font-weight="300" text-anchor="middle" letter-spacing="24">W I Z A R D</text>
29
- </g>
30
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
2
+ <!-- PanWizard mark, transparent (for light surfaces) — node-graph + wordmark -->
3
+ <g transform="translate(740,360) scale(5.2)" stroke-linecap="round">
4
+ <line x1="50" y1="26" x2="26" y2="74" stroke="#5B4BE6" stroke-width="7"/>
5
+ <line x1="50" y1="26" x2="74" y2="74" stroke="#5B4BE6" stroke-width="7"/>
6
+ <circle cx="50" cy="26" r="13" fill="#FF5A3C"/>
7
+ <circle cx="26" cy="74" r="11" fill="#FFCE4A"/>
8
+ <circle cx="74" cy="74" r="11" fill="#1E8E5A"/>
9
+ </g>
10
+ <text x="1000" y="1240" text-anchor="middle" font-family="'Gabarito','Segoe UI',system-ui,sans-serif" font-size="300" font-weight="800" letter-spacing="-8"><tspan fill="#FF5A3C">Pan</tspan><tspan fill="#211E18">Wizard</tspan></text>
11
+ </svg>
@@ -1,43 +1,12 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
2
- <defs>
3
- <linearGradient id="bgGrad" x1="0%" y1="0%" x2="0%" y2="100%">
4
- <stop offset="0%" stop-color="#1a1a2e"/>
5
- <stop offset="100%" stop-color="#16213e"/>
6
- </linearGradient>
7
- <linearGradient id="panGrad" x1="0%" y1="0%" x2="100%" y2="100%">
8
- <stop offset="0%" stop-color="#EE1515"/>
9
- <stop offset="45%" stop-color="#FF4444"/>
10
- <stop offset="100%" stop-color="#FF6666"/>
11
- </linearGradient>
12
- <linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
13
- <stop offset="0%" stop-color="#FFCC00"/>
14
- <stop offset="100%" stop-color="#FFE066"/>
15
- </linearGradient>
16
- <filter id="glow">
17
- <feDropShadow dx="0" dy="0" stdDeviation="20" flood-color="#EE1515" flood-opacity="0.4"/>
18
- </filter>
19
- <filter id="subtleGlow">
20
- <feDropShadow dx="0" dy="0" stdDeviation="8" flood-color="#FFCC00" flood-opacity="0.3"/>
21
- </filter>
22
- </defs>
23
-
24
- <!-- Background -->
25
- <rect width="2000" height="2000" fill="url(#bgGrad)"/>
26
-
27
- <!-- Pokeball divider line -->
28
- <rect x="0" y="960" width="2000" height="4" fill="url(#accentGrad)" opacity="0.4"/>
29
-
30
- <!-- Small pokeball circle accent (center of divider) -->
31
- <circle cx="1000" cy="962" r="36" fill="none" stroke="url(#accentGrad)" stroke-width="4" opacity="0.3"/>
32
- <circle cx="1000" cy="962" r="14" fill="url(#accentGrad)" opacity="0.25"/>
33
-
34
- <!-- Main wordmark -->
35
- <g transform="translate(1000, 920)" filter="url(#glow)">
36
- <text fill="url(#panGrad)" font-family="'Helvetica Neue', 'Arial Black', Helvetica, Arial, sans-serif" font-size="420" font-weight="900" text-anchor="middle" letter-spacing="-10">PAN</text>
37
- </g>
38
-
39
- <!-- Subtitle -->
40
- <g transform="translate(1000, 1100)" filter="url(#subtleGlow)">
41
- <text fill="url(#accentGrad)" font-family="'Helvetica Neue', Helvetica, Arial, sans-serif" font-size="72" font-weight="300" text-anchor="middle" letter-spacing="24">W I Z A R D</text>
42
- </g>
43
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
2
+ <!-- PanWizard mark on ink — node-graph: coral parent → indigo links → butter + green children -->
3
+ <rect width="2000" height="2000" rx="220" fill="#211E18"/>
4
+ <g transform="translate(740,360) scale(5.2)" stroke-linecap="round">
5
+ <line x1="50" y1="26" x2="26" y2="74" stroke="#5B4BE6" stroke-width="7"/>
6
+ <line x1="50" y1="26" x2="74" y2="74" stroke="#5B4BE6" stroke-width="7"/>
7
+ <circle cx="50" cy="26" r="13" fill="#FF5A3C"/>
8
+ <circle cx="26" cy="74" r="11" fill="#FFCE4A"/>
9
+ <circle cx="74" cy="74" r="11" fill="#1E8E5A"/>
10
+ </g>
11
+ <text x="1000" y="1240" text-anchor="middle" font-family="'Gabarito','Segoe UI',system-ui,sans-serif" font-size="300" font-weight="800" letter-spacing="-8"><tspan fill="#FF5A3C">Pan</tspan><tspan fill="#FBF7EE">Wizard</tspan></text>
12
+ </svg>
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200" width="400" height="200">
2
+ <rect width="400" height="200" rx="28" fill="#211E18"></rect>
3
+ <g transform="translate(60,54)">
4
+ <line x1="46" y1="24" x2="24" y2="68" stroke="#5B4BE6" stroke-width="6.5" stroke-linecap="round"></line>
5
+ <line x1="46" y1="24" x2="68" y2="68" stroke="#5B4BE6" stroke-width="6.5" stroke-linecap="round"></line>
6
+ <circle cx="46" cy="24" r="12" fill="#FF5A3C"></circle>
7
+ <circle cx="24" cy="68" r="10" fill="#FFCE4A"></circle>
8
+ <circle cx="68" cy="68" r="10" fill="#1E8E5A"></circle>
9
+ </g>
10
+ <text x="170" y="112" font-family="&#39;Gabarito&#39;,&#39;Segoe UI&#39;,sans-serif" font-size="46" font-weight="800" letter-spacing="-1"><tspan fill="#FF5A3C">Pan</tspan><tspan fill="#FBF7EE">Wizard</tspan></text>
11
+ </svg>