aw-ecc 1.4.31 → 1.4.47

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 (259) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex/hooks/aw-post-tool-use.sh +8 -2
  3. package/.codex/hooks/aw-session-start.sh +11 -4
  4. package/.codex/hooks/aw-stop.sh +8 -2
  5. package/.codex/hooks/aw-user-prompt-submit.sh +10 -2
  6. package/.codex/hooks.json +8 -8
  7. package/.cursor/INSTALL.md +7 -5
  8. package/.cursor/hooks/adapter.js +41 -4
  9. package/.cursor/hooks/after-agent-response.js +62 -0
  10. package/.cursor/hooks/before-submit-prompt.js +7 -1
  11. package/.cursor/hooks/post-tool-use-failure.js +21 -0
  12. package/.cursor/hooks/post-tool-use.js +39 -0
  13. package/.cursor/hooks/shared/aw-phase-definitions.js +53 -0
  14. package/.cursor/hooks/shared/aw-phase-runner.js +3 -1
  15. package/.cursor/hooks/subagent-start.js +22 -4
  16. package/.cursor/hooks/subagent-stop.js +18 -1
  17. package/.cursor/hooks.json +23 -2
  18. package/.opencode/package.json +1 -1
  19. package/AGENTS.md +3 -3
  20. package/README.md +5 -5
  21. package/commands/adk.md +52 -0
  22. package/commands/build.md +22 -9
  23. package/commands/deploy.md +12 -0
  24. package/commands/execute.md +9 -0
  25. package/commands/feature.md +333 -0
  26. package/commands/investigate.md +18 -5
  27. package/commands/plan.md +23 -9
  28. package/commands/publish.md +65 -0
  29. package/commands/review.md +12 -0
  30. package/commands/ship.md +12 -0
  31. package/commands/test.md +12 -0
  32. package/commands/verify.md +9 -0
  33. package/hooks/hooks.json +36 -0
  34. package/manifests/install-components.json +8 -0
  35. package/manifests/install-modules.json +83 -0
  36. package/manifests/install-profiles.json +7 -0
  37. package/package.json +1 -1
  38. package/scripts/ci/validate-rules.js +51 -0
  39. package/scripts/cursor-aw-home/hooks.json +23 -2
  40. package/scripts/cursor-aw-hooks/adapter.js +41 -4
  41. package/scripts/cursor-aw-hooks/before-submit-prompt.js +7 -1
  42. package/scripts/hooks/aw-usage-commit-created.js +32 -0
  43. package/scripts/hooks/aw-usage-post-tool-use-failure.js +56 -0
  44. package/scripts/hooks/aw-usage-post-tool-use.js +242 -0
  45. package/scripts/hooks/aw-usage-prompt-submit.js +112 -0
  46. package/scripts/hooks/aw-usage-session-start.js +48 -0
  47. package/scripts/hooks/aw-usage-stop.js +182 -0
  48. package/scripts/hooks/aw-usage-telemetry-send.js +84 -0
  49. package/scripts/hooks/cost-tracker.js +3 -23
  50. package/scripts/hooks/shared/aw-phase-definitions.js +53 -0
  51. package/scripts/hooks/shared/aw-phase-runner.js +3 -1
  52. package/scripts/lib/aw-hook-contract.js +2 -2
  53. package/scripts/lib/aw-pricing.js +306 -0
  54. package/scripts/lib/aw-usage-telemetry.js +472 -0
  55. package/scripts/lib/codex-hook-config.js +8 -8
  56. package/scripts/lib/cursor-hook-config.js +25 -10
  57. package/scripts/lib/install-targets/codex-home.js +7 -0
  58. package/scripts/lib/install-targets/cursor-project.js +3 -0
  59. package/scripts/lib/install-targets/helpers.js +20 -3
  60. package/skills/aw-adk/SKILL.md +317 -0
  61. package/skills/aw-adk/agents/analyzer.md +113 -0
  62. package/skills/aw-adk/agents/comparator.md +113 -0
  63. package/skills/aw-adk/agents/grader.md +115 -0
  64. package/skills/aw-adk/assets/eval_review.html +76 -0
  65. package/skills/aw-adk/eval-viewer/generate_review.py +164 -0
  66. package/skills/aw-adk/eval-viewer/viewer.html +181 -0
  67. package/skills/aw-adk/evals/eval-colocated-placement.md +84 -0
  68. package/skills/aw-adk/evals/eval-create-agent.md +90 -0
  69. package/skills/aw-adk/evals/eval-create-command.md +98 -0
  70. package/skills/aw-adk/evals/eval-create-eval.md +89 -0
  71. package/skills/aw-adk/evals/eval-create-rule.md +99 -0
  72. package/skills/aw-adk/evals/eval-create-skill.md +97 -0
  73. package/skills/aw-adk/evals/eval-delete-agent.md +79 -0
  74. package/skills/aw-adk/evals/eval-delete-command.md +89 -0
  75. package/skills/aw-adk/evals/eval-delete-rule.md +86 -0
  76. package/skills/aw-adk/evals/eval-delete-skill.md +90 -0
  77. package/skills/aw-adk/evals/eval-meta-eval-coverage.md +78 -0
  78. package/skills/aw-adk/evals/eval-meta-eval-determinism.md +81 -0
  79. package/skills/aw-adk/evals/eval-meta-eval-false-pass.md +81 -0
  80. package/skills/aw-adk/evals/eval-score-accuracy.md +95 -0
  81. package/skills/aw-adk/evals/eval-type-redirect.md +68 -0
  82. package/skills/aw-adk/evals/evals.json +96 -0
  83. package/skills/aw-adk/references/artifact-wiring.md +162 -0
  84. package/skills/aw-adk/references/cross-ide-mapping.md +71 -0
  85. package/skills/aw-adk/references/eval-placement-guide.md +183 -0
  86. package/skills/aw-adk/references/external-resources.md +75 -0
  87. package/skills/aw-adk/references/getting-started.md +66 -0
  88. package/skills/aw-adk/references/registry-structure.md +152 -0
  89. package/skills/aw-adk/references/rubric-agent.md +36 -0
  90. package/skills/aw-adk/references/rubric-command.md +36 -0
  91. package/skills/aw-adk/references/rubric-eval.md +36 -0
  92. package/skills/aw-adk/references/rubric-meta-eval.md +132 -0
  93. package/skills/aw-adk/references/rubric-rule.md +36 -0
  94. package/skills/aw-adk/references/rubric-skill.md +36 -0
  95. package/skills/aw-adk/references/schemas.md +222 -0
  96. package/skills/aw-adk/references/template-agent.md +251 -0
  97. package/skills/aw-adk/references/template-command.md +279 -0
  98. package/skills/aw-adk/references/template-eval.md +176 -0
  99. package/skills/aw-adk/references/template-rule.md +119 -0
  100. package/skills/aw-adk/references/template-skill.md +123 -0
  101. package/skills/aw-adk/references/type-classifier.md +98 -0
  102. package/skills/aw-adk/references/writing-good-agents.md +227 -0
  103. package/skills/aw-adk/references/writing-good-commands.md +258 -0
  104. package/skills/aw-adk/references/writing-good-evals.md +271 -0
  105. package/skills/aw-adk/references/writing-good-rules.md +214 -0
  106. package/skills/aw-adk/references/writing-good-skills.md +159 -0
  107. package/skills/aw-adk/scripts/aggregate-benchmark.py +190 -0
  108. package/skills/aw-adk/scripts/lint-artifact.sh +211 -0
  109. package/skills/aw-adk/scripts/score-artifact.sh +179 -0
  110. package/skills/aw-adk/scripts/trigger-eval.py +192 -0
  111. package/skills/aw-build/SKILL.md +19 -2
  112. package/skills/aw-deploy/SKILL.md +65 -3
  113. package/skills/aw-design/SKILL.md +156 -0
  114. package/skills/aw-design/references/highrise-tokens.md +394 -0
  115. package/skills/aw-design/references/micro-interactions.md +76 -0
  116. package/skills/aw-design/references/prompt-template.md +160 -0
  117. package/skills/aw-design/references/quality-checklist.md +70 -0
  118. package/skills/aw-design/references/self-review.md +497 -0
  119. package/skills/aw-design/references/stitch-workflow.md +127 -0
  120. package/skills/aw-feature/SKILL.md +293 -0
  121. package/skills/aw-investigate/SKILL.md +17 -0
  122. package/skills/aw-plan/SKILL.md +34 -3
  123. package/skills/aw-publish/SKILL.md +300 -0
  124. package/skills/aw-publish/evals/eval-confirmation-gate.md +60 -0
  125. package/skills/aw-publish/evals/eval-intent-detection.md +111 -0
  126. package/skills/aw-publish/evals/eval-push-modes.md +67 -0
  127. package/skills/aw-publish/evals/eval-rules-push.md +60 -0
  128. package/skills/aw-publish/evals/evals.json +29 -0
  129. package/skills/aw-publish/references/push-modes.md +38 -0
  130. package/skills/aw-review/SKILL.md +88 -9
  131. package/skills/aw-rules-review/SKILL.md +124 -0
  132. package/skills/aw-rules-review/agents/openai.yaml +3 -0
  133. package/skills/aw-rules-review/scripts/generate-review-template.mjs +323 -0
  134. package/skills/aw-ship/SKILL.md +16 -0
  135. package/skills/aw-spec/SKILL.md +15 -0
  136. package/skills/aw-tasks/SKILL.md +15 -0
  137. package/skills/aw-test/SKILL.md +16 -0
  138. package/skills/aw-yolo/SKILL.md +4 -0
  139. package/skills/diagnose/SKILL.md +121 -0
  140. package/skills/diagnose/scripts/hitl-loop.template.sh +41 -0
  141. package/skills/finish-only-when-green/SKILL.md +265 -0
  142. package/skills/grill-me/SKILL.md +24 -0
  143. package/skills/grill-with-docs/SKILL.md +92 -0
  144. package/skills/grill-with-docs/adr-format.md +47 -0
  145. package/skills/grill-with-docs/context-format.md +67 -0
  146. package/skills/improve-codebase-architecture/SKILL.md +75 -0
  147. package/skills/improve-codebase-architecture/deepening.md +37 -0
  148. package/skills/improve-codebase-architecture/interface-design.md +44 -0
  149. package/skills/improve-codebase-architecture/language.md +53 -0
  150. package/skills/local-ghl-setup-from-screenshot/SKILL.md +538 -0
  151. package/skills/tdd/SKILL.md +115 -0
  152. package/skills/tdd/deep-modules.md +33 -0
  153. package/skills/tdd/interface-design.md +31 -0
  154. package/skills/tdd/mocking.md +59 -0
  155. package/skills/tdd/refactoring.md +10 -0
  156. package/skills/tdd/tests.md +61 -0
  157. package/skills/to-issues/SKILL.md +62 -0
  158. package/skills/to-prd/SKILL.md +75 -0
  159. package/skills/using-aw-skills/SKILL.md +170 -237
  160. package/skills/using-aw-skills/hooks/session-start.sh +11 -41
  161. package/skills/zoom-out/SKILL.md +24 -0
  162. package/.cursor/rules/common-agents.md +0 -53
  163. package/.cursor/rules/common-aw-routing.md +0 -43
  164. package/.cursor/rules/common-coding-style.md +0 -52
  165. package/.cursor/rules/common-development-workflow.md +0 -33
  166. package/.cursor/rules/common-git-workflow.md +0 -28
  167. package/.cursor/rules/common-hooks.md +0 -34
  168. package/.cursor/rules/common-patterns.md +0 -35
  169. package/.cursor/rules/common-performance.md +0 -59
  170. package/.cursor/rules/common-security.md +0 -33
  171. package/.cursor/rules/common-testing.md +0 -33
  172. package/.cursor/skills/api-and-interface-design/SKILL.md +0 -75
  173. package/.cursor/skills/article-writing/SKILL.md +0 -85
  174. package/.cursor/skills/aw-brainstorm/SKILL.md +0 -115
  175. package/.cursor/skills/aw-build/SKILL.md +0 -152
  176. package/.cursor/skills/aw-build/evals/build-stage-cases.json +0 -28
  177. package/.cursor/skills/aw-debug/SKILL.md +0 -49
  178. package/.cursor/skills/aw-deploy/SKILL.md +0 -101
  179. package/.cursor/skills/aw-deploy/evals/deploy-stage-cases.json +0 -32
  180. package/.cursor/skills/aw-execute/SKILL.md +0 -47
  181. package/.cursor/skills/aw-execute/references/mode-code.md +0 -47
  182. package/.cursor/skills/aw-execute/references/mode-docs.md +0 -28
  183. package/.cursor/skills/aw-execute/references/mode-infra.md +0 -44
  184. package/.cursor/skills/aw-execute/references/mode-migration.md +0 -58
  185. package/.cursor/skills/aw-execute/references/worker-implementer.md +0 -26
  186. package/.cursor/skills/aw-execute/references/worker-parallel-worker.md +0 -23
  187. package/.cursor/skills/aw-execute/references/worker-quality-reviewer.md +0 -23
  188. package/.cursor/skills/aw-execute/references/worker-spec-reviewer.md +0 -23
  189. package/.cursor/skills/aw-execute/scripts/build-worker-bundle.js +0 -229
  190. package/.cursor/skills/aw-finish/SKILL.md +0 -111
  191. package/.cursor/skills/aw-investigate/SKILL.md +0 -109
  192. package/.cursor/skills/aw-plan/SKILL.md +0 -368
  193. package/.cursor/skills/aw-prepare/SKILL.md +0 -118
  194. package/.cursor/skills/aw-review/SKILL.md +0 -118
  195. package/.cursor/skills/aw-ship/SKILL.md +0 -115
  196. package/.cursor/skills/aw-spec/SKILL.md +0 -104
  197. package/.cursor/skills/aw-tasks/SKILL.md +0 -138
  198. package/.cursor/skills/aw-test/SKILL.md +0 -118
  199. package/.cursor/skills/aw-verify/SKILL.md +0 -51
  200. package/.cursor/skills/aw-yolo/SKILL.md +0 -111
  201. package/.cursor/skills/browser-testing-with-devtools/SKILL.md +0 -81
  202. package/.cursor/skills/bun-runtime/SKILL.md +0 -84
  203. package/.cursor/skills/ci-cd-and-automation/SKILL.md +0 -71
  204. package/.cursor/skills/code-simplification/SKILL.md +0 -74
  205. package/.cursor/skills/content-engine/SKILL.md +0 -88
  206. package/.cursor/skills/context-engineering/SKILL.md +0 -74
  207. package/.cursor/skills/deprecation-and-migration/SKILL.md +0 -75
  208. package/.cursor/skills/documentation-and-adrs/SKILL.md +0 -75
  209. package/.cursor/skills/documentation-lookup/SKILL.md +0 -90
  210. package/.cursor/skills/frontend-slides/SKILL.md +0 -184
  211. package/.cursor/skills/frontend-slides/STYLE_PRESETS.md +0 -330
  212. package/.cursor/skills/frontend-ui-engineering/SKILL.md +0 -68
  213. package/.cursor/skills/git-workflow-and-versioning/SKILL.md +0 -75
  214. package/.cursor/skills/idea-refine/SKILL.md +0 -84
  215. package/.cursor/skills/incremental-implementation/SKILL.md +0 -75
  216. package/.cursor/skills/investor-materials/SKILL.md +0 -96
  217. package/.cursor/skills/investor-outreach/SKILL.md +0 -76
  218. package/.cursor/skills/market-research/SKILL.md +0 -75
  219. package/.cursor/skills/mcp-server-patterns/SKILL.md +0 -67
  220. package/.cursor/skills/nextjs-turbopack/SKILL.md +0 -44
  221. package/.cursor/skills/performance-optimization/SKILL.md +0 -77
  222. package/.cursor/skills/security-and-hardening/SKILL.md +0 -70
  223. package/.cursor/skills/using-aw-skills/SKILL.md +0 -290
  224. package/.cursor/skills/using-aw-skills/evals/skill-trigger-cases.tsv +0 -25
  225. package/.cursor/skills/using-aw-skills/evals/test-skill-triggers.sh +0 -171
  226. package/.cursor/skills/using-aw-skills/hooks/hooks.json +0 -9
  227. package/.cursor/skills/using-aw-skills/hooks/session-start.sh +0 -67
  228. package/.cursor/skills/using-platform-skills/SKILL.md +0 -163
  229. package/.cursor/skills/using-platform-skills/evals/platform-selection-cases.json +0 -52
  230. /package/.cursor/rules/{golang-coding-style.md → golang-coding-style.mdc} +0 -0
  231. /package/.cursor/rules/{golang-hooks.md → golang-hooks.mdc} +0 -0
  232. /package/.cursor/rules/{golang-patterns.md → golang-patterns.mdc} +0 -0
  233. /package/.cursor/rules/{golang-security.md → golang-security.mdc} +0 -0
  234. /package/.cursor/rules/{golang-testing.md → golang-testing.mdc} +0 -0
  235. /package/.cursor/rules/{kotlin-coding-style.md → kotlin-coding-style.mdc} +0 -0
  236. /package/.cursor/rules/{kotlin-hooks.md → kotlin-hooks.mdc} +0 -0
  237. /package/.cursor/rules/{kotlin-patterns.md → kotlin-patterns.mdc} +0 -0
  238. /package/.cursor/rules/{kotlin-security.md → kotlin-security.mdc} +0 -0
  239. /package/.cursor/rules/{kotlin-testing.md → kotlin-testing.mdc} +0 -0
  240. /package/.cursor/rules/{php-coding-style.md → php-coding-style.mdc} +0 -0
  241. /package/.cursor/rules/{php-hooks.md → php-hooks.mdc} +0 -0
  242. /package/.cursor/rules/{php-patterns.md → php-patterns.mdc} +0 -0
  243. /package/.cursor/rules/{php-security.md → php-security.mdc} +0 -0
  244. /package/.cursor/rules/{php-testing.md → php-testing.mdc} +0 -0
  245. /package/.cursor/rules/{python-coding-style.md → python-coding-style.mdc} +0 -0
  246. /package/.cursor/rules/{python-hooks.md → python-hooks.mdc} +0 -0
  247. /package/.cursor/rules/{python-patterns.md → python-patterns.mdc} +0 -0
  248. /package/.cursor/rules/{python-security.md → python-security.mdc} +0 -0
  249. /package/.cursor/rules/{python-testing.md → python-testing.mdc} +0 -0
  250. /package/.cursor/rules/{swift-coding-style.md → swift-coding-style.mdc} +0 -0
  251. /package/.cursor/rules/{swift-hooks.md → swift-hooks.mdc} +0 -0
  252. /package/.cursor/rules/{swift-patterns.md → swift-patterns.mdc} +0 -0
  253. /package/.cursor/rules/{swift-security.md → swift-security.mdc} +0 -0
  254. /package/.cursor/rules/{swift-testing.md → swift-testing.mdc} +0 -0
  255. /package/.cursor/rules/{typescript-coding-style.md → typescript-coding-style.mdc} +0 -0
  256. /package/.cursor/rules/{typescript-hooks.md → typescript-hooks.mdc} +0 -0
  257. /package/.cursor/rules/{typescript-patterns.md → typescript-patterns.mdc} +0 -0
  258. /package/.cursor/rules/{typescript-security.md → typescript-security.mdc} +0 -0
  259. /package/.cursor/rules/{typescript-testing.md → typescript-testing.mdc} +0 -0
