@sienklogic/plan-build-run 2.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/CHANGELOG.md +56 -0
- package/CLAUDE.md +149 -0
- package/LICENSE +21 -0
- package/README.md +247 -0
- package/dashboard/bin/cli.js +25 -0
- package/dashboard/package.json +34 -0
- package/dashboard/public/.gitkeep +0 -0
- package/dashboard/public/css/layout.css +406 -0
- package/dashboard/public/css/status-colors.css +98 -0
- package/dashboard/public/js/htmx-title.js +5 -0
- package/dashboard/public/js/sidebar-toggle.js +20 -0
- package/dashboard/src/app.js +78 -0
- package/dashboard/src/middleware/errorHandler.js +52 -0
- package/dashboard/src/middleware/notFoundHandler.js +9 -0
- package/dashboard/src/repositories/planning.repository.js +128 -0
- package/dashboard/src/routes/events.routes.js +40 -0
- package/dashboard/src/routes/index.routes.js +31 -0
- package/dashboard/src/routes/pages.routes.js +195 -0
- package/dashboard/src/server.js +42 -0
- package/dashboard/src/services/dashboard.service.js +222 -0
- package/dashboard/src/services/phase.service.js +167 -0
- package/dashboard/src/services/project.service.js +57 -0
- package/dashboard/src/services/roadmap.service.js +171 -0
- package/dashboard/src/services/sse.service.js +58 -0
- package/dashboard/src/services/todo.service.js +254 -0
- package/dashboard/src/services/watcher.service.js +48 -0
- package/dashboard/src/views/coming-soon.ejs +11 -0
- package/dashboard/src/views/error.ejs +13 -0
- package/dashboard/src/views/index.ejs +5 -0
- package/dashboard/src/views/layout.ejs +1 -0
- package/dashboard/src/views/partials/dashboard-content.ejs +77 -0
- package/dashboard/src/views/partials/footer.ejs +3 -0
- package/dashboard/src/views/partials/head.ejs +21 -0
- package/dashboard/src/views/partials/header.ejs +12 -0
- package/dashboard/src/views/partials/layout-bottom.ejs +15 -0
- package/dashboard/src/views/partials/layout-top.ejs +8 -0
- package/dashboard/src/views/partials/phase-content.ejs +181 -0
- package/dashboard/src/views/partials/phases-content.ejs +117 -0
- package/dashboard/src/views/partials/roadmap-content.ejs +142 -0
- package/dashboard/src/views/partials/sidebar.ejs +38 -0
- package/dashboard/src/views/partials/todo-create-content.ejs +53 -0
- package/dashboard/src/views/partials/todo-detail-content.ejs +38 -0
- package/dashboard/src/views/partials/todos-content.ejs +53 -0
- package/dashboard/src/views/phase-detail.ejs +5 -0
- package/dashboard/src/views/phases.ejs +5 -0
- package/dashboard/src/views/roadmap.ejs +5 -0
- package/dashboard/src/views/todo-create.ejs +5 -0
- package/dashboard/src/views/todo-detail.ejs +5 -0
- package/dashboard/src/views/todos.ejs +5 -0
- package/package.json +57 -0
- package/plugins/pbr/.claude-plugin/plugin.json +13 -0
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -0
- package/plugins/pbr/agents/codebase-mapper.md +271 -0
- package/plugins/pbr/agents/debugger.md +281 -0
- package/plugins/pbr/agents/executor.md +407 -0
- package/plugins/pbr/agents/general.md +164 -0
- package/plugins/pbr/agents/integration-checker.md +141 -0
- package/plugins/pbr/agents/plan-checker.md +280 -0
- package/plugins/pbr/agents/planner.md +358 -0
- package/plugins/pbr/agents/researcher.md +363 -0
- package/plugins/pbr/agents/synthesizer.md +230 -0
- package/plugins/pbr/agents/verifier.md +454 -0
- package/plugins/pbr/commands/begin.md +5 -0
- package/plugins/pbr/commands/build.md +5 -0
- package/plugins/pbr/commands/config.md +5 -0
- package/plugins/pbr/commands/continue.md +5 -0
- package/plugins/pbr/commands/debug.md +5 -0
- package/plugins/pbr/commands/discuss.md +5 -0
- package/plugins/pbr/commands/explore.md +5 -0
- package/plugins/pbr/commands/health.md +5 -0
- package/plugins/pbr/commands/help.md +5 -0
- package/plugins/pbr/commands/import.md +5 -0
- package/plugins/pbr/commands/milestone.md +5 -0
- package/plugins/pbr/commands/note.md +5 -0
- package/plugins/pbr/commands/pause.md +5 -0
- package/plugins/pbr/commands/plan.md +5 -0
- package/plugins/pbr/commands/quick.md +5 -0
- package/plugins/pbr/commands/resume.md +5 -0
- package/plugins/pbr/commands/review.md +5 -0
- package/plugins/pbr/commands/scan.md +5 -0
- package/plugins/pbr/commands/setup.md +5 -0
- package/plugins/pbr/commands/status.md +5 -0
- package/plugins/pbr/commands/todo.md +5 -0
- package/plugins/pbr/contexts/dev.md +27 -0
- package/plugins/pbr/contexts/research.md +28 -0
- package/plugins/pbr/contexts/review.md +36 -0
- package/plugins/pbr/hooks/hooks.json +183 -0
- package/plugins/pbr/references/agent-anti-patterns.md +24 -0
- package/plugins/pbr/references/agent-interactions.md +134 -0
- package/plugins/pbr/references/agent-teams.md +54 -0
- package/plugins/pbr/references/checkpoints.md +157 -0
- package/plugins/pbr/references/common-bug-patterns.md +13 -0
- package/plugins/pbr/references/continuation-format.md +212 -0
- package/plugins/pbr/references/deviation-rules.md +112 -0
- package/plugins/pbr/references/git-integration.md +226 -0
- package/plugins/pbr/references/integration-patterns.md +117 -0
- package/plugins/pbr/references/model-profiles.md +99 -0
- package/plugins/pbr/references/model-selection.md +31 -0
- package/plugins/pbr/references/pbr-rules.md +193 -0
- package/plugins/pbr/references/plan-authoring.md +181 -0
- package/plugins/pbr/references/plan-format.md +283 -0
- package/plugins/pbr/references/planning-config.md +213 -0
- package/plugins/pbr/references/questioning.md +214 -0
- package/plugins/pbr/references/reading-verification.md +127 -0
- package/plugins/pbr/references/stub-patterns.md +160 -0
- package/plugins/pbr/references/subagent-coordination.md +119 -0
- package/plugins/pbr/references/ui-formatting.md +399 -0
- package/plugins/pbr/references/verification-patterns.md +198 -0
- package/plugins/pbr/references/wave-execution.md +95 -0
- package/plugins/pbr/scripts/auto-continue.js +80 -0
- package/plugins/pbr/scripts/check-dangerous-commands.js +136 -0
- package/plugins/pbr/scripts/check-doc-sprawl.js +102 -0
- package/plugins/pbr/scripts/check-phase-boundary.js +196 -0
- package/plugins/pbr/scripts/check-plan-format.js +270 -0
- package/plugins/pbr/scripts/check-roadmap-sync.js +252 -0
- package/plugins/pbr/scripts/check-skill-workflow.js +262 -0
- package/plugins/pbr/scripts/check-state-sync.js +476 -0
- package/plugins/pbr/scripts/check-subagent-output.js +144 -0
- package/plugins/pbr/scripts/config-schema.json +251 -0
- package/plugins/pbr/scripts/context-budget-check.js +287 -0
- package/plugins/pbr/scripts/event-handler.js +151 -0
- package/plugins/pbr/scripts/event-logger.js +92 -0
- package/plugins/pbr/scripts/hook-logger.js +76 -0
- package/plugins/pbr/scripts/hooks-schema.json +79 -0
- package/plugins/pbr/scripts/log-subagent.js +152 -0
- package/plugins/pbr/scripts/log-tool-failure.js +88 -0
- package/plugins/pbr/scripts/pbr-tools.js +1301 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +66 -0
- package/plugins/pbr/scripts/post-write-quality.js +207 -0
- package/plugins/pbr/scripts/pre-bash-dispatch.js +56 -0
- package/plugins/pbr/scripts/pre-write-dispatch.js +62 -0
- package/plugins/pbr/scripts/progress-tracker.js +228 -0
- package/plugins/pbr/scripts/session-cleanup.js +254 -0
- package/plugins/pbr/scripts/status-line.js +285 -0
- package/plugins/pbr/scripts/suggest-compact.js +119 -0
- package/plugins/pbr/scripts/task-completed.js +45 -0
- package/plugins/pbr/scripts/track-context-budget.js +119 -0
- package/plugins/pbr/scripts/validate-commit.js +200 -0
- package/plugins/pbr/scripts/validate-plugin-structure.js +172 -0
- package/plugins/pbr/skills/begin/SKILL.md +545 -0
- package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -0
- package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -0
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -0
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +63 -0
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -0
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -0
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -0
- package/plugins/pbr/skills/build/SKILL.md +962 -0
- package/plugins/pbr/skills/config/SKILL.md +241 -0
- package/plugins/pbr/skills/continue/SKILL.md +127 -0
- package/plugins/pbr/skills/debug/SKILL.md +489 -0
- package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -0
- package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -0
- package/plugins/pbr/skills/discuss/SKILL.md +338 -0
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -0
- package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -0
- package/plugins/pbr/skills/explore/SKILL.md +362 -0
- package/plugins/pbr/skills/health/SKILL.md +186 -0
- package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -0
- package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -0
- package/plugins/pbr/skills/help/SKILL.md +140 -0
- package/plugins/pbr/skills/import/SKILL.md +490 -0
- package/plugins/pbr/skills/milestone/SKILL.md +673 -0
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -0
- package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -0
- package/plugins/pbr/skills/note/SKILL.md +212 -0
- package/plugins/pbr/skills/pause/SKILL.md +235 -0
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -0
- package/plugins/pbr/skills/plan/SKILL.md +628 -0
- package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -0
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -0
- package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -0
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -0
- package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -0
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -0
- package/plugins/pbr/skills/quick/SKILL.md +335 -0
- package/plugins/pbr/skills/resume/SKILL.md +388 -0
- package/plugins/pbr/skills/review/SKILL.md +652 -0
- package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -0
- package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -0
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -0
- package/plugins/pbr/skills/scan/SKILL.md +269 -0
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -0
- package/plugins/pbr/skills/setup/SKILL.md +227 -0
- package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -0
- package/plugins/pbr/skills/shared/config-loading.md +102 -0
- package/plugins/pbr/skills/shared/context-budget.md +40 -0
- package/plugins/pbr/skills/shared/context-loader-task.md +86 -0
- package/plugins/pbr/skills/shared/digest-select.md +79 -0
- package/plugins/pbr/skills/shared/domain-probes.md +125 -0
- package/plugins/pbr/skills/shared/error-reporting.md +79 -0
- package/plugins/pbr/skills/shared/gate-prompts.md +388 -0
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -0
- package/plugins/pbr/skills/shared/progress-display.md +53 -0
- package/plugins/pbr/skills/shared/revision-loop.md +81 -0
- package/plugins/pbr/skills/shared/state-loading.md +62 -0
- package/plugins/pbr/skills/shared/state-update.md +161 -0
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -0
- package/plugins/pbr/skills/status/SKILL.md +353 -0
- package/plugins/pbr/skills/todo/SKILL.md +181 -0
- package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -0
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -0
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -0
- package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -0
- package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -0
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -0
- package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/pbr/templates/continue-here.md.tmpl +73 -0
- package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
- package/plugins/pbr/templates/research/STACK.md.tmpl +71 -0
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -0
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -0
- package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Review Mode
|
|
2
|
+
|
|
3
|
+
You are in code review mode. Read thoroughly, assess critically, and prioritize by impact.
|
|
4
|
+
|
|
5
|
+
## Behavioral Profile
|
|
6
|
+
|
|
7
|
+
- **Primary tools**: Read, Glob, Grep
|
|
8
|
+
- **Secondary tools**: Bash (for running tests to verify claims)
|
|
9
|
+
- **Risk tolerance**: Very low — identify problems, do NOT fix them unless asked
|
|
10
|
+
- **Verbosity**: Medium — concise issue descriptions with clear evidence
|
|
11
|
+
- **Decision style**: Report findings with severity levels. Let the developer decide what to fix.
|
|
12
|
+
|
|
13
|
+
## Guidelines
|
|
14
|
+
|
|
15
|
+
- Read the full diff or file before commenting. Don't flag issues based on partial reads.
|
|
16
|
+
- Prioritize by severity: CRITICAL > HIGH > MEDIUM > LOW. Only report CRITICAL and HIGH by default.
|
|
17
|
+
- Every issue must include: what's wrong, where it is (file:line), why it matters, and a suggested fix.
|
|
18
|
+
- Check for security vulnerabilities (injection, auth bypass, data exposure) before style issues.
|
|
19
|
+
- Verify claims by tracing execution paths — don't flag hypothetical issues without evidence.
|
|
20
|
+
- Check that tests exist and cover the changes. Note untested paths.
|
|
21
|
+
- Assess whether the change achieves its stated goal, not just whether the code is clean.
|
|
22
|
+
|
|
23
|
+
## Severity Levels
|
|
24
|
+
|
|
25
|
+
- **CRITICAL**: Security vulnerability, data loss risk, or crash in production path
|
|
26
|
+
- **HIGH**: Logic error, missing error handling in critical path, or regression
|
|
27
|
+
- **MEDIUM**: Code quality issue that increases maintenance burden
|
|
28
|
+
- **LOW**: Style preference, minor optimization opportunity, or nitpick
|
|
29
|
+
|
|
30
|
+
## Anti-Patterns
|
|
31
|
+
|
|
32
|
+
- Do NOT fix code during review — report issues for the developer to address
|
|
33
|
+
- Do NOT flag style preferences as bugs
|
|
34
|
+
- Do NOT report every possible issue — focus on what actually matters
|
|
35
|
+
- Do NOT assume bugs without tracing the execution path
|
|
36
|
+
- Do NOT write lengthy explanations for obvious issues
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../scripts/hooks-schema.json",
|
|
3
|
+
"description": "Plan-Build-Run workflow hooks for state tracking, validation, and auto-continuation",
|
|
4
|
+
"hooks": {
|
|
5
|
+
"SessionStart": [
|
|
6
|
+
{
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/progress-tracker.js",
|
|
11
|
+
"statusMessage": "Loading project state..."
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"PostToolUse": [
|
|
17
|
+
{
|
|
18
|
+
"matcher": "Write|Edit",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/post-write-dispatch.js",
|
|
23
|
+
"statusMessage": "Validating write output..."
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"matcher": "Write|Edit",
|
|
29
|
+
"hooks": [
|
|
30
|
+
{
|
|
31
|
+
"type": "command",
|
|
32
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/post-write-quality.js",
|
|
33
|
+
"statusMessage": "Running quality checks..."
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"matcher": "Task",
|
|
39
|
+
"hooks": [
|
|
40
|
+
{
|
|
41
|
+
"type": "command",
|
|
42
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/check-subagent-output.js",
|
|
43
|
+
"statusMessage": "Validating agent output..."
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"matcher": "Write|Edit",
|
|
49
|
+
"hooks": [
|
|
50
|
+
{
|
|
51
|
+
"type": "command",
|
|
52
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/suggest-compact.js",
|
|
53
|
+
"statusMessage": "Checking context budget..."
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"matcher": "Read",
|
|
59
|
+
"hooks": [
|
|
60
|
+
{
|
|
61
|
+
"type": "command",
|
|
62
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/track-context-budget.js",
|
|
63
|
+
"statusMessage": "Tracking context budget..."
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"PostToolUseFailure": [
|
|
69
|
+
{
|
|
70
|
+
"hooks": [
|
|
71
|
+
{
|
|
72
|
+
"type": "command",
|
|
73
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/log-tool-failure.js",
|
|
74
|
+
"statusMessage": "Logging tool failure..."
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"PreToolUse": [
|
|
80
|
+
{
|
|
81
|
+
"matcher": "Bash",
|
|
82
|
+
"hooks": [
|
|
83
|
+
{
|
|
84
|
+
"type": "command",
|
|
85
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/pre-bash-dispatch.js",
|
|
86
|
+
"statusMessage": "Validating Bash command..."
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"matcher": "Write|Edit",
|
|
92
|
+
"hooks": [
|
|
93
|
+
{
|
|
94
|
+
"type": "command",
|
|
95
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/pre-write-dispatch.js",
|
|
96
|
+
"statusMessage": "Checking write rules..."
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"PreCompact": [
|
|
102
|
+
{
|
|
103
|
+
"hooks": [
|
|
104
|
+
{
|
|
105
|
+
"type": "command",
|
|
106
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/context-budget-check.js",
|
|
107
|
+
"statusMessage": "Preserving state before compaction..."
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"Stop": [
|
|
113
|
+
{
|
|
114
|
+
"hooks": [
|
|
115
|
+
{
|
|
116
|
+
"type": "command",
|
|
117
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/auto-continue.js",
|
|
118
|
+
"statusMessage": "Checking for next command..."
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"SubagentStart": [
|
|
124
|
+
{
|
|
125
|
+
"hooks": [
|
|
126
|
+
{
|
|
127
|
+
"type": "command",
|
|
128
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/log-subagent.js start",
|
|
129
|
+
"statusMessage": "Logging agent spawn..."
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"SubagentStop": [
|
|
135
|
+
{
|
|
136
|
+
"hooks": [
|
|
137
|
+
{
|
|
138
|
+
"type": "command",
|
|
139
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/log-subagent.js stop",
|
|
140
|
+
"statusMessage": "Logging agent completion...",
|
|
141
|
+
"async": true,
|
|
142
|
+
"timeout": 30
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"hooks": [
|
|
148
|
+
{
|
|
149
|
+
"type": "command",
|
|
150
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/event-handler.js",
|
|
151
|
+
"statusMessage": "Checking for auto-verification...",
|
|
152
|
+
"async": true,
|
|
153
|
+
"timeout": 10
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"TaskCompleted": [
|
|
159
|
+
{
|
|
160
|
+
"hooks": [
|
|
161
|
+
{
|
|
162
|
+
"type": "command",
|
|
163
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/task-completed.js",
|
|
164
|
+
"statusMessage": "Processing task completion..."
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"SessionEnd": [
|
|
170
|
+
{
|
|
171
|
+
"hooks": [
|
|
172
|
+
{
|
|
173
|
+
"type": "command",
|
|
174
|
+
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/session-cleanup.js",
|
|
175
|
+
"statusMessage": "Cleaning up session...",
|
|
176
|
+
"async": true,
|
|
177
|
+
"timeout": 30
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Universal Agent Anti-Patterns
|
|
2
|
+
|
|
3
|
+
These anti-patterns apply to ALL Plan-Build-Run agents. Each agent also has role-specific anti-patterns defined in its own agent file.
|
|
4
|
+
|
|
5
|
+
## Evidence and Verification
|
|
6
|
+
|
|
7
|
+
1. **DO NOT** guess, assume, or rely on cached knowledge when codebase evidence is available. Read the actual files.
|
|
8
|
+
2. **DO NOT** trust claims in SUMMARY.md, PLAN.md, or other agent outputs without verifying against the real codebase.
|
|
9
|
+
3. **DO NOT** use subjective or vague language ("seems okay", "looks fine", "probably works"). Be specific and evidence-based.
|
|
10
|
+
4. **DO NOT** present training knowledge as verified fact. Flag unverified claims explicitly.
|
|
11
|
+
|
|
12
|
+
## Scope and Boundaries
|
|
13
|
+
|
|
14
|
+
5. **DO NOT** exceed your role. If a task belongs to another agent, stop and recommend the correct agent.
|
|
15
|
+
6. **DO NOT** modify files outside your designated scope. Read-only agents must not attempt fixes. Executors must not modify plans.
|
|
16
|
+
7. **DO NOT** add features, ideas, or scope not requested. Log scope creep to deferred items instead.
|
|
17
|
+
8. **DO NOT** skip steps in your verification or execution protocol, even for "obvious" cases.
|
|
18
|
+
|
|
19
|
+
## Context and State
|
|
20
|
+
|
|
21
|
+
9. **DO NOT** contradict locked decisions in CONTEXT.md. These are non-negotiable.
|
|
22
|
+
10. **DO NOT** implement deferred ideas from CONTEXT.md. They do not exist for your purposes.
|
|
23
|
+
11. **DO NOT** consume more than 50% of your context window before producing output. Write incrementally.
|
|
24
|
+
12. **DO NOT** read agent definition files from `agents/*.md`. Agent definitions are auto-loaded by Claude Code via `subagent_type`. Reading them wastes context.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Agent Interaction Map
|
|
2
|
+
|
|
3
|
+
This document shows how Plan-Build-Run agents communicate through files on disk. Agents never message each other directly -- they read and write shared files in `.planning/`.
|
|
4
|
+
|
|
5
|
+
## Interaction Graph
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
User / Orchestrator
|
|
9
|
+
| ^
|
|
10
|
+
v |
|
|
11
|
+
+--------------+ |
|
|
12
|
+
| researcher |---+---> planner
|
|
13
|
+
+--------------+ | ^
|
|
14
|
+
| v |
|
|
15
|
+
+--------------+ +--------------+
|
|
16
|
+
| synthesizer | | plan-checker |
|
|
17
|
+
+--------------+ +--------------+
|
|
18
|
+
|
|
|
19
|
+
v
|
|
20
|
+
+-----------+
|
|
21
|
+
| executor |
|
|
22
|
+
+-----------+
|
|
23
|
+
|
|
|
24
|
+
v
|
|
25
|
+
+-----------+
|
|
26
|
+
| verifier |----> planner (gap closure)
|
|
27
|
+
+-----------+
|
|
28
|
+
|
|
|
29
|
+
v
|
|
30
|
+
+--------------------+
|
|
31
|
+
| integration-checker|
|
|
32
|
+
+--------------------+
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Per-Agent Interaction Details
|
|
36
|
+
|
|
37
|
+
### researcher
|
|
38
|
+
|
|
39
|
+
| Direction | Agent/Role | What |
|
|
40
|
+
|-----------|-----------|------|
|
|
41
|
+
| Receives from | User/Orchestrator | Research topics, CONTEXT.md constraints, phase goals |
|
|
42
|
+
| Produces for | planner | Research documents with technology details and recommendations |
|
|
43
|
+
| Produces for | synthesizer | Research documents to be combined |
|
|
44
|
+
| Produces for | User | Direct reading for decision-making |
|
|
45
|
+
|
|
46
|
+
### synthesizer
|
|
47
|
+
|
|
48
|
+
| Direction | Agent/Role | What |
|
|
49
|
+
|-----------|-----------|------|
|
|
50
|
+
| Receives from | researcher | Research documents to synthesize |
|
|
51
|
+
| Receives from | Orchestrator | Paths to research documents, synthesis request |
|
|
52
|
+
| Produces for | planner | SUMMARY.md as consolidated research input for planning |
|
|
53
|
+
| Produces for | User | High-level project/phase research overview |
|
|
54
|
+
|
|
55
|
+
### planner
|
|
56
|
+
|
|
57
|
+
| Direction | Agent/Role | What |
|
|
58
|
+
|-----------|-----------|------|
|
|
59
|
+
| Receives from | researcher | Research documents with technology details and recommendations |
|
|
60
|
+
| Receives from | plan-checker | Issue reports requiring plan revision |
|
|
61
|
+
| Receives from | verifier | VERIFICATION.md reports requiring gap closure plans |
|
|
62
|
+
| Receives from | User/Orchestrator | Phase goals, CONTEXT.md, planning requests |
|
|
63
|
+
| Produces for | plan-checker | Plan files for quality verification |
|
|
64
|
+
| Produces for | executor | Plan files for execution |
|
|
65
|
+
| Produces for | verifier | Must-have definitions for verification (embedded in plan frontmatter) |
|
|
66
|
+
|
|
67
|
+
### plan-checker
|
|
68
|
+
|
|
69
|
+
| Direction | Agent/Role | What |
|
|
70
|
+
|-----------|-----------|------|
|
|
71
|
+
| Receives from | Orchestrator/User | Plan files to check, phase context |
|
|
72
|
+
| Receives from | planner | Newly created or revised plan files |
|
|
73
|
+
| Produces for | planner | Issue reports for revision |
|
|
74
|
+
| Produces for | Orchestrator/User | Pass/fail decision on plan quality |
|
|
75
|
+
|
|
76
|
+
### executor
|
|
77
|
+
|
|
78
|
+
| Direction | Agent/Role | What |
|
|
79
|
+
|-----------|-----------|------|
|
|
80
|
+
| Receives from | Orchestrator | Plan files to execute, continuation instructions |
|
|
81
|
+
| Receives from | planner | The plans themselves (indirectly, via files) |
|
|
82
|
+
| Produces for | verifier | SUMMARY.md for verification, committed code for inspection |
|
|
83
|
+
| Produces for | Orchestrator | Checkpoint responses, completion status |
|
|
84
|
+
| Produces for | planner | Deferred ideas (in SUMMARY.md) for future planning |
|
|
85
|
+
|
|
86
|
+
### verifier
|
|
87
|
+
|
|
88
|
+
| Direction | Agent/Role | What |
|
|
89
|
+
|-----------|-----------|------|
|
|
90
|
+
| Receives from | Orchestrator | Phase to verify, timing trigger |
|
|
91
|
+
| Receives from | executor | Completed work (via codebase and SUMMARY.md) |
|
|
92
|
+
| Receives from | Previous VERIFICATION.md | Gaps to re-check (in re-verification mode) |
|
|
93
|
+
| Produces for | planner | Gap list for gap-closure planning (via VERIFICATION.md) |
|
|
94
|
+
| Produces for | Orchestrator | Phase status (passed/gaps_found/human_needed) |
|
|
95
|
+
| Produces for | User | Human verification items with specific test instructions |
|
|
96
|
+
|
|
97
|
+
### integration-checker
|
|
98
|
+
|
|
99
|
+
| Direction | Agent/Role | What |
|
|
100
|
+
|-----------|-----------|------|
|
|
101
|
+
| Receives from | Orchestrator | Phases to check, trigger event (milestone/review) |
|
|
102
|
+
| Receives from | verifier | Phase-level verification reports (for context on per-phase status) |
|
|
103
|
+
| Produces for | planner | Integration gap list for cross-phase fix plans |
|
|
104
|
+
| Produces for | Orchestrator | Integration status for milestone decisions |
|
|
105
|
+
| Produces for | User | Integration health overview and security issues |
|
|
106
|
+
|
|
107
|
+
### debugger
|
|
108
|
+
|
|
109
|
+
| Direction | Agent/Role | What |
|
|
110
|
+
|-----------|-----------|------|
|
|
111
|
+
| Receives from | Orchestrator/User | Bug reports, symptoms, reproduction steps |
|
|
112
|
+
| Receives from | executor | Errors encountered during execution (via checkpoint responses) |
|
|
113
|
+
| Receives from | verifier | Issues discovered during verification |
|
|
114
|
+
| Produces for | Orchestrator/User | Root cause analysis, fix commits, checkpoint requests |
|
|
115
|
+
| Produces for | planner | Findings requiring architectural changes |
|
|
116
|
+
| Produces for | executor | Simple fix instructions for executor to apply |
|
|
117
|
+
|
|
118
|
+
### codebase-mapper
|
|
119
|
+
|
|
120
|
+
| Direction | Agent/Role | What |
|
|
121
|
+
|-----------|-----------|------|
|
|
122
|
+
| Receives from | Orchestrator/User | Focus area to analyze, project path |
|
|
123
|
+
| Receives from | researcher | May be invoked alongside researcher for new projects |
|
|
124
|
+
| Produces for | planner | STACK.md, ARCHITECTURE.md, STRUCTURE.md for informed planning |
|
|
125
|
+
| Produces for | executor | CONVENTIONS.md for code style, TESTING.md for test patterns |
|
|
126
|
+
| Produces for | verifier | All documents as reference for what "correct" looks like |
|
|
127
|
+
| Produces for | User | Direct reading for project understanding |
|
|
128
|
+
|
|
129
|
+
### general
|
|
130
|
+
|
|
131
|
+
| Direction | Agent/Role | What |
|
|
132
|
+
|-----------|-----------|------|
|
|
133
|
+
| Receives from | Orchestrator/User | Ad-hoc task instructions |
|
|
134
|
+
| Produces for | Orchestrator/User | Task output (files, formatting, config changes) |
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Agent Teams Reference
|
|
2
|
+
|
|
3
|
+
Agent Teams enable parallel specialist perspectives for critical phases. Teams are off by default.
|
|
4
|
+
|
|
5
|
+
## Activation
|
|
6
|
+
|
|
7
|
+
- **Global**: Set `parallelization.use_teams: true` in `.planning/config.json`
|
|
8
|
+
- **Per-invocation**: Use `--teams` flag on `/pbr:plan`, `/pbr:review`, or `/pbr:build --team`
|
|
9
|
+
- Per-invocation flag takes precedence over global config
|
|
10
|
+
|
|
11
|
+
## Planning Teams
|
|
12
|
+
|
|
13
|
+
When `/pbr:plan <N> --teams` is invoked, three specialist agents run in parallel:
|
|
14
|
+
|
|
15
|
+
| Role | Agent | Focus | Output File |
|
|
16
|
+
|------|-------|-------|-------------|
|
|
17
|
+
| Architect | planner | Structure, dependencies, wave ordering, file boundaries | `.planning/phases/{NN}/team/architect-PLAN.md` |
|
|
18
|
+
| Security Reviewer | planner | Auth, input validation, secrets handling, permission checks | `.planning/phases/{NN}/team/security-PLAN.md` |
|
|
19
|
+
| Test Designer | planner | Test strategy, coverage targets, edge cases, TDD candidates | `.planning/phases/{NN}/team/test-PLAN.md` |
|
|
20
|
+
|
|
21
|
+
All three use the `planner` agent with different prompts. The orchestrator includes the role and focus in the Task() spawn prompt.
|
|
22
|
+
|
|
23
|
+
After all three complete, the synthesizer agent reads all team outputs and produces the final unified PLAN.md files.
|
|
24
|
+
|
|
25
|
+
## Review Teams
|
|
26
|
+
|
|
27
|
+
When `/pbr:review <N>` runs with teams enabled, three review agents run in parallel:
|
|
28
|
+
|
|
29
|
+
| Role | Agent | Focus | Output File |
|
|
30
|
+
|------|-------|-------|-------------|
|
|
31
|
+
| Functional Reviewer | verifier | Must-haves met, code correctness, completeness | `.planning/phases/{NN}/team/functional-VERIFY.md` |
|
|
32
|
+
| Security Auditor | verifier | Vulnerabilities, auth bypass, injection, secrets exposure | `.planning/phases/{NN}/team/security-VERIFY.md` |
|
|
33
|
+
| Performance Analyst | verifier | N+1 queries, memory leaks, bundle size, unnecessary re-renders | `.planning/phases/{NN}/team/performance-VERIFY.md` |
|
|
34
|
+
|
|
35
|
+
All three use the `verifier` agent with different prompts. The synthesizer combines them into a unified VERIFICATION.md.
|
|
36
|
+
|
|
37
|
+
## File-Based Coordination
|
|
38
|
+
|
|
39
|
+
Team members write to separate files in a `team/` subdirectory. This avoids file conflicts:
|
|
40
|
+
```
|
|
41
|
+
.planning/phases/{NN}-{slug}/
|
|
42
|
+
team/
|
|
43
|
+
architect-PLAN.md
|
|
44
|
+
security-PLAN.md
|
|
45
|
+
test-PLAN.md
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The synthesizer reads all files in `team/` and produces the final artifact. The `team/` directory is kept for audit purposes but is not read by subsequent skills.
|
|
49
|
+
|
|
50
|
+
## When to Use Teams
|
|
51
|
+
|
|
52
|
+
- **Recommended**: Security-critical phases, architectural phases, public API design
|
|
53
|
+
- **Not recommended**: Simple refactors, documentation, configuration changes
|
|
54
|
+
- **Cost consideration**: Teams triple the agent spawns. Use only when the additional perspectives justify the cost.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Checkpoints Reference
|
|
2
|
+
|
|
3
|
+
How Plan-Build-Run uses checkpoint tasks to pause execution and involve the human.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What Are Checkpoints?
|
|
8
|
+
|
|
9
|
+
Checkpoints are special task types that cause the executor agent to **stop execution** and return control to the orchestrator (or the human). They exist because some tasks require human judgment, manual action, or verification that cannot be automated.
|
|
10
|
+
|
|
11
|
+
Checkpoints are defined in plan task XML via the `type` attribute. When the executor encounters a checkpoint task, it follows a specific protocol depending on the checkpoint type.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Checkpoint Types
|
|
16
|
+
|
|
17
|
+
Plan-Build-Run supports three checkpoint types:
|
|
18
|
+
|
|
19
|
+
### checkpoint:human-verify
|
|
20
|
+
|
|
21
|
+
**Purpose**: The executor has completed work, but a human needs to visually inspect or manually test the result before proceeding.
|
|
22
|
+
|
|
23
|
+
**Executor behavior**:
|
|
24
|
+
1. Execute the task's `<action>` steps normally
|
|
25
|
+
2. Commit the changes
|
|
26
|
+
3. **STOP execution**
|
|
27
|
+
4. Return a structured `CHECKPOINT: HUMAN-VERIFY` response containing:
|
|
28
|
+
- What was done (summary of action taken)
|
|
29
|
+
- What to verify (from the task's `<done>` condition)
|
|
30
|
+
- How to verify (instructions derived from `<verify>`)
|
|
31
|
+
- Completed tasks table
|
|
32
|
+
- Remaining tasks list
|
|
33
|
+
|
|
34
|
+
**Use when**: The result requires subjective judgment (UI looks correct, behavior feels right, output makes sense) that automated verification cannot cover.
|
|
35
|
+
|
|
36
|
+
**Example scenario**: A template was created and needs visual review in the browser, or an API integration needs manual testing with real credentials.
|
|
37
|
+
|
|
38
|
+
### checkpoint:decision
|
|
39
|
+
|
|
40
|
+
**Purpose**: The plan reaches a point where a human decision is needed before the executor can continue. The task is NOT executed — execution pauses before the task starts.
|
|
41
|
+
|
|
42
|
+
**Executor behavior**:
|
|
43
|
+
1. **STOP before executing the task**
|
|
44
|
+
2. Return a structured `CHECKPOINT: DECISION` response containing:
|
|
45
|
+
- The decision that needs to be made (from `<action>`)
|
|
46
|
+
- Available options
|
|
47
|
+
- Context to help the human decide
|
|
48
|
+
- Completed tasks table
|
|
49
|
+
|
|
50
|
+
**Use when**: The plan has a fork point where different approaches are possible and the right choice depends on human preference, business context, or information the planner could not determine.
|
|
51
|
+
|
|
52
|
+
**Example scenario**: Choosing between two authentication providers, deciding whether to use a specific third-party library or build in-house.
|
|
53
|
+
|
|
54
|
+
### checkpoint:human-action
|
|
55
|
+
|
|
56
|
+
**Purpose**: The task requires something the executor cannot do — a manual step that involves the human interacting with external systems, creating accounts, or performing physical actions.
|
|
57
|
+
|
|
58
|
+
**Executor behavior**:
|
|
59
|
+
1. **STOP before executing the task**
|
|
60
|
+
2. Return a structured `CHECKPOINT: HUMAN-ACTION` response containing:
|
|
61
|
+
- What the human needs to do (from `<action>`)
|
|
62
|
+
- Step-by-step instructions
|
|
63
|
+
- Prompt to tell the executor when done
|
|
64
|
+
- Completed tasks table
|
|
65
|
+
|
|
66
|
+
**Use when**: External setup is required — creating API keys, configuring DNS, setting up OAuth applications, or any action that requires credentials or permissions the agent does not have.
|
|
67
|
+
|
|
68
|
+
**Example scenario**: The human needs to create a Discord application in the Developer Portal and paste the client ID and secret into `.env`.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Checkpoint in Plan Format
|
|
73
|
+
|
|
74
|
+
Checkpoints are declared in the task's `type` attribute in the plan XML:
|
|
75
|
+
|
|
76
|
+
```xml
|
|
77
|
+
<task id="02-01-T3" type="checkpoint:human-verify" tdd="false">
|
|
78
|
+
<name>Verify OAuth login flow in browser</name>
|
|
79
|
+
<files>...</files>
|
|
80
|
+
<action>...</action>
|
|
81
|
+
<verify>Open browser to localhost:3000/auth/login and complete the flow</verify>
|
|
82
|
+
<done>User can log in via Discord OAuth and see their profile</done>
|
|
83
|
+
</task>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Valid checkpoint type values:
|
|
87
|
+
- `checkpoint:human-verify`
|
|
88
|
+
- `checkpoint:decision`
|
|
89
|
+
- `checkpoint:human-action`
|
|
90
|
+
|
|
91
|
+
Non-checkpoint task types use `type="auto"`.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Autonomous vs Non-Autonomous Plans
|
|
96
|
+
|
|
97
|
+
The plan frontmatter field `autonomous: true|false` indicates whether a plan contains checkpoint tasks:
|
|
98
|
+
|
|
99
|
+
| Value | Meaning |
|
|
100
|
+
|-------|---------|
|
|
101
|
+
| `autonomous: true` | No checkpoint tasks. The executor can complete all tasks without human intervention. |
|
|
102
|
+
| `autonomous: false` | Contains at least one checkpoint task. Execution will pause at some point. |
|
|
103
|
+
|
|
104
|
+
The build orchestrator uses this field to determine execution strategy:
|
|
105
|
+
- Autonomous plans can be executed in parallel with other autonomous plans in the same wave
|
|
106
|
+
- Non-autonomous plans may block the wave while waiting for human input
|
|
107
|
+
- The orchestrator tracks checkpoint state in `.checkpoint-manifest.json`
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Continuation Protocol
|
|
112
|
+
|
|
113
|
+
After a checkpoint is resolved (human provides their answer, completes their action, or confirms verification), the orchestrator spawns a **fresh continuation executor** to resume from where the checkpoint paused.
|
|
114
|
+
|
|
115
|
+
The continuation executor receives:
|
|
116
|
+
1. The full plan content
|
|
117
|
+
2. A table of completed tasks with their commit hashes
|
|
118
|
+
3. The checkpoint resolution (what the human decided or confirmed)
|
|
119
|
+
4. The task number to resume from
|
|
120
|
+
5. The same project context as the original executor
|
|
121
|
+
|
|
122
|
+
**Key rules for continuation**:
|
|
123
|
+
- The continuation executor does NOT re-execute completed tasks
|
|
124
|
+
- It reads the partial SUMMARY.md if one exists
|
|
125
|
+
- It verifies prior commits exist via `git log`
|
|
126
|
+
- It resumes from the next uncompleted task after the checkpoint
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Authentication Gate (Implicit Checkpoint)
|
|
131
|
+
|
|
132
|
+
The executor also supports an implicit checkpoint for authentication failures. If the executor encounters an authentication error (missing API key, expired token, invalid credentials) during any task, it immediately stops and returns a `CHECKPOINT: AUTH-GATE` response.
|
|
133
|
+
|
|
134
|
+
This is not declared in the plan — it triggers automatically when an auth error is detected. The response includes:
|
|
135
|
+
- Which task was blocked
|
|
136
|
+
- What credential is needed
|
|
137
|
+
- Where to configure it
|
|
138
|
+
- The actual error message
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Architectural Deviation (Implicit Checkpoint)
|
|
143
|
+
|
|
144
|
+
Similarly, if the executor discovers that the plan's approach cannot work (API changed, framework limitation, dependency conflict), it stops with a `CHECKPOINT: ARCHITECTURAL-DEVIATION` response. This follows Deviation Rule 4 from the executor's deviation handling protocol.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Best Practices for Planners
|
|
149
|
+
|
|
150
|
+
When creating plans that include checkpoints:
|
|
151
|
+
|
|
152
|
+
1. **Minimize checkpoint tasks** — each one pauses execution and requires human attention
|
|
153
|
+
2. **Place checkpoints at natural boundaries** — after a feature is complete, not in the middle of wiring
|
|
154
|
+
3. **Group manual actions** — combine related human actions into a single checkpoint rather than multiple stops
|
|
155
|
+
4. **Provide clear instructions** — the `<action>` and `<verify>` elements should give the human everything they need
|
|
156
|
+
5. **Consider autonomous alternatives** — if a task CAN be verified automatically, prefer `type="auto"` with a robust `<verify>` command
|
|
157
|
+
6. **Set `autonomous: false`** in the plan frontmatter when any task is a checkpoint
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Common Bug Patterns
|
|
2
|
+
|
|
3
|
+
Quick reference for the debugger agent. Check these patterns early — they cover ~80% of bugs.
|
|
4
|
+
|
|
5
|
+
| Category | Patterns to Check |
|
|
6
|
+
|----------|------------------|
|
|
7
|
+
| **Off-by-one** | Loop bounds (`<` vs `<=`), 0-based vs 1-based indexing, string slice boundaries |
|
|
8
|
+
| **Null/undefined** | Missing optional chaining (`?.`), default params, DB query returning null, OOB array access |
|
|
9
|
+
| **Async/timing** | Missing `await`, race conditions, stale closures, handlers registered before element exists |
|
|
10
|
+
| **State management** | Direct mutation vs new object, update not triggering re-render, duplicated sources of truth, stale state in closures |
|
|
11
|
+
| **Import/module** | Circular imports, default vs named export mismatch, wrong file (similar names), resolution path |
|
|
12
|
+
| **Environment** | Missing/wrong env var, dev vs prod differences, case sensitivity (Windows vs Linux paths) |
|
|
13
|
+
| **Data shape** | API response format changed, schema/model mismatch, type mismatch between layers, missing field |
|