aw-ecc 1.4.21 → 1.4.25

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 (83) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex/hooks/aw-post-tool-use.sh +1 -0
  3. package/.codex/hooks/aw-pre-tool-use.sh +1 -0
  4. package/.codex/hooks/aw-session-start.sh +4 -0
  5. package/.codex/hooks/aw-stop.sh +1 -0
  6. package/.codex/hooks/aw-user-prompt-submit.sh +1 -0
  7. package/.cursor/INSTALL.md +9 -0
  8. package/.cursor/hooks/adapter.js +34 -3
  9. package/.cursor/hooks/aw-phase-definitions.js +11 -0
  10. package/.cursor/hooks/before-submit-prompt.js +1 -1
  11. package/.cursor/hooks/before-submit-prompt.sh +17 -0
  12. package/.cursor/hooks/session-start.sh +36 -0
  13. package/.cursor/hooks/shared/aw-phase-definitions.js +1 -19
  14. package/.cursor/hooks/shared/aw-phase-runner.js +38 -2
  15. package/.cursor/hooks/shared/session-start.sh +4 -0
  16. package/.cursor/hooks/shared/user-prompt-submit.sh +33 -140
  17. package/.cursor/hooks.json +15 -15
  18. package/.cursor/rules/common-aw-routing.md +43 -0
  19. package/.cursor/skills/api-and-interface-design/SKILL.md +75 -0
  20. package/.cursor/skills/aw-brainstorm/SKILL.md +115 -0
  21. package/.cursor/skills/aw-build/SKILL.md +152 -0
  22. package/.cursor/skills/aw-build/evals/build-stage-cases.json +28 -0
  23. package/.cursor/skills/aw-debug/SKILL.md +49 -0
  24. package/.cursor/skills/aw-deploy/SKILL.md +101 -0
  25. package/.cursor/skills/aw-deploy/evals/deploy-stage-cases.json +32 -0
  26. package/.cursor/skills/aw-execute/SKILL.md +47 -0
  27. package/.cursor/skills/aw-execute/references/mode-code.md +47 -0
  28. package/.cursor/skills/aw-execute/references/mode-docs.md +28 -0
  29. package/.cursor/skills/aw-execute/references/mode-infra.md +44 -0
  30. package/.cursor/skills/aw-execute/references/mode-migration.md +58 -0
  31. package/.cursor/skills/aw-execute/references/worker-implementer.md +26 -0
  32. package/.cursor/skills/aw-execute/references/worker-parallel-worker.md +23 -0
  33. package/.cursor/skills/aw-execute/references/worker-quality-reviewer.md +23 -0
  34. package/.cursor/skills/aw-execute/references/worker-spec-reviewer.md +23 -0
  35. package/.cursor/skills/aw-execute/scripts/build-worker-bundle.js +229 -0
  36. package/.cursor/skills/aw-finish/SKILL.md +111 -0
  37. package/.cursor/skills/aw-investigate/SKILL.md +109 -0
  38. package/.cursor/skills/aw-plan/SKILL.md +368 -0
  39. package/.cursor/skills/aw-prepare/SKILL.md +118 -0
  40. package/.cursor/skills/aw-review/SKILL.md +118 -0
  41. package/.cursor/skills/aw-ship/SKILL.md +115 -0
  42. package/.cursor/skills/aw-spec/SKILL.md +104 -0
  43. package/.cursor/skills/aw-tasks/SKILL.md +138 -0
  44. package/.cursor/skills/aw-test/SKILL.md +118 -0
  45. package/.cursor/skills/aw-verify/SKILL.md +51 -0
  46. package/.cursor/skills/aw-yolo/SKILL.md +111 -0
  47. package/.cursor/skills/browser-testing-with-devtools/SKILL.md +81 -0
  48. package/.cursor/skills/ci-cd-and-automation/SKILL.md +71 -0
  49. package/.cursor/skills/code-simplification/SKILL.md +74 -0
  50. package/.cursor/skills/context-engineering/SKILL.md +74 -0
  51. package/.cursor/skills/deprecation-and-migration/SKILL.md +75 -0
  52. package/.cursor/skills/documentation-and-adrs/SKILL.md +75 -0
  53. package/.cursor/skills/frontend-ui-engineering/SKILL.md +68 -0
  54. package/.cursor/skills/git-workflow-and-versioning/SKILL.md +75 -0
  55. package/.cursor/skills/idea-refine/SKILL.md +84 -0
  56. package/.cursor/skills/incremental-implementation/SKILL.md +75 -0
  57. package/.cursor/skills/performance-optimization/SKILL.md +77 -0
  58. package/.cursor/skills/security-and-hardening/SKILL.md +70 -0
  59. package/.cursor/skills/using-aw-skills/SKILL.md +290 -0
  60. package/.cursor/skills/using-aw-skills/evals/skill-trigger-cases.tsv +25 -0
  61. package/.cursor/skills/using-aw-skills/evals/test-skill-triggers.sh +171 -0
  62. package/.cursor/skills/using-aw-skills/hooks/hooks.json +9 -0
  63. package/.cursor/skills/using-aw-skills/hooks/session-start.sh +67 -0
  64. package/.cursor/skills/using-platform-skills/SKILL.md +163 -0
  65. package/.cursor/skills/using-platform-skills/evals/platform-selection-cases.json +52 -0
  66. package/.opencode/package.json +1 -1
  67. package/package.json +3 -1
  68. package/scripts/cursor-aw-home/hooks.json +15 -15
  69. package/scripts/cursor-aw-hooks/adapter.js +34 -3
  70. package/scripts/cursor-aw-hooks/aw-phase-definitions.js +11 -0
  71. package/scripts/cursor-aw-hooks/before-submit-prompt.js +1 -1
  72. package/scripts/cursor-aw-hooks/before-submit-prompt.sh +17 -0
  73. package/scripts/cursor-aw-hooks/session-start.sh +36 -0
  74. package/scripts/hooks/session-start-rules-context.sh +8 -1
  75. package/scripts/hooks/shared/aw-phase-definitions.js +1 -19
  76. package/scripts/hooks/shared/aw-phase-runner.js +38 -2
  77. package/scripts/hooks/shared/session-start.sh +4 -0
  78. package/scripts/hooks/shared/user-prompt-submit.sh +33 -140
  79. package/scripts/lib/cursor-aw-hook-files.js +2 -0
  80. package/scripts/lib/cursor-hook-config.js +47 -15
  81. package/scripts/lib/install-executor.js +7 -0
  82. package/scripts/lib/install-targets/cursor-project.js +7 -0
  83. package/skills/using-aw-skills/hooks/session-start.sh +4 -0
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: git-workflow-and-versioning
3
+ description: Keeps work reviewable, reversible, and well-scoped. Use for any code change that needs branches, save points, commit hygiene, or parallel work isolation.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Git Workflow and Versioning
8
+
9
+ ## Overview
10
+
11
+ Git is the safety system for fast-moving engineering work.
12
+ Treat branches as sandboxes, commits as save points, and history as operational documentation for humans, reviewers, and future agents.
13
+
14
+ ## When to Use
15
+
16
+ - making any code, config, docs, or migration change
17
+ - deciding branch or worktree strategy
18
+ - choosing commit boundaries
19
+ - preparing changes for review or rollback
20
+ - organizing parallel agent or multi-slice work
21
+
22
+ **When NOT to use**
23
+
24
+ - only when no repository-backed change is being made at all
25
+
26
+ ## Workflow
27
+
28
+ 1. Start from the smallest isolated workspace that fits the change.
29
+ Prefer short-lived feature branches.
30
+ For parallel work or risky experiments, use worktrees instead of branch thrash.
31
+ 2. Size the work before committing.
32
+ Break the change into logical slices that can be explained, reviewed, and reverted independently.
33
+ Use `../../references/git-save-points.md` when save-point discipline matters.
34
+ 3. Commit each successful increment.
35
+ The pattern is:
36
+ implement slice -> verify slice -> commit slice.
37
+ Do not wait for one giant final commit.
38
+ 4. Keep concerns separate.
39
+ Avoid mixing formatting, refactors, dependency churn, and feature behavior in the same commit unless they are inseparable.
40
+ Reviewable history is part of engineering quality.
41
+ 5. Run pre-commit hygiene.
42
+ Check the staged diff, run the smallest relevant validation, and verify secrets or generated junk are not being committed.
43
+ 6. Leave a scope map for the next human or agent.
44
+ Name:
45
+ - what changed
46
+ - what did not change
47
+ - what still needs follow-up
48
+ In AW flows, keep this aligned with the stage artifacts and change summaries.
49
+
50
+ ## Common Rationalizations
51
+
52
+ | Rationalization | Reality |
53
+ |---|---|
54
+ | "I'll clean up the history later." | Messy history is harder to split and explain after the fact. |
55
+ | "One big commit is faster." | Giant commits are slower to review, debug, and revert. |
56
+ | "This cleanup can ride along with the feature." | Mixed concerns make scope, blame, and rollback harder. |
57
+ | "I don't need an isolated branch for a small change." | Isolation is cheap; accidental overlap is expensive. |
58
+
59
+ ## Red Flags
60
+
61
+ - one commit mixes unrelated concerns
62
+ - the diff is too large to explain in one sentence
63
+ - no save point exists between meaningful slices
64
+ - generated output, secrets, or local-only noise are staged
65
+ - branch or worktree discipline is vague during multi-agent work
66
+
67
+ ## Verification
68
+
69
+ After using git workflow discipline, confirm:
70
+
71
+ - [ ] the work is isolated in the right branch or worktree
72
+ - [ ] commit boundaries match real progress
73
+ - [ ] staged content excludes secrets and unrelated noise
74
+ - [ ] the history is reviewable and reversible
75
+ - [ ] the change summary makes scope boundaries explicit
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: idea-refine
3
+ description: Refines raw ideas into sharper, build-worthy directions. Use when a request starts as an idea, concept, or vague opportunity rather than an implementation-ready plan.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Idea Refine
8
+
9
+ ## Overview
10
+
11
+ Refine ideas before turning them into specs.
12
+ This skill takes a raw concept, pressure-tests it, and turns it into a concrete direction with explicit assumptions, MVP scope, and a clear "not doing" list.
13
+
14
+ ## When to Use
15
+
16
+ - the user has a raw product, feature, or workflow idea
17
+ - the request is still more concept than plan
18
+ - multiple possible directions exist and the tradeoffs are not obvious
19
+ - the team needs a sharper problem statement before `aw-plan`
20
+
21
+ **When NOT to use**
22
+
23
+ - the technical direction is already approved and the work is ready for `aw-plan`
24
+ - the task is really implementation, testing, or review rather than idea shaping
25
+
26
+ ## Workflow
27
+
28
+ 1. Restate the idea as a sharp problem.
29
+ Convert the raw concept into a crisp problem statement or "How Might We" framing.
30
+ The goal is to name who the work is for and what better outcome it creates.
31
+ 2. Ask only the questions that change the direction.
32
+ Focus on:
33
+ - target user or operator
34
+ - success criteria
35
+ - real constraints
36
+ - timing or urgency
37
+ - what has already been tried
38
+ 3. Generate a small set of meaningful directions.
39
+ Explore 3-5 distinct options instead of polishing the first instinct.
40
+ Use lenses like simplification, inversion, audience shift, or "what would make this 10x more valuable?"
41
+ 4. Converge with pressure, not vibes.
42
+ Compare directions on:
43
+ - user value
44
+ - feasibility
45
+ - org fit and platform constraints
46
+ - differentiation
47
+ - rollout or maintenance risk
48
+ 5. Surface the bet explicitly.
49
+ Name:
50
+ - key assumptions
51
+ - what could kill the idea
52
+ - MVP scope
53
+ - what we are intentionally not doing
54
+ 6. Produce a one-pager that can move into planning.
55
+ The output should be easy to hand to `aw-plan` or `aw-brainstorm` without redoing the ideation.
56
+ In AW repos, keep this outcome inside planning artifacts or `state.json` instead of inventing a second artifact system.
57
+
58
+ ## Common Rationalizations
59
+
60
+ | Rationalization | Reality |
61
+ |---|---|
62
+ | "We already know what to build." | If the problem statement and user are fuzzy, the plan will be fuzzy too. |
63
+ | "More ideas is always better." | A few meaningful directions beat a long list of shallow variants. |
64
+ | "We'll decide scope once we start building." | Scope discovered too late becomes rework and churn. |
65
+ | "Not doing lists are negative." | Explicitly saying no is what makes a direction buildable. |
66
+
67
+ ## Red Flags
68
+
69
+ - the output jumps to implementation without clarifying user value
70
+ - only one direction is considered when real alternatives exist
71
+ - no assumptions or risks are surfaced
72
+ - the final direction has no MVP boundary or "not doing" list
73
+ - ideation silently turns into coding or detailed task planning
74
+
75
+ ## Verification
76
+
77
+ After refining an idea, confirm:
78
+
79
+ - [ ] the problem statement is explicit
80
+ - [ ] the target user or operator and success criteria are named
81
+ - [ ] multiple viable directions were considered
82
+ - [ ] key assumptions and failure risks are visible
83
+ - [ ] MVP scope and "not doing" boundaries are clear
84
+ - [ ] the output is ready to feed `aw-plan` without restarting discovery
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: incremental-implementation
3
+ description: Delivers multi-file work in thin, reversible slices. Use when a change spans more than one file, when a task feels too large to land safely in one pass, or when rollback clarity matters.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Incremental Implementation
8
+
9
+ ## Overview
10
+
11
+ Build in thin vertical slices.
12
+ Each slice should leave the system in a working, testable, reviewable state before the next one begins, but a passing slice is only a checkpoint until the approved build scope is complete.
13
+
14
+ ## When to Use
15
+
16
+ - a change touches more than one file
17
+ - a feature is large enough to tempt one big patch
18
+ - a migration, UI change, or rollout-sensitive task needs safe checkpoints
19
+ - you want commit boundaries that reflect real progress
20
+
21
+ **When NOT to use**
22
+
23
+ - the work is already truly minimal and single-scope
24
+ - the next step is still unclear and needs planning or investigation first
25
+
26
+ ## Workflow
27
+
28
+ 1. Select the next smallest slice.
29
+ Start from approved scope.
30
+ Choose one user-visible behavior, one boundary change, or one safe infrastructure increment.
31
+ 2. Define the proof for that slice.
32
+ Name the failing signal, acceptance check, or runtime evidence that will prove the slice is real.
33
+ 3. Implement only that slice.
34
+ Avoid adjacent cleanup and hidden follow-on work.
35
+ Use `../../references/build-increments.md` when sizing or rollback shape is fuzzy.
36
+ 4. Verify immediately.
37
+ Run the smallest relevant check:
38
+ - targeted test
39
+ - build or typecheck
40
+ - runtime/browser proof
41
+ - migration validation
42
+ 5. Save the progress cleanly.
43
+ Use `../../references/git-save-points.md` when the work benefits from explicit commit discipline.
44
+ A good save point is small, passing, and easy to explain.
45
+ 6. Decide whether to continue or hand off.
46
+ If more approved build slices remain, continue with the next slice.
47
+ If the approved build scope is complete and the next unsatisfied need is QA, review, or release work, stop and hand off.
48
+ Do not keep building just because speculative cleanup or unrelated improvements are possible.
49
+
50
+ ## Common Rationalizations
51
+
52
+ | Rationalization | Reality |
53
+ |---|---|
54
+ | "I'll do the whole feature first, then test it." | Large unverified batches hide regressions and make rollback harder. |
55
+ | "This extra cleanup is basically free." | Scope creep weakens slice boundaries and review quality. |
56
+ | "I don't need a save point yet." | Save points matter most before the diff becomes hard to reason about. |
57
+ | "The slice is too small to be worth validating." | Small slices are exactly what make validation cheap and reliable. |
58
+
59
+ ## Red Flags
60
+
61
+ - one slice changes multiple unrelated behaviors
62
+ - one passing slice is treated as the end of build even though approved build slices remain
63
+ - rollback is unclear after the latest patch
64
+ - tests are deferred instead of attached to the slice
65
+ - commit/save-point boundaries no longer match meaningful progress
66
+
67
+ ## Verification
68
+
69
+ After each increment, confirm:
70
+
71
+ - [ ] the slice has one clear purpose
72
+ - [ ] the slice has current proof, not assumed proof
73
+ - [ ] the diff is still reversible and reviewable
74
+ - [ ] the next slice is either the next approved build step or an explicit handoff boundary
75
+ - [ ] save points reflect meaningful progress
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: performance-optimization
3
+ description: Optimizes performance with a measure-first workflow. Use when performance requirements exist, when regressions are suspected, or when user-visible speed and efficiency matter.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Performance Optimization
8
+
9
+ ## Overview
10
+
11
+ Measure first, optimize second.
12
+ Performance work should improve a real bottleneck, not just produce clever code.
13
+
14
+ ## When to Use
15
+
16
+ - a feature has explicit performance budgets or SLAs
17
+ - users or monitoring report slow behavior
18
+ - Core Web Vitals or endpoint timings are regressing
19
+ - large datasets, hot paths, or expensive rendering are involved
20
+ - review identifies likely performance risk that needs proof
21
+
22
+ **When NOT to use**
23
+
24
+ - there is no measurement and no evidence of a problem
25
+ - the "optimization" is really a speculative rewrite
26
+
27
+ ## Workflow
28
+
29
+ 1. Choose the performance goal.
30
+ Name the metric that matters:
31
+ - browser responsiveness
32
+ - Core Web Vitals
33
+ - API latency
34
+ - query efficiency
35
+ - throughput or batch time
36
+ 2. Establish a baseline.
37
+ Use `../../references/performance-checklist.md`.
38
+ Capture the current measurement before touching code.
39
+ 3. Localize the bottleneck.
40
+ Identify whether the cost is in:
41
+ - network
42
+ - rendering
43
+ - computation
44
+ - data access
45
+ - bundle or startup cost
46
+ 4. Apply the smallest meaningful fix.
47
+ Optimize the proven bottleneck, not the whole subsystem.
48
+ 5. Measure again.
49
+ Confirm the change improved the chosen metric and did not create a regression elsewhere.
50
+ 6. Guard the gain.
51
+ Add follow-up monitoring, benchmark expectations, or review notes so the regression is less likely to return.
52
+
53
+ ## Common Rationalizations
54
+
55
+ | Rationalization | Reality |
56
+ |---|---|
57
+ | "This looks slow, so I'll optimize it now." | Visual intuition is not measurement. |
58
+ | "I'll rewrite it for performance just in case." | Premature optimization adds complexity and often misses the real bottleneck. |
59
+ | "A micro-optimization is better than no optimization." | Small cleverness is noise if the dominant cost lives elsewhere. |
60
+ | "The benchmark is enough; user experience will follow." | Good optimization improves the metric that matters to the user or operator, not just the easiest one to measure. |
61
+
62
+ ## Red Flags
63
+
64
+ - no baseline exists before code changes
65
+ - the optimization changes multiple subsystems at once
66
+ - claimed improvements are not measured after the fix
67
+ - the new code is much harder to maintain for marginal gain
68
+
69
+ ## Verification
70
+
71
+ After optimizing, confirm:
72
+
73
+ - [ ] the target metric was explicit
74
+ - [ ] a before/after measurement exists
75
+ - [ ] the fix targeted the actual bottleneck
76
+ - [ ] no obvious regression was introduced elsewhere
77
+ - [ ] the performance gain is documented in a form reviewers can verify
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: security-and-hardening
3
+ description: Hardens code and system boundaries against misuse. Use when working with authentication, user input, secrets, external integrations, sensitive data, or any new trust boundary.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Security And Hardening
8
+
9
+ ## Overview
10
+
11
+ Security is boundary work.
12
+ This skill makes the agent classify trust boundaries, harden them deliberately, and prove the risky paths were reviewed rather than assumed safe.
13
+
14
+ ## When to Use
15
+
16
+ - adding or changing authentication or authorization
17
+ - handling user input, uploads, webhooks, or external API traffic
18
+ - working with secrets, tokens, session state, or encryption
19
+ - storing or transmitting sensitive or regulated data
20
+ - introducing a new integration, endpoint, or background execution path
21
+
22
+ **When NOT to use**
23
+
24
+ - purely local changes with no user, network, secret, or boundary impact
25
+
26
+ ## Workflow
27
+
28
+ 1. Classify the boundaries first.
29
+ Identify:
30
+ - external input boundaries
31
+ - authz and identity boundaries
32
+ - data storage boundaries
33
+ - outbound trust boundaries
34
+ 2. Harden the entry points.
35
+ Validate input, apply authn/authz, enforce tenant or ownership scoping, and reject malformed or over-broad requests early.
36
+ 3. Protect secrets and configuration.
37
+ Use `../../references/security-checklist.md`.
38
+ Secrets must stay out of source, logs, screenshots, and error payloads.
39
+ 4. Reduce abuse and blast radius.
40
+ Add rate limits, safe defaults, least privilege, error handling, and logging that helps operators without leaking sensitive data.
41
+ 5. Review dependencies and operational posture.
42
+ Check whether packages, headers, storage settings, or integration modes introduce known risk.
43
+ 6. Prove the risky path was considered.
44
+ Name what was hardened, what remains risky, and what follow-up work is still required.
45
+
46
+ ## Common Rationalizations
47
+
48
+ | Rationalization | Reality |
49
+ |---|---|
50
+ | "It's internal, so the security bar is lower." | Internal paths still become attack surfaces and privilege boundaries. |
51
+ | "The framework handles that automatically." | Framework defaults help, but boundary ownership still belongs to the implementation. |
52
+ | "We'll secure it after the happy path works." | Security debt compounds quickly once an interface is already in use. |
53
+ | "Nobody will hit that edge case." | Attackers and accidental misuse both live in edge cases. |
54
+
55
+ ## Red Flags
56
+
57
+ - trust boundaries are unclear or unnamed
58
+ - secrets appear in code, logs, or test fixtures
59
+ - auth exists without authorization checks
60
+ - outbound integrations accept overly broad input or destination control
61
+
62
+ ## Verification
63
+
64
+ After hardening, confirm:
65
+
66
+ - [ ] the relevant trust boundaries are explicit
67
+ - [ ] input, auth, and secret handling were reviewed deliberately
68
+ - [ ] abusive or malformed requests fail safely
69
+ - [ ] logs and errors avoid leaking sensitive data
70
+ - [ ] remaining security risks or follow-ups are documented
@@ -0,0 +1,290 @@
1
+ ---
2
+ name: using-aw-skills
3
+ description: Session-start skill-first routing for the AW SDLC surface. Select the smallest correct AW skill stack before any substantive response, then load deeper stage, domain, and org-standard detail on demand.
4
+ trigger: Every session start. Loaded automatically via session-start hook.
5
+ ---
6
+
7
+ # Using AW Skills
8
+
9
+ ## Overview
10
+
11
+ This skill is the thin router for the AW SDLC surface.
12
+ Its job is to:
13
+
14
+ - choose the smallest correct public route
15
+ - choose the smallest correct AW skill stack
16
+ - stop generic commentary until the stage is clear
17
+ - load deeper references only when they materially change the decision
18
+
19
+ Keep this file small.
20
+ Stage behavior belongs in stage skills.
21
+ Long examples, checklists, and loading guidance belong in shared references.
22
+
23
+ This means the file should optimize for one thing first:
24
+
25
+ - make the right next skill obvious
26
+
27
+ ## When to Use
28
+
29
+ - at session start
30
+ - before any substantive response
31
+ - whenever the request might map to planning, building, investigating, testing, reviewing, deploying, or shipping work
32
+ - whenever the user gives a vague request and the right stage still has to be selected
33
+
34
+ Do not skip this skill just because the work looks small.
35
+
36
+ ## Skill Discovery
37
+
38
+ When a task arrives, identify the current delivery phase and load the smallest correct route:
39
+
40
+ ```text
41
+ Task arrives
42
+
43
+ ├── Vague idea, spec, or task breakdown? ───────→ /aw:plan
44
+ ├── Approved change to implement? ──────────────→ /aw:build
45
+ ├── Bug, alert, or unclear runtime failure? ────→ /aw:investigate
46
+ ├── Need QA proof or regression evidence? ──────→ /aw:test
47
+ ├── Need findings or readiness decision? ───────→ /aw:review
48
+ ├── Need one concrete release action? ──────────→ /aw:deploy
49
+ ├── Need launch or rollout closeout? ───────────→ /aw:ship
50
+ └── Need one-run end-to-end automation? ───────→ aw-yolo
51
+ ```
52
+
53
+ Then load the supporting craft and domain skills that sharpen that route.
54
+ If the work is in a real GHL domain, load `using-platform-skills` next.
55
+
56
+ ## Public Surface
57
+
58
+ The public surface stays intentionally small.
59
+ The canonical routes are the stages shown in the discovery flow above:
60
+
61
+ - `/aw:plan`, `/aw:build`, `/aw:test`, `/aw:review`, `/aw:deploy`, `/aw:ship`
62
+ - `/aw:investigate`
63
+
64
+ Default delivery flow:
65
+
66
+ - `/aw:plan` -> `/aw:build` -> `/aw:test` -> `/aw:review` -> `/aw:deploy` -> `/aw:ship`
67
+
68
+ Conditional route:
69
+
70
+ - `/aw:investigate`
71
+
72
+ `/aw:investigate` is a first-class route for bugs, alerts, regressions, and unclear root cause.
73
+ It should not be treated as a mandatory phase in every request.
74
+
75
+ Compatibility entrypoints remain available during migration:
76
+
77
+ - `/aw:execute` -> `/aw:build`
78
+ - `/aw:verify` -> `/aw:test`, `/aw:review`, or the smallest correct combined verification flow
79
+
80
+ There is also one explicit internal power workflow:
81
+
82
+ - `aw-yolo`
83
+
84
+ `aw-yolo` is for clearly end-to-end requests where the user wants one-run automation.
85
+ It should not become the default route for normal stage-specific work.
86
+ When it is selected, begin at the first unsatisfied stage rather than restarting the lifecycle from the top.
87
+
88
+ ## Core Operating Behaviors
89
+
90
+ These behaviors apply across every route.
91
+
92
+ ### 1. Surface Assumptions
93
+
94
+ Name assumptions that materially change scope, architecture, rollout, or verification.
95
+ If an assumption could change the selected route, say it early.
96
+
97
+ ### 2. Manage Confusion Actively
98
+
99
+ If the request, spec, code, or baseline disagree:
100
+
101
+ 1. stop
102
+ 2. name the contradiction
103
+ 3. state the tradeoff or blocking question
104
+ 4. do not guess through it
105
+
106
+ ### 3. Push Back With Concrete Tradeoffs
107
+
108
+ If an approach creates obvious risk, complexity, or rollout danger:
109
+
110
+ - say so directly
111
+ - name the downside
112
+ - propose the smallest safer alternative
113
+
114
+ ### 4. Enforce Simplicity
115
+
116
+ Prefer the smallest route and the smallest supporting skill stack.
117
+ Do not turn a single-stage task into a hidden multi-stage workflow.
118
+
119
+ ### 5. Maintain Scope Discipline
120
+
121
+ Touch only the stage and supporting context required for the current request.
122
+ Do not reopen planning, implementation, or release work without a reason.
123
+
124
+ ### 6. Verify, Don't Assume
125
+
126
+ Every route must eventually produce evidence, not just confidence.
127
+ Proof belongs in the right stage artifact, not only in narration.
128
+
129
+ ## Always-On Activation
130
+
131
+ Before any substantive response, this router must select the smallest correct AW skill stack and matching public route.
132
+
133
+ - explicit user command -> honor that command and load the mapped AW stage skill first
134
+ - clear process need -> load the needed internal process skill first
135
+ - otherwise choose the smallest correct AW primary stage skill and matching public route by intent
136
+ - only after the required AW skills are selected, load deeper domain skills or ask clarifying questions
137
+
138
+ Do not start with generic implementation, review, or deploy advice before skill selection.
139
+ Do not leave the active skill stack or matching route implicit for non-trivial work.
140
+
141
+ ## The Rule
142
+
143
+ If there is even a small chance that an AW process skill, stage skill, or required domain skill applies, load it before responding.
144
+
145
+ Questions count.
146
+ Clarifying questions count.
147
+ Quick exploration counts.
148
+
149
+ The AW public command is the user-facing projection of the selected primary stage skill.
150
+
151
+ ## Skill Priority
152
+
153
+ When multiple AW skills could apply, use this order:
154
+
155
+ 1. process skills first:
156
+ - `aw-brainstorm`
157
+ - `aw-debug`
158
+ - `aw-prepare`
159
+ - `aw-yolo`
160
+ 2. primary stage skills second:
161
+ - `aw-plan`
162
+ - `aw-build`
163
+ - `aw-investigate`
164
+ - `aw-test`
165
+ - `aw-review`
166
+ - `aw-deploy`
167
+ - `aw-ship`
168
+ 3. domain and cross-cutting skills third
169
+
170
+ The selected public route should reflect the primary stage skill, not hide it.
171
+
172
+ ## Route Selection
173
+
174
+ Use one primary route unless the user explicitly asks for end-to-end orchestration.
175
+
176
+ For route examples, explicit routing priority, and scope guardrails, see [`../../references/route-selection-patterns.md`](../../references/route-selection-patterns.md).
177
+
178
+ ## Failure Modes to Avoid
179
+
180
+ These patterns look productive, but they create routing drift:
181
+
182
+ 1. answering quickly before selecting a route
183
+ 2. treating exploration as exempt from routing
184
+ 3. choosing `/aw:investigate` for every bug, even when the fix is already known
185
+ 4. treating `aw-yolo` as the default because it feels convenient
186
+ 5. reopening planning during `build` without a real blocker
187
+ 6. silently implementing during `test` or `review`
188
+ 7. loading every domain skill "just in case"
189
+ 8. giving a confident answer without evidence or stage artifacts
190
+
191
+ ## Cross-Cutting Engineering Skills
192
+
193
+ After the primary stage is selected, load the portable craft skill that best sharpens the work:
194
+
195
+ - `idea-refine`
196
+ - `context-engineering`
197
+ - `incremental-implementation`
198
+ - `frontend-ui-engineering`
199
+ - `api-and-interface-design`
200
+ - `browser-testing-with-devtools`
201
+ - `code-simplification`
202
+ - `security-and-hardening`
203
+ - `performance-optimization`
204
+ - `git-workflow-and-versioning`
205
+ - `ci-cd-and-automation`
206
+ - `deprecation-and-migration`
207
+ - `documentation-and-adrs`
208
+
209
+ Load them because they improve the selected stage, not because they create a new public route.
210
+ For domain families, cross-cutting guidance, and org-standard loading, see [`../../references/domain-skill-loading.md`](../../references/domain-skill-loading.md).
211
+
212
+ ## Platform Skill Loading
213
+
214
+ After the primary AW route is known, use `using-platform-skills` when GHL platform behavior materially affects the stage.
215
+
216
+ - backend and worker work -> `platform-services:*`
217
+ - frontend and design-system work -> `platform-frontend:*` plus `platform-design:*`
218
+ - data and migrations -> `platform-data:*`
219
+ - infra and deploy paths -> `platform-infra:*`
220
+ - test systems and QA governance -> `platform-sdet:*`
221
+ - review depth and readiness -> `platform-review:*`
222
+ - product context and business behavior -> `platform-product:*`
223
+
224
+ Use `using-platform-skills` to decide the first supporting platform skills for the selected stage.
225
+
226
+ ## Context Loading
227
+
228
+ Load context in the smallest order that reduces uncertainty without flooding the session.
229
+ Start with repo-local contracts and approved AW artifacts before broad code search or domain docs.
230
+
231
+ See [`../../references/context-loading-and-intake.md`](../../references/context-loading-and-intake.md).
232
+
233
+ ## Org Standards Always On
234
+
235
+ When the selected stage falls inside a resolved baseline profile, the stage must honor:
236
+
237
+ - `defaults/aw-sdlc/baseline-profiles.yml`
238
+ - relevant platform playbooks
239
+ - relevant `.aw_rules`
240
+
241
+ Frontend work should still inherit HighRise, accessibility, responsive, and review expectations.
242
+ Release work should still inherit governance, rollback, and evidence expectations.
243
+ See [`../../references/domain-skill-loading.md`](../../references/domain-skill-loading.md).
244
+
245
+ ## Skill Rules
246
+
247
+ 1. Check for an applicable AW route before starting real work.
248
+ 2. Use one primary route unless the user explicitly asks for end-to-end orchestration.
249
+ 3. Load process skills before stage skills when the process itself changes the right path.
250
+ 4. Load domain and craft skills only after the primary route is clear.
251
+ 5. Load `using-platform-skills` when a GHL platform family materially changes the work.
252
+ 6. When in doubt between diagnosis and implementation, choose `/aw:investigate` only if root cause is still unclear.
253
+ 7. When in doubt between a normal route and `aw-yolo`, prefer the normal route.
254
+
255
+ ## Typical Sequences
256
+
257
+ For a normal feature:
258
+
259
+ ```text
260
+ /aw:plan -> /aw:build -> /aw:test -> /aw:review -> /aw:deploy -> /aw:ship
261
+ ```
262
+
263
+ For a bug with unclear root cause:
264
+
265
+ ```text
266
+ /aw:investigate -> /aw:build -> /aw:test -> /aw:review
267
+ ```
268
+
269
+ For a release-ready change that only needs rollout work:
270
+
271
+ ```text
272
+ /aw:deploy -> /aw:ship
273
+ ```
274
+
275
+ For explicit one-run automation:
276
+
277
+ ```text
278
+ aw-yolo -> [smallest correct internal stage sequence]
279
+ ```
280
+
281
+ ## Verification
282
+
283
+ Before moving past routing, confirm:
284
+
285
+ - [ ] the smallest correct AW skill stack was selected first
286
+ - [ ] the public route matches the actual stage intent
287
+ - [ ] `/aw:investigate` was only chosen when diagnosis is actually required
288
+ - [ ] org-standard playbooks and `.aw_rules` are loaded when the baseline requires them
289
+ - [ ] the task is not being silently broadened into extra stages
290
+ - [ ] `aw-yolo` is used only when the user explicitly asked for end-to-end automation