package/README.md CHANGED
@@ -9,18 +9,18 @@
9
9
  The current catalog exposed by this repo is:
10
10
 
11
11
  - 28 agents
12
- - 158 skills
13
- - 69 commands
12
+ - 173 skills
13
+ - 72 commands
14
14
 
15
15
  ## Quick Start Snapshot
16
16
 
17
- Installing `aw-ecc` gives your workspace access to 28 agents, 158 skills, and 69 commands through the repo-local AW command surface plus GHL-specific skill and policy layers.
17
+ Installing `aw-ecc` gives your workspace access to 28 agents, 173 skills, and 72 commands through the repo-local AW command surface plus GHL-specific skill and policy layers.
18
18
 
19
19
  | Surface | Availability |
20
20
  | --- | --- |
21
21
  | Agents | ✅ 28 agents |
22
- | Skills | ✅ 158 skills |
23
- | Commands | ✅ 69 commands |
22
+ | Skills | ✅ 173 skills |
23
+ | Commands | ✅ 72 commands |
24
24
 
25
25
  These catalog counts are validated in CI so the published docs stay aligned with the repo contents.
26
26
 
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: aw:adk
3
+ description: "Agent Development Kit — create, improve, fix, delete, score, comply, audit, or health-check any CASRE artifact (Command, Agent, Skill, Rule, Eval). Use /aw:adk to author registry content."
4
+ argument-hint: "[type] [mode] [target] — e.g., 'agent create', 'skill score my-skill', 'rule audit all', 'agent delete my-agent'"
5
+ status: active
6
+ stage: build
7
+ internal_skill: aw-adk
8
+ ---
9
+
10
+ # ADK — Agent Development Kit
11
+
12
+ Use `/aw:adk` to author, score, fix, delete, or audit any artifact in the AW registry.
13
+
14
+ ## Usage
15
+
16
+ ```
17
+ /aw:adk → interactive: ask type, then mode
18
+ /aw:adk agent create → create a new agent (guided)
19
+ /aw:adk skill improve my-skill → enrich an existing skill
20
+ /aw:adk agent fix my-agent → resolve lint failures
21
+ /aw:adk skill score my-skill → score against rubric
22
+ /aw:adk rule audit all → audit all rules
23
+ /aw:adk eval create my-agent → create evals for existing agent
24
+ /aw:adk agent delete my-agent → remove agent + evals + clean references
25
+ ```
26
+
27
+ ## Arguments
28
+
29
+ | Position | Values | Default |
30
+ |---|---|---|
31
+ | type | `command` · `agent` · `skill` · `rule` · `eval` | interactive (ask) |
32
+ | mode | `create` · `improve` · `fix` · `delete` · `score` · `comply` · `audit` · `health` | interactive (ask) |
33
+ | target | artifact name or `all` (for audit/health) | interactive (ask) |
34
+
35
+ ## Execution
36
+
37
+ **Step 1: Read the skill file.** Open and read `~/.aw-ecc/skills/aw-adk/SKILL.md` before doing anything else. Do not skip this — the skill contains the full flow, templates, rubrics, and scripts. All reference files are relative to that skill directory.
38
+
39
+ **Step 2: Follow the create flow steps in order.** Every type (command, agent, skill, rule, eval) goes through the same pipeline. Here are the steps you must not skip:
40
+
41
+ 1. CLASSIFY → 2. INTERVIEW → 3. RESOLVE PATH → 4. SCAFFOLD → 5. CHECKPOINT (output remaining steps to user) → 6. LINT → 7. SCORE → 8. EVAL GATE (2+ evals) → 9. TEST RUNS → 10. ITERATE → 11. DESCRIPTION OPT → 12. CROSS-IDE → 13. REGISTRY UPDATES → 14. SYNC
42
+
43
+ If you find yourself writing the artifact and then jumping to "done" — you skipped steps 5-14. Go back.
44
+
45
+ ## When No Arguments
46
+
47
+ If invoked without arguments, ask the user:
48
+ 1. What type of artifact? (with the quick classifier table from the skill)
49
+ 2. What mode? (with brief descriptions of each)
50
+ 3. What target? (name or path)
51
+
52
+ Then proceed with the skill's flow for that combination.
package/commands/build.md CHANGED
@@ -42,6 +42,16 @@ Implement approved work in thin, reversible slices, continue until the approved
42
42
  - tests or validation changes where applicable
