aw-ecc 1.4.32 → 1.4.48

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/.cursor/INSTALL.md +7 -5
  3. package/.cursor/hooks/adapter.js +41 -4
  4. package/.cursor/hooks/after-agent-response.js +62 -0
  5. package/.cursor/hooks/before-submit-prompt.js +7 -1
  6. package/.cursor/hooks/post-tool-use-failure.js +21 -0
  7. package/.cursor/hooks/post-tool-use.js +39 -0
  8. package/.cursor/hooks/shared/aw-phase-definitions.js +53 -0
  9. package/.cursor/hooks/shared/aw-phase-runner.js +3 -1
  10. package/.cursor/hooks/subagent-start.js +22 -4
  11. package/.cursor/hooks/subagent-stop.js +18 -1
  12. package/.cursor/hooks.json +23 -2
  13. package/.opencode/package.json +1 -1
  14. package/AGENTS.md +3 -3
  15. package/README.md +5 -5
  16. package/commands/adk.md +52 -0
  17. package/commands/build.md +22 -9
  18. package/commands/deploy.md +12 -0
  19. package/commands/execute.md +9 -0
  20. package/commands/feature.md +333 -0
  21. package/commands/investigate.md +18 -5
  22. package/commands/plan.md +23 -9
  23. package/commands/publish.md +65 -0
  24. package/commands/review.md +12 -0
  25. package/commands/ship.md +12 -0
  26. package/commands/test.md +12 -0
  27. package/commands/verify.md +9 -0
  28. package/hooks/hooks.json +36 -0
  29. package/manifests/install-components.json +8 -0
  30. package/manifests/install-modules.json +83 -0
  31. package/manifests/install-profiles.json +7 -0
  32. package/package.json +2 -2
  33. package/scripts/ci/validate-rules.js +51 -0
  34. package/scripts/cursor-aw-home/hooks.json +23 -2
  35. package/scripts/cursor-aw-hooks/adapter.js +41 -4
  36. package/scripts/cursor-aw-hooks/before-submit-prompt.js +7 -1
  37. package/scripts/hooks/aw-usage-commit-created.js +32 -0
  38. package/scripts/hooks/aw-usage-post-tool-use-failure.js +56 -0
  39. package/scripts/hooks/aw-usage-post-tool-use.js +242 -0
  40. package/scripts/hooks/aw-usage-prompt-submit.js +112 -0
  41. package/scripts/hooks/aw-usage-session-start.js +48 -0
  42. package/scripts/hooks/aw-usage-stop.js +182 -0
  43. package/scripts/hooks/aw-usage-telemetry-send.js +84 -0
  44. package/scripts/hooks/cost-tracker.js +3 -23
  45. package/scripts/hooks/shared/aw-phase-definitions.js +53 -0
  46. package/scripts/hooks/shared/aw-phase-runner.js +3 -1
  47. package/scripts/lib/aw-hook-contract.js +2 -2
  48. package/scripts/lib/aw-pricing.js +306 -0
  49. package/scripts/lib/aw-usage-telemetry.js +472 -0
  50. package/scripts/lib/codex-hook-config.js +8 -8
  51. package/scripts/lib/cursor-hook-config.js +25 -10
  52. package/scripts/lib/install-targets/cursor-project.js +3 -0
  53. package/scripts/lib/install-targets/helpers.js +20 -3
  54. package/skills/aw-adk/SKILL.md +317 -0
  55. package/skills/aw-adk/agents/analyzer.md +113 -0
  56. package/skills/aw-adk/agents/comparator.md +113 -0
  57. package/skills/aw-adk/agents/grader.md +115 -0
  58. package/skills/aw-adk/assets/eval_review.html +76 -0
  59. package/skills/aw-adk/eval-viewer/generate_review.py +164 -0
  60. package/skills/aw-adk/eval-viewer/viewer.html +181 -0
  61. package/skills/aw-adk/evals/eval-colocated-placement.md +84 -0
  62. package/skills/aw-adk/evals/eval-create-agent.md +90 -0
  63. package/skills/aw-adk/evals/eval-create-command.md +98 -0
  64. package/skills/aw-adk/evals/eval-create-eval.md +89 -0
  65. package/skills/aw-adk/evals/eval-create-rule.md +99 -0
  66. package/skills/aw-adk/evals/eval-create-skill.md +97 -0
  67. package/skills/aw-adk/evals/eval-delete-agent.md +79 -0
  68. package/skills/aw-adk/evals/eval-delete-command.md +89 -0
  69. package/skills/aw-adk/evals/eval-delete-rule.md +86 -0
  70. package/skills/aw-adk/evals/eval-delete-skill.md +90 -0
  71. package/skills/aw-adk/evals/eval-meta-eval-coverage.md +78 -0
  72. package/skills/aw-adk/evals/eval-meta-eval-determinism.md +81 -0
  73. package/skills/aw-adk/evals/eval-meta-eval-false-pass.md +81 -0
  74. package/skills/aw-adk/evals/eval-score-accuracy.md +95 -0
  75. package/skills/aw-adk/evals/eval-type-redirect.md +68 -0
  76. package/skills/aw-adk/evals/evals.json +96 -0
  77. package/skills/aw-adk/references/artifact-wiring.md +162 -0
  78. package/skills/aw-adk/references/cross-ide-mapping.md +71 -0
  79. package/skills/aw-adk/references/eval-placement-guide.md +183 -0
  80. package/skills/aw-adk/references/external-resources.md +75 -0
  81. package/skills/aw-adk/references/getting-started.md +66 -0
  82. package/skills/aw-adk/references/registry-structure.md +152 -0
  83. package/skills/aw-adk/references/rubric-agent.md +36 -0
  84. package/skills/aw-adk/references/rubric-command.md +36 -0
  85. package/skills/aw-adk/references/rubric-eval.md +36 -0
  86. package/skills/aw-adk/references/rubric-meta-eval.md +132 -0
  87. package/skills/aw-adk/references/rubric-rule.md +36 -0
  88. package/skills/aw-adk/references/rubric-skill.md +36 -0
  89. package/skills/aw-adk/references/schemas.md +222 -0
  90. package/skills/aw-adk/references/template-agent.md +251 -0
  91. package/skills/aw-adk/references/template-command.md +279 -0
  92. package/skills/aw-adk/references/template-eval.md +176 -0
  93. package/skills/aw-adk/references/template-rule.md +119 -0
  94. package/skills/aw-adk/references/template-skill.md +123 -0
  95. package/skills/aw-adk/references/type-classifier.md +98 -0
  96. package/skills/aw-adk/references/writing-good-agents.md +227 -0
  97. package/skills/aw-adk/references/writing-good-commands.md +258 -0
  98. package/skills/aw-adk/references/writing-good-evals.md +271 -0
  99. package/skills/aw-adk/references/writing-good-rules.md +214 -0
  100. package/skills/aw-adk/references/writing-good-skills.md +159 -0
  101. package/skills/aw-adk/scripts/aggregate-benchmark.py +190 -0
  102. package/skills/aw-adk/scripts/lint-artifact.sh +211 -0
  103. package/skills/aw-adk/scripts/score-artifact.sh +179 -0
  104. package/skills/aw-adk/scripts/trigger-eval.py +192 -0
  105. package/skills/aw-build/SKILL.md +19 -2
  106. package/skills/aw-deploy/SKILL.md +65 -3
  107. package/skills/aw-design/SKILL.md +156 -0
  108. package/skills/aw-design/references/highrise-tokens.md +394 -0
  109. package/skills/aw-design/references/micro-interactions.md +76 -0
  110. package/skills/aw-design/references/prompt-template.md +160 -0
  111. package/skills/aw-design/references/quality-checklist.md +70 -0
  112. package/skills/aw-design/references/self-review.md +497 -0
  113. package/skills/aw-design/references/stitch-workflow.md +127 -0
  114. package/skills/aw-feature/SKILL.md +293 -0
  115. package/skills/aw-investigate/SKILL.md +17 -0
  116. package/skills/aw-plan/SKILL.md +34 -3
  117. package/skills/aw-publish/SKILL.md +300 -0
  118. package/skills/aw-publish/evals/eval-confirmation-gate.md +60 -0
  119. package/skills/aw-publish/evals/eval-intent-detection.md +111 -0
  120. package/skills/aw-publish/evals/eval-push-modes.md +67 -0
  121. package/skills/aw-publish/evals/eval-rules-push.md +60 -0
  122. package/skills/aw-publish/evals/evals.json +29 -0
  123. package/skills/aw-publish/references/push-modes.md +38 -0
  124. package/skills/aw-review/SKILL.md +88 -9
  125. package/skills/aw-rules-review/SKILL.md +124 -0
  126. package/skills/aw-rules-review/agents/openai.yaml +3 -0
  127. package/skills/aw-rules-review/scripts/generate-review-template.mjs +323 -0
  128. package/skills/aw-ship/SKILL.md +16 -0
  129. package/skills/aw-spec/SKILL.md +15 -0
  130. package/skills/aw-tasks/SKILL.md +15 -0
  131. package/skills/aw-test/SKILL.md +16 -0
  132. package/skills/aw-yolo/SKILL.md +4 -0
  133. package/skills/diagnose/SKILL.md +121 -0
  134. package/skills/diagnose/scripts/hitl-loop.template.sh +41 -0
  135. package/skills/finish-only-when-green/SKILL.md +265 -0
  136. package/skills/grill-me/SKILL.md +24 -0
  137. package/skills/grill-with-docs/SKILL.md +92 -0
  138. package/skills/grill-with-docs/adr-format.md +47 -0
  139. package/skills/grill-with-docs/context-format.md +67 -0
  140. package/skills/improve-codebase-architecture/SKILL.md +75 -0
  141. package/skills/improve-codebase-architecture/deepening.md +37 -0
  142. package/skills/improve-codebase-architecture/interface-design.md +44 -0
  143. package/skills/improve-codebase-architecture/language.md +53 -0
  144. package/skills/local-ghl-setup-from-screenshot/SKILL.md +538 -0
  145. package/skills/tdd/SKILL.md +115 -0
  146. package/skills/tdd/deep-modules.md +33 -0
  147. package/skills/tdd/interface-design.md +31 -0
  148. package/skills/tdd/mocking.md +59 -0
  149. package/skills/tdd/refactoring.md +10 -0
  150. package/skills/tdd/tests.md +61 -0
  151. package/skills/to-issues/SKILL.md +62 -0
  152. package/skills/to-prd/SKILL.md +75 -0
  153. package/skills/using-aw-skills/SKILL.md +170 -237
  154. package/skills/using-aw-skills/hooks/session-start.sh +11 -41
  155. package/skills/zoom-out/SKILL.md +24 -0
  156. package/.codex/hooks/aw-post-tool-use.sh +0 -6
  157. package/.codex/hooks/aw-pre-tool-use.sh +0 -6
  158. package/.codex/hooks/aw-session-start.sh +0 -25
  159. package/.codex/hooks/aw-stop.sh +0 -6
  160. package/.codex/hooks/aw-user-prompt-submit.sh +0 -10
  161. package/.codex/hooks.json +0 -62
  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