43
43
  - `.aw_docs/features/<feature_slug>/execution.md`
44
44
  - updated `.aw_docs/features/<feature_slug>/state.json`
45
+ - `.aw_docs/features/<feature_slug>/execution.html` when docs output mode is `dual` or `html`
46
+
47
+ ## Human HTML Companion
48
+
49
+ Markdown `execution.md` remains canonical for agents.
50
+ When `/aw:build` writes or materially updates execution evidence, delegate to the `aw:echo` subagent with the `implementation-plan` profile. Markdown-only is allowed only when the user explicitly requests it for this run.
51
+ Subagent authorization: invoking `/aw:build` in `dual` or `html` output mode is an explicit user request to delegate the human-facing HTML companion to exactly one background `aw:echo` subagent. This authorization is scoped only to HTML companion generation; do not spawn unrelated subagents.
52
+ HTML sidecars are required before the final handoff. Spawn exactly one `aw:echo` subagent and wait for the colocated `.html` sidecar unless the user explicitly asks not to wait. If the harness still cannot spawn `aw:echo`, create a conservative self-contained fallback HTML sidecar in the same turn, record `generated_fallback` with the blocker, and keep Markdown canonical.
53
+
54
+ Record `html_companion_artifacts` in `state.json` with `source_path`, `html_path`, profile, status, `run_ref` when available, publish status, and any explicit Markdown-only skip or fallback reason.
45
55
 
46
56
  ## Execution Rules
47
57
 
@@ -51,15 +61,17 @@ Implement approved work in thin, reversible slices, continue until the approved
51
61
  4. Default to sequential execution unless the approved plan marks disjoint `parallel_candidate` slices with explicit write scopes.
52
62
  5. If parallel fan-out is approved, respect the plan’s `max_parallel_subagents` cap, defaulting to `3` when no stricter or larger value is justified.
53
63
  6. Break non-trivial work into thin, rollback-friendly slices or bounded parallel waves.
54
- 7. Validate each slice or completed wave before expanding scope.
55
- 8. Keep moving through approved slices until the current build scope is complete or explicitly blocked.
56
- 9. For bug work, require a failing signal or reproduction before broad fixes.
57
- 10. For frontend work, inherit HighRise, accessibility, responsive, and runtime-verification expectations.
58
- 11. Record what changed, what remains, whether execution stayed sequential or ran in bounded parallel waves, and what was intentionally not touched.
59
- 12. If the approved tasks are phased, record each completed phase and name the next phase before handoff.
60
- 13. Create save-point commits for meaningful completed slices.
61
- 14. If a proposed slice cannot support a clean save-point commit, treat that as a slicing problem instead of normalizing a no-commit checkpoint.
62
- 15. Hand off to `/aw:test` or `/aw:review` with the exact next command instead of claiming readiness without evidence.
64
+ 7. For each slice that changes observable behavior, load `tdd-workflow` and follow RED-GREEN-REFACTOR; use the `tdd` companion skill when deeper behavior-test, mocking, or tracer-bullet guidance is needed.
65
+ 8. Validate each slice or completed wave before expanding scope.
66
+ 9. Keep moving through approved slices until the current build scope is complete or explicitly blocked.
67
+ 10. For bug work, require a failing signal or reproduction before broad fixes.
68
+ 11. For frontend work, inherit HighRise, accessibility, responsive, and runtime-verification expectations.
69
+ 12. Record what changed, what remains, whether execution stayed sequential or ran in bounded parallel waves, and what was intentionally not touched.
70
+ 13. If the approved tasks are phased, record each completed phase and name the next phase before handoff.
71
+ 14. Create save-point commits for meaningful completed slices.
72
+ 15. If a proposed slice cannot support a clean save-point commit, treat that as a slicing problem instead of normalizing a no-commit checkpoint.
73
+ 16. Hand off to `/aw:test` or `/aw:review` with the exact next command instead of claiming readiness without evidence.
74
+ 17. Generate or explicitly record the HTML companion status before handoff.
63
75
 
64
76
  ## Must Not Do
65
77
 
@@ -87,5 +99,6 @@ Always end with:
87
99
  - `Changes`
88
100
  - `Validation`
89
101
  - `Save Points`
102
+ - `HTML Companion`
90
103
  - `Blockers`
91
104
  - `Next`
@@ -35,6 +35,7 @@ Perform one explicit release action with the correct GHL provider and mechanism
35
35
 
36
36
  - `.aw_docs/features/<feature_slug>/release.md`
37
37
  - updated `.aw_docs/features/<feature_slug>/state.json`
38
+ - `.aw_docs/features/<feature_slug>/release.html` when docs output mode is `dual` or `html`
38
39
  - one concrete release outcome artifact:
39
40
  - PR URL
40
41
  - branch name
@@ -43,6 +44,15 @@ Perform one explicit release action with the correct GHL provider and mechanism
43
44
  - build links
44
45
  - status summary
45
46
 
47
+ ## Human HTML Companion
48
+
49
+ Markdown `release.md` remains canonical for agents.
50
+ When `/aw:deploy` writes or materially updates release evidence, delegate to the `aw:echo` subagent with the `release-report` profile. Markdown-only is allowed only when the user explicitly requests it for this run.
51
+ Subagent authorization: invoking `/aw:deploy` in `dual` or `html` output mode is an explicit user request to delegate the human-facing HTML companion to exactly one background `aw:echo` subagent. This authorization is scoped only to HTML companion generation; do not spawn unrelated subagents.
52
+ HTML sidecars are required before the final handoff. Spawn exactly one `aw:echo` subagent and wait for the colocated `.html` sidecar unless the user explicitly asks not to wait. If the harness still cannot spawn `aw:echo`, create a conservative self-contained fallback HTML sidecar in the same turn, record `generated_fallback` with the blocker, and keep Markdown canonical.
53
+
54
+ Record `html_companion_artifacts` in `state.json` with `source_path`, `html_path`, profile, status, `run_ref` when available, publish status, and any explicit Markdown-only skip or fallback reason.
55
+
46
56
  ## Deploy Rules
47
57
 
48
58
  1. Do one release action at a time.
@@ -50,6 +60,7 @@ Perform one explicit release action with the correct GHL provider and mechanism
50
60
  3. Finish the selected release action for the chosen mode or record the blocker explicitly.
51
61
  4. Record deterministic evidence even when external execution is blocked.
52
62
  5. Hand off to `/aw:ship` when launch, rollout, rollback readiness, or release closeout is requested after deploy.
63
+ 6. Generate or explicitly record the HTML companion status before handoff.
53
64
 
54
65
  ## Must Not Do
55
66
 
@@ -72,4 +83,5 @@ Always end with:
72
83
  - `Execution Evidence`
73
84
  - `Rollback Path`
74
85
  - `Outcome`
86
+ - `HTML Companion`
75
87
  - `Next`
@@ -29,6 +29,14 @@ This entrypoint inherits the same rule that build should finish the approved bui
29
29
  - implementation changes
30
30
  - `.aw_docs/features/<feature_slug>/execution.md`
31
31
  - updated `.aw_docs/features/<feature_slug>/state.json`
32
+ - `.aw_docs/features/<feature_slug>/execution.html` when the routed `/aw:build` stage writes an HTML companion
33
+
34
+ ## Human HTML Companion
35
+
36
+ `/aw:execute` inherits the `/aw:build` HTML companion contract.
37
+ Markdown remains canonical for agents, and the `aw:echo` subagent produces the human review companion when output mode is `dual` or `html`.
38
+ Subagent authorization: invoking `/aw:execute` in `dual` or `html` output mode is an explicit user request to delegate the human-facing HTML companion to exactly one background `aw:echo` subagent. This authorization is scoped only to HTML companion generation; do not spawn unrelated subagents.
39
+ HTML sidecars are required before the final handoff. Spawn exactly one `aw:echo` subagent and wait for the colocated `.html` sidecar unless the user explicitly asks not to wait. If the harness still cannot spawn `aw:echo`, create a conservative self-contained fallback HTML sidecar in the same turn, record `generated_fallback` with the blocker, and keep Markdown canonical.
32
40
 
33
41
  ## Must Not Do
34
42
 
@@ -48,4 +56,5 @@ Always end with:
48
56
  - `Canonical Stage`
49
57
  - `Changes`
50
58
  - `Validation`
59
+ - `HTML Companion`
51
60
  - `Next`