@@ -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`
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: aw:publish
3
+ description: "Publish locally created/modified CASRE artifacts to the remote platform-docs registry via PR. Intent-based — triggers on 'push', 'publish', 'sync to registry', 'send upstream'. Always confirms before pushing."
4
+ argument-hint: "[path] [--dry-run] — e.g., '.aw_registry/platform/data/', '--dry-run', 'rules'"
5
+ status: active
6
+ stage: deploy
7
+ internal_skill: aw-publish
8
+ ---
9
+
10
+ # Publish — Registry Push
11
+
12
+ Push local registry artifacts to the remote platform-docs registry via PR.
13
+
14
+ ## Usage
15
+
16
+ ```
17
+ /aw:publish → auto-detect all changes, dry-run first
18
+ /aw:publish .aw_registry/platform/data/ → push changes in a namespace
19
+ /aw:publish .aw_registry/platform/data/agents/my-agent.md → push one file
20
+ /aw:publish --dry-run → preview only, no push
21
+ /aw:publish rules → push platform rules (.aw_rules/)
22
+ ```
23
+
24
+ ## Natural Language (no command needed)
25
+
26
+ You don't need to type `/aw:publish` — the LLM detects intent automatically when the context is about **registry artifacts** (.aw_registry/ or .aw_rules/):
27
+
28
+ - "push this agent to the registry"
29
+ - "publish my registry changes"
30
+ - "sync platform/data to platform-docs"
31
+ - "I'm done testing this skill, publish it"
32
+ - "what would get pushed to the registry?"
33
+ - "push the rules"
34
+
35
+ **Note:** Regular git push, code PRs, and deploys do NOT trigger this skill.
36
+
37
+ ## Arguments
38
+
39
+ | Argument | Values | Default |
40
+ |---|---|---|
41
+ | path | `.aw_registry/...` path, namespace folder, or `rules` | auto-detect all changes |
42
+ | `--dry-run` | flag | off (but skill always does dry-run first as confirmation) |
43
+ | `--repo` | override target repository | `GoHighLevel/platform-docs` |
44
+
45
+ ## Execution
46
+
47
+ **Step 1: Read the skill file.** Open and read `skills/aw-publish/SKILL.md` before doing anything else.
48
+
49
+ **Step 2: Follow the confirmation gate.** Every publish must:
50
+ 1. Run `aw push --dry-run` to preview changes
51
+ 2. Show the user what will be pushed
52
+ 3. Ask "Do you want to publish?"
53
+ 4. Only push after explicit user confirmation
54
+
55
+ **Step 3: Choose the right command.**
56
+ - Registry artifacts (agents, skills, commands, evals, references) → `aw push`
57
+ - Platform rules (.aw_rules/) → `aw push-rules`
58
+ - Never combine both in one action
59
+
60
+ ## When No Arguments
61
+
62
+ If invoked without arguments:
63
+ 1. Run `aw push --dry-run` to see all pending changes
64
+ 2. If rules changes detected, mention them and suggest `aw push-rules` separately
65
+ 3. Show the full list and ask for confirmation
@@ -28,8 +28,18 @@ This stage may request or rerun targeted tests when existing evidence is stale,
28
28
 
29
29
  - `.aw_docs/features/<feature_slug>/verification.md`
30
30
  - updated `.aw_docs/features/<feature_slug>/state.json`
31
+ - `.aw_docs/features/<feature_slug>/verification.html` when docs output mode is `dual` or `html`
31
32
  - explicit overall status: `PASS`, `PASS_WITH_NOTES`, or `FAIL`
32
33
 
34
+ ## Human HTML Companion
35
+
36
+ Markdown `verification.md` remains canonical for agents.
37
+ When `/aw:review` writes or materially updates findings, governance, or readiness evidence, delegate to the `aw:echo` subagent with the `pr-one-pager` profile. Markdown-only is allowed only when the user explicitly requests it for this run.
38
+ Subagent authorization: invoking `/aw:review` 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
  ## Review Rules
34
44
 
35
45
  1. Review tests and validation evidence first.
@@ -39,6 +49,7 @@ This stage may request or rerun targeted tests when existing evidence is stale,
39
49
  5. Continue until the requested findings, governance, and readiness scope is covered or explicitly blocked.
40
50
  6. Route back to `/aw:build` when repair is needed.
41
51
  7. Do not clear findings on stale evidence.
52
+ 8. Generate or explicitly record the HTML companion status before handoff.
42
53
 
43
54
  ## Must Not Do
44
55
 
@@ -61,4 +72,5 @@ Always end with:
61
72
  - `Governance`
62
73
  - `Readiness`
63
74
  - `Outcome`
75
+ - `HTML Companion`
64
76
  - `Next`
package/commands/ship.md CHANGED
@@ -34,8 +34,18 @@ Confirm the release is ready to launch, roll it out safely, document rollback re
34
34
 
35
35
  - `.aw_docs/features/<feature_slug>/release.md`
36
36
  - updated `.aw_docs/features/<feature_slug>/state.json`
37
+ - `.aw_docs/features/<feature_slug>/release.html` when docs output mode is `dual` or `html`
37
38
  - launch recommendation, rollout checkpoints, rollback path, and closeout notes
38
39
 
40
+ ## Human HTML Companion
41
+
42
+ Markdown `release.md` remains canonical for agents.
43
+ When `/aw:ship` writes or materially updates launch, rollout, rollback, or closeout 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.
44
+ Subagent authorization: invoking `/aw:ship` 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.
45
+ 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.
46
+
47
+ 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.
48
+
39
49
  ## Shipping Rules
40
50
 
41
51
  1. Treat rollout safety as its own stage.
@@ -45,6 +55,7 @@ Confirm the release is ready to launch, roll it out safely, document rollback re
45
55
  5. Capture post-deploy evidence, monitoring links, and known risks.
46
56
  6. For frontend releases, include versioned entry, smoke, and accessibility or design-signoff notes when relevant.
47
57
  7. Do not use `ship` as a synonym for composite orchestration.
58
+ 8. Generate or explicitly record the HTML companion status before handoff.
48
59
 
49
60
  ## Internal Phase Routing
50
61
 
@@ -74,4 +85,5 @@ Always end with:
74
85
  - `Rollback Path`
75
86
  - `Evidence`
76
87
  - `Outcome`
88
+ - `HTML Companion`
77
89
  - `Next`
package/commands/test.md CHANGED
@@ -28,8 +28,18 @@ Run the smallest correct QA scope for the requested feature, fix, or release and
28
28
 
29
29
  - `.aw_docs/features/<feature_slug>/verification.md`
30
30
  - updated `.aw_docs/features/<feature_slug>/state.json`
31
+ - `.aw_docs/features/<feature_slug>/verification.html` when docs output mode is `dual` or `html`
31
32
  - fresh evidence for local validation, E2E, external validation, or targeted runtime checks
32
33
 
34
+ ## Human HTML Companion
35
+
36
+ Markdown `verification.md` remains canonical for agents.
37
+ When `/aw:test` writes or materially updates QA evidence, delegate to the `aw:echo` subagent with the `verification-report` profile. Markdown-only is allowed only when the user explicitly requests it for this run.
38
+ Subagent authorization: invoking `/aw:test` 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
  ## QA Rules
34
44
 
35
45
  1. Select the smallest correct test scope, not the loudest available suite.
@@ -39,6 +49,7 @@ Run the smallest correct QA scope for the requested feature, fix, or release and
39
49
  5. Continue until the requested QA scope is covered or explicitly blocked.
40
50
  6. Mark unavailable checks as unavailable instead of inventing a pass.
41
51
  7. Hand off to `/aw:review` when findings, governance, or readiness still need a decision.
52
+ 8. Generate or explicitly record the HTML companion status before handoff.
42
53
 
43
54
  ## Must Not Do
44
55
 
@@ -61,4 +72,5 @@ Always end with:
61
72
  - `Evidence`
62
73
  - `Failures`
63
74
  - `Unavailable`
75
+ - `HTML Companion`
64
76
  - `Next`