@@ -0,0 +1,333 @@
1
+ ---
2
+ name: aw:feature
3
+ description: Guided phase-by-phase feature development — from repo setup to production deployment. PM-friendly, pauses at each phase for user input.
4
+ argument-hint: "<feature description, ticket URL, or screenshot>"
5
+ status: active
6
+ stage: feature
7
+ internal_skill: aw-feature
8
+ ---
9
+
10
+ # Feature — Guided SDLC Workflow
11
+
12
+ ## Your first response
13
+
14
+ When this command is invoked, your entire first response is the roadmap below — nothing else. Do not start any phase, do not create files, do not write code, do not plan. Just show the roadmap and ask where to start.
15
+
16
+ Feature context (for reference, not for acting on yet): $ARGUMENTS
17
+
18
+ ```
19
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
20
+ ⟁ AW ► FEATURE WORKFLOW
21
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
22
+
23
+ Feature: <feature title derived from $ARGUMENTS>
24
+
25
+ You'll go through these phases:
26
+
27
+ SETUP & CONTEXT
28
+ 1. Repo Setup .............. Clone/identify repo from screenshot or URL
29
+ 2. Codebase Onboarding ..... Understand architecture and conventions
30
+
31
+ PLANNING
32
+ 3. Requirements ............ Gather and confirm acceptance criteria
33
+ 4. PRD ..................... Write product requirements document
34
+ 5. Design .................. Explore design options, make decisions
35
+ 6. Technical Spec .......... Architecture, API impact, data model
36
+ 7. Task Breakdown .......... Implementation tasks in phased order
37
+
38
+ IMPLEMENTATION
39
+ 8. Build ................... Implement in thin, reversible slices
40
+ 9. Tests ................... Write and run tests
41
+ 10. Self-Review ............. Code quality and correctness review
42
+
43
+ HARDENING
44
+ 11. Debug & Fix ............. Fix issues found in review/tests
45
+ 12. Docs & i18n ............. Documentation and translation strings
46
+ 13. Platform Specialists .... Security, performance, accessibility reviews
47
+ 14. Setup Audit ............. Verify lint, types, build, tests all pass
48
+
49
+ RELEASE
50
+ 15. PR Creation ............. Create pull request with summary
51
+ 16. PR Checks & Fixes ....... Auto-detect and fix CI warnings
52
+ 17. Staging Deploy .......... Deploy to staging, get staging link
53
+ 18. Production & Closeout ... Production deploy and release notes
54
+
55
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
56
+
57
+ You can say:
58
+ "next" → proceed to the next phase
59
+ "skip" → skip current phase (I'll ask why)
60
+ "phase <N>" → jump to a specific phase
61
+ "status" → see progress tracker
62
+ "refine" → redo or adjust current phase
63
+ "back to <N>" → revisit a completed phase
64
+
65
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
+ ```
67
+
68
+ Along with the roadmap, mention which phases you'd auto-skip (e.g., "You're already in a repo so we'd skip Phase 1") and suggest a starting phase. Then ask the user: "Ready to begin at Phase N, or would you like to start somewhere else?"
69
+
70
+ Wait for the user to respond before doing anything.
71
+
72
+ ## Smart Entry Detection
73
+
74
+ When scanning for auto-skips, check these signals:
75
+
76
+ | Signal | Action |
77
+ |---|---|
78
+ | Already inside a git repo | Skip Phase 1 |
79
+ | Onboarding artifact exists | Skip Phase 2 |
80
+ | `.aw_docs/features/<slug>/prd.md` exists | Skip Phases 3-4 |
81
+ | `.aw_docs/features/<slug>/spec.md` exists | Skip Phase 6 |
82
+ | `.aw_docs/features/<slug>/tasks.md` exists | Skip Phase 7 |
83
+ | Implementation code exists for this feature | Suggest Phase 9 or later, **ask the user** |
84
+ | PR already exists | Suggest Phase 16, **ask the user** |
85
+
86
+ Always announce every skip in the roadmap response. Never silently skip.
87
+
88
+ ## Role
89
+
90
+ You are a guide walking the user through 18 SDLC phases. At each phase you explain what's happening, delegate to the appropriate skill, and pause for user input before moving on. This is not autonomous — the user drives the pace.
91
+
92
+ ## Modes
93
+
94
+ | Mode | Use when | Behavior |
95
+ |---|---|---|
96
+ | `full` | Starting a new feature from scratch | Show roadmap, begin at Phase 1 |
97
+ | `resume` | Continuing a previously started feature | Read state.json, resume from last incomplete phase |
98
+ | `status` | User wants to see progress | Show progress tracker only |
99
+
100
+ ## Phase Execution Pattern
101
+
102
+ For **every** phase, follow this exact pattern:
103
+
104
+ ### 1. Announce the Phase
105
+ ```
106
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
107
+ Phase <N>/18: <Phase Name>
108
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
+ <One plain-language sentence explaining what this phase does and why it matters.>
110
+ ```
111
+
112
+ ### 2. Execute the Phase
113
+ Load the backing skill and execute. See the Phase Definitions table below for which skill each phase delegates to.
114
+
115
+ ### 3. Show What Was Produced
116
+ ```
117
+ ✓ Phase <N> complete.
118
+ Produced: <list of artifacts or outcomes>
119
+ ```
120
+
121
+ When a phase delegates to an AW stage that writes a canonical Markdown artifact, include the generated `.aw_docs/features/<feature_slug>/<artifact_basename>.html` companion in the produced list. Markdown-only is allowed only when the user explicitly requests it for this run.
122
+
123
+ ### 4. Pause and Ask
124
+ ```
125
+ ► Ready for Phase <N+1> (<Next Phase Name>)?
126
+ Say "next" to proceed, "refine" to adjust, or "skip" to skip it.
127
+ ```
128
+
129
+ **Never proceed without user input.** Wait for the user to say "next", "skip", "refine", "phase N", or give other direction.
130
+
131
+ ## Phase Definitions
132
+
133
+ | # | Phase | Delegates to | Skills loaded | Hard gate? |
134
+ |---|---|---|---|---|
135
+ | 1 | Repo Setup | direct skill invocation | `local-ghl-setup-from-screenshot` | No |
136
+ | 2 | Codebase Onboarding | direct skill invocation | `codebase-onboarding` | No |
137
+ | 3 | Requirements | `aw-plan` (product mode) | `aw-plan` | No |
138
+ | 4 | PRD | `aw-plan` (product mode) | `aw-plan` | No |
139
+ | 5 | Design | `aw-design` | `aw-design` | No |
140
+ | 6 | Technical Spec | `aw-plan` (technical mode) | `aw-plan` | No |
141
+ | 7 | Task Breakdown | `aw-plan` (tasks mode) | `aw-plan` | No |
142
+ | 8 | Build | `aw-build` (code mode) | `aw-build`, `incremental-implementation` | No |
143
+ | 9 | Tests | `aw-test` (feature mode) | `aw-test`, `tdd-workflow` | No |
144
+ | 10 | Self-Review | `aw-review` (findings mode) | `aw-review` | No |
145
+ | 11 | Debug & Fix | `aw-investigate` + `aw-build` | `aw-investigate`, `aw-build` | No |
146
+ | 12 | Docs & i18n | `aw-build` (docs mode) | `aw-build` | No |
147
+ | 13 | Platform Specialists | `aw-review` (governance mode) | `aw-review`, `using-platform-skills` | No |
148
+ | 14 | Setup Audit | `aw-test` (release mode) | `aw-test`, `verification-loop` | **Yes** — must pass before Phase 15 |
149
+ | 15 | PR Creation | `aw-deploy` (pr mode) | `aw-deploy` | No |
150
+ | 16 | PR Checks & Fixes | `aw-build` + `aw-review` | `aw-build`, `aw-review` | **Yes** — auto-runs, auto-fixes |
151
+ | 17 | Staging Deploy | `aw-deploy` (staging mode) | `aw-deploy` | No |
152
+ | 18 | Production & Closeout | `aw-ship` | `aw-ship` | No |
153
+
154
+ ## Phase-Specific Behavior
155
+
156
+ ### Phase 1: Repo Setup
157
+ If the user provides a screenshot, load and execute `local-ghl-setup-from-screenshot`.
158
+ If the user provides a repo URL or name, clone it.
159
+ If already in a repo, auto-skip with announcement.
160
+
161
+ ### Phase 3 & 4: Requirements + PRD
162
+ Phase 3 is a **conversation** — your job is to understand the feature by talking to the user, not by guessing.
163
+
164
+ Think of yourself as a product manager sitting down with a stakeholder. You ask about scope, users, success criteria, edge cases, and constraints. You listen to the answers. You follow up on anything that's vague or missing. You keep the conversation going until you genuinely understand what needs to be built and how you'd know it's done. Only then do you write up `requirements.md`.
165
+
166
+ Phase 4 takes Phase 3 outputs and writes the PRD document.
167
+ These are separate because PMs often know what they want but need help structuring it.
168
+
169
+ ### Phase 5: Design
170
+ Load and execute `aw-design`. It handles feature type detection (frontend/full-stack/backend-only), generates HTML prototypes using the Highrise design system, and uses Stitch MCP when available. For backend-only features, it suggests skipping.
171
+
172
+ ### Phase 8: Build
173
+ This is typically the longest phase. Use `incremental-implementation` to break into thin slices.
174
+ After each meaningful slice, show progress and ask if the user wants to continue or pause.
175
+
176
+ ### Phase 11: Debug & Fix
177
+ Only enters this phase if Phase 9 (Tests) or Phase 10 (Self-Review) found issues.
178
+ If no issues were found, auto-skip with announcement:
179
+ ```
180
+ ○ Skipping Phase 11 (Debug & Fix) — no issues found in tests or review.
181
+ ```
182
+
183
+ ### Phase 14: Setup Audit (Hard Gate)
184
+ This is a **hard gate** — it must pass before PR creation.
185
+ Run: lint, type check, build, and test suite.
186
+ If any fail, fix them within this phase before proceeding.
187
+ ```
188
+ ⚠ Setup Audit found 3 issues. Fixing before we can create the PR...
189
+ ```
190
+
191
+ ### Phase 16: PR Checks & Fixes (Automatic)
192
+ After PR creation, this phase runs a **three-step sequence automatically**:
193
+
194
+ **Step 1: Merge Conflict Detection & Resolution**
195
+ ```bash
196
+ git fetch origin main && git merge origin/main --no-commit --no-ff
197
+ ```
198
+ - If merge conflicts exist, identify conflicting files, resolve them intelligently (understanding both sides of the conflict), and commit the resolution.
199
+ - If the target branch is not `main`, detect the correct base branch from the PR.
200
+ - Show every conflict and its resolution to the user:
201
+ ```
202
+ ◆ Checking for merge conflicts with main...
203
+ ⚠ Found 3 merge conflicts:
204
+ → src/components/ExportButton.vue — resolved (kept our new component + their import reorder)
205
+ → src/utils/helpers.ts — resolved (merged both additions)
206
+ → package.json — resolved (kept both dependency additions)
207
+ → Committed merge resolution.
208
+ ```
209
+
210
+ **Step 2: CI / Lint / Type Fixes**
211
+ Check PR status (CI checks, lint warnings, type errors). Fix automatically:
212
+ ```
213
+ ◆ Checking CI status...
214
+ → Fixed 2 lint warnings in src/components/ExportButton.vue
215
+ → Fixed 1 type error in src/utils/export.ts
216
+ → Pushed fixes to PR branch.
217
+ ```
218
+
219
+ **Step 3: Final Verification**
220
+ Re-run `git status`, confirm PR is clean, no remaining conflicts or failing checks.
221
+ ```
222
+ ✓ PR is clean — no conflicts, no warnings, all checks passing.
223
+ ```
224
+
225
+ If any fix requires a **design decision** (e.g., conflicting business logic, not just formatting), pause and ask the user instead of guessing.
226
+
227
+ ## Progress Tracker
228
+
229
+ When the user says "status" or at phase boundaries, show:
230
+
231
+ ```
232
+ Feature: <feature-title>
233
+ [============..........................] Phase 5/18
234
+
235
+ 1. Repo Setup .............. ✓ DONE
236
+ 2. Codebase Onboarding ..... ✓ DONE
237
+ 3. Requirements ............ ✓ DONE
238
+ 4. PRD ..................... ✓ DONE
239
+ 5. Design .................. ► IN PROGRESS <--
240
+ 6. Technical Spec .......... ○ PENDING
241
+ 7. Task Breakdown .......... ○ PENDING
242
+ 8. Build ................... ○ PENDING
243
+ 9. Tests ................... ○ PENDING
244
+ 10. Self-Review ............. ○ PENDING
245
+ 11. Debug & Fix ............. ○ PENDING
246
+ 12. Docs & i18n ............. ○ PENDING
247
+ 13. Platform Specialists .... ○ PENDING
248
+ 14. Setup Audit ............. ○ PENDING
249
+ 15. PR Creation ............. ○ PENDING
250
+ 16. PR Checks & Fixes ....... ○ PENDING
251
+ 17. Staging Deploy .......... ○ PENDING
252
+ 18. Production & Closeout ... ○ PENDING
253
+ ```
254
+
255
+ Status symbols: `✓` done, `►` in progress, `○` pending, `⊘` skipped
256
+
257
+ ## State Persistence (MANDATORY)
258
+
259
+ **You MUST update state.json at every phase boundary.** This is non-negotiable — it is the only way to resume across sessions. If you forget, the user loses all progress on session restart.
260
+
261
+ File: `.aw_docs/features/<feature-slug>/state.json`
262
+
263
+ **Update trigger:** Immediately after showing the phase completion message (`✓ Phase <N> complete`), before the pause prompt.
264
+
265
+ **Format — keep it minimal** (do not add extra fields):
266
+ ```json
267
+ {
268
+ "feature_slug": "<slug>",
269
+ "feature_title": "<title>",
270
+ "command": "aw:feature",
271
+ "current_phase": 5,
272
+ "phases": {
273
+ "1": "done",
274
+ "2": "done",
275
+ "3": "done",
276
+ "4": "done",
277
+ "5": "in_progress"
278
+ }
279
+ }
280
+ ```
281
+
282
+ Phase values: `"done"`, `"in_progress"`, `"skipped"`, `"pending"`
283
+
284
+ **On resume:** Read this file, show progress tracker, and resume from the first non-done phase.
285
+
286
+ ## Human HTML Companion
287
+
288
+ `/aw:feature` delegates HTML generation to the backing stage skills.
289
+ Markdown remains canonical for agents, while TeamOfOne-readable HTML companions are produced by the `aw:echo` subagent for planning, build, test, review, deploy, and ship artifacts when output mode is `dual` or `html`.
290
+ Subagent authorization: invoking `/aw:feature` in `dual` or `html` output mode is an explicit user request to delegate each human-facing HTML companion to exactly one background `aw:echo` subagent per artifact-producing phase. This authorization is scoped only to HTML companion generation; do not spawn unrelated subagents.
291
+ HTML sidecars are required before each artifact-producing phase handoff. Spawn exactly one `aw:echo` subagent for the phase companion and wait for the colocated `.html` sidecar unless the user explicitly asks not to wait. If the harness still cannot spawn `aw:echo`, create a conservative self-contained fallback HTML sidecar in the same turn, record `generated_fallback` with the blocker, and keep Markdown canonical.
292
+
293
+ ## Skipping Rules
294
+
295
+ | Skip type | Behavior |
296
+ |---|---|
297
+ | **Auto-skip** (nonsensical phase) | Announce and skip — e.g., already in repo, no UI to design |
298
+ | **User-requested skip** | Ask for a one-line reason, log it, proceed |
299
+ | **Hard-gate phase** (14, 16) | Cannot be skipped — must pass |
300
+
301
+ When auto-skipping:
302
+ ```
303
+ ○ Skipping Phase <N> (<Name>) — <reason>.
304
+ ```
305
+
306
+ When user requests skip:
307
+ ```
308
+ > Skipping Phase <N> (<Name>).
309
+ Quick note: why are we skipping this? (Helps me adjust later phases.)
310
+ ```
311
+
312
+ ## Hard Gates
313
+
314
+ - **Phase 14 (Setup Audit)** must pass before Phase 15 (PR Creation)
315
+ - **Phase 16 (PR Checks & Fixes)** runs automatically after PR creation — cannot be skipped
316
+
317
+ ## Must Not Do
318
+
319
+ - Must not auto-advance between phases without user input
320
+ - Must not skip phases silently — always announce skips with reasons
321
+ - Must not duplicate the workflow logic of backing skills (delegate, don't reimplement)
322
+ - Must not run all phases in one shot like `aw-yolo` — this is guided, not autonomous
323
+ - Must not show technical jargon without a plain-language explanation
324
+
325
+ ## Final Output Shape
326
+
327
+ At each phase boundary:
328
+ - `Phase`: current phase number and name
329
+ - `Status`: what was produced or decided
330
+ - `Progress`: X/18 phases complete
331
+ - `HTML Companion`: generated path when the phase produced a stage artifact, or explicit Markdown-only skip
332
+ - `Next`: what the next phase is and what it does
333
+ - `Prompt`: ask user to proceed, refine, or skip
@@ -28,17 +28,29 @@ Turn vague breakage into a concrete reproduction, localized fault surface, and n
28
28
 
29
29
  - `.aw_docs/features/<feature_slug>/investigation.md`
30
30
  - updated `.aw_docs/features/<feature_slug>/state.json`
31
+ - `.aw_docs/features/<feature_slug>/investigation.html` when docs output mode is `dual` or `html`
31
32
  - reproduction, expected-vs-actual, hypothesis, and next probe or build handoff
32
33
 
34
+ ## Human HTML Companion
35
+
36
+ Markdown `investigation.md` remains canonical for agents.
37
+ When `/aw:investigate` writes or materially updates investigation evidence, delegate to the `aw:echo` subagent with the `investigation-report` profile. Markdown-only is allowed only when the user explicitly requests it for this run.
38
+ Subagent authorization: invoking `/aw:investigate` in `dual` or `html` output mode is an explicit user request to delegate the human-facing HTML companion to exactly one background `aw:echo` subagent. This authorization is scoped only to HTML companion generation; do not spawn unrelated subagents.
39
+ HTML sidecars are required before the final handoff. Spawn exactly one `aw:echo` subagent and wait for the colocated `.html` sidecar unless the user explicitly asks not to wait. If the harness still cannot spawn `aw:echo`, create a conservative self-contained fallback HTML sidecar in the same turn, record `generated_fallback` with the blocker, and keep Markdown canonical.
40
+
41
+ Record `html_companion_artifacts` in `state.json` with `source_path`, `html_path`, profile, status, `run_ref` when available, publish status, and any explicit Markdown-only skip or fallback reason.
42
+
33
43
  ## Investigation Rules
34
44
 
35
45
  1. Reproduce first.
36
46
  2. Capture expected vs actual behavior.
37
- 3. Use the smallest confirming probe before patching.
38
- 4. Load org-standard observability and platform playbooks when the baseline requires them.
39
- 5. For frontend issues, include runtime and responsive evidence when relevant.
40
- 6. Name the exact next probe or next command before stopping.
41
- 7. Do not broaden into implementation until the fault surface is concrete enough.
47
+ 3. Load `diagnose` for unclear bugs, regressions, performance problems, repeated failed fixes, or any case where a reliable feedback loop is not already established.
48
+ 4. Use the smallest confirming probe before patching.
49
+ 5. Load org-standard observability and platform playbooks when the baseline requires them.
50
+ 6. For frontend issues, include runtime and responsive evidence when relevant.
51
+ 7. Name the exact next probe or next command before stopping.
52
+ 8. Do not broaden into implementation until the fault surface is concrete enough.
53
+ 9. Generate or explicitly record the HTML companion status before handoff.
42
54
 
43
55
  ## Must Not Do
44
56
 
@@ -60,4 +72,5 @@ Always end with:
60
72
  - `Expected vs Actual`
61
73
  - `Evidence`
62
74
  - `Likely Fault Surface`
75
+ - `HTML Companion`
63
76
  - `Next`
package/commands/plan.md CHANGED
@@ -52,19 +52,32 @@ Turn an idea, requirement, approved design, or technical request into the minimu
52
52
  - `designs/`
53
53
  - `spec.md`
54
54
  - `tasks.md`
55
+ - colocated HTML sidecars beside generated planning artifacts, for example `prd.html`, `design.html`, `spec.html`, and `tasks.html`, when docs output mode is `dual` or `html`
56
+
57
+ ## Human HTML Companion
58
+
59
+ Markdown artifacts remain canonical for agents.
60
+ When `/aw:plan` writes or materially updates planning artifacts, delegate to the `aw:echo` subagent to produce the TeamOfOne-readable companion. Markdown-only is allowed only when the user explicitly requests it for this run.
61
+ Subagent authorization: invoking `/aw:plan` in `dual` or `html` output mode is an explicit user request to delegate the human-facing HTML companion to exactly one background `aw:echo` subagent. This authorization is scoped only to HTML companion generation; do not spawn unrelated subagents.
62
+ HTML sidecars are required before the final handoff. Spawn exactly one `aw:echo` subagent and wait for the colocated `.html` sidecar unless the user explicitly asks not to wait. If the harness still cannot spawn `aw:echo`, create a conservative self-contained fallback HTML sidecar in the same turn, record `generated_fallback` with the blocker, and keep Markdown canonical.
63
+
64
+ Record `html_companion_artifacts` in `state.json` with `source_path`, `html_path`, profile, status, `run_ref` when available, publish status, and any explicit Markdown-only skip or fallback reason.
55
65
 
56
66
  ## Execution Rules
57
67
 
58
68
  1. Classify the request into one primary mode first.
59
- 2. Operate in read-only planning mode until the artifacts are written.
60
- 3. Default to single-scope planning.
61
- 4. If the request is fuzzy, discovery-heavy, or too large for one spec, route internally through `aw-brainstorm` before technical planning.
62
- 5. Use existing artifacts as inputs when they are already sufficient.
63
- 6. Route approved technical direction through `aw-spec` before task planning.
64
- 7. Route approved specs through `aw-tasks` when execution-ready tasks are missing or stale.
65
- 8. Do not require a PRD for a technical request that is already well defined.
66
- 9. When writing technical or task artifacts, make them concrete enough for build to proceed without re-planning file scope, validation, and task order.
67
- 10. When writing `tasks.md`, always include an explicit `## Spec Brief` section and organize the work into explicit phases.
69
+ 2. Use `grill-with-docs` when the request is fuzzy, high-impact, domain-language-heavy, or likely to hide edge cases; do not make it a blanket blocker for small or already-clear plans.
70
+ 3. Use `to-prd` only when product scope must be frozen (`product` or `full` mode, or missing product assumptions); do not require a PRD for a technical request that is already well defined.
71
+ 4. Use `to-issues` before `tasks.md` when the work needs a vertical-slice breakdown; feed those slices into `aw-tasks` rather than publishing tracker issues by default.
72
+ 5. Operate in read-only planning mode until the artifacts are written.
73
+ 6. Default to single-scope planning.
74
+ 7. If the request is fuzzy, discovery-heavy, or too large for one spec, route internally through `aw-brainstorm` before technical planning.
75
+ 8. Use existing artifacts as inputs when they are already sufficient.
76
+ 9. Route approved technical direction through `aw-spec` before task planning.
77
+ 10. Route approved specs through `aw-tasks` when execution-ready tasks are missing or stale.
78
+ 11. When writing technical or task artifacts, make them concrete enough for build to proceed without re-planning file scope, validation, and task order.
79
+ 12. When writing `tasks.md`, always include an explicit `## Spec Brief` section and organize the work into explicit phases.
80
+ 13. Generate or explicitly record the HTML companion status before handoff.
68
81
 
69
82
  ## Planning Depth
70
83
 
@@ -126,5 +139,6 @@ Always end with:
126
139
  - `Phases`
127
140
  - `Summary`
128
141
  - `Execution Readiness`
142
+ - `HTML Companion`
129
143
  - `Missing`
130
144
  - `Next`