@event4u/agent-config 1.19.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/.agent-src/commands/agent-handoff.md +14 -10
  2. package/.agent-src/commands/agents.md +1 -1
  3. package/.agent-src/commands/bug-fix.md +1 -1
  4. package/.agent-src/commands/bug-investigate.md +2 -2
  5. package/.agent-src/commands/chat-history/import.md +166 -0
  6. package/.agent-src/commands/chat-history/learn.md +178 -0
  7. package/.agent-src/commands/chat-history/show.md +17 -18
  8. package/.agent-src/commands/chat-history.md +26 -25
  9. package/.agent-src/commands/compress.md +12 -0
  10. package/.agent-src/commands/context/create.md +2 -2
  11. package/.agent-src/commands/context.md +1 -1
  12. package/.agent-src/commands/copilot-agents.md +1 -1
  13. package/.agent-src/commands/council/default.md +21 -12
  14. package/.agent-src/commands/council.md +1 -1
  15. package/.agent-src/commands/create-pr.md +28 -8
  16. package/.agent-src/commands/e2e-heal.md +1 -1
  17. package/.agent-src/commands/e2e-plan.md +1 -1
  18. package/.agent-src/commands/feature/dev.md +3 -3
  19. package/.agent-src/commands/feature.md +1 -1
  20. package/.agent-src/commands/fix/seeder.md +2 -2
  21. package/.agent-src/commands/fix.md +1 -1
  22. package/.agent-src/commands/jira-ticket.md +1 -1
  23. package/.agent-src/commands/judge.md +2 -2
  24. package/.agent-src/commands/memory.md +1 -1
  25. package/.agent-src/commands/mode.md +5 -5
  26. package/.agent-src/commands/module.md +1 -1
  27. package/.agent-src/commands/onboard.md +4 -4
  28. package/.agent-src/commands/optimize/augmentignore.md +1 -1
  29. package/.agent-src/commands/optimize-prompt.md +61 -0
  30. package/.agent-src/commands/optimize.md +1 -1
  31. package/.agent-src/commands/override.md +1 -1
  32. package/.agent-src/commands/review-changes.md +1 -1
  33. package/.agent-src/commands/review-routing.md +1 -1
  34. package/.agent-src/commands/roadmap.md +1 -1
  35. package/.agent-src/commands/set-cost-profile.md +3 -3
  36. package/.agent-src/commands/sync-agent-settings.md +2 -2
  37. package/.agent-src/commands/sync-gitignore.md +1 -1
  38. package/.agent-src/commands/tests/create.md +2 -2
  39. package/.agent-src/commands/tests.md +1 -1
  40. package/.agent-src/commands/threat-model.md +4 -4
  41. package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
  42. package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
  43. package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
  44. package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
  45. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +76 -0
  46. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +4 -4
  47. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
  48. package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
  49. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +125 -9
  50. package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
  51. package/.agent-src/contexts/model-recommendations.md +2 -2
  52. package/.agent-src/contexts/override-system.md +1 -1
  53. package/.agent-src/personas/product-owner.md +2 -2
  54. package/.agent-src/personas/qa.md +1 -1
  55. package/.agent-src/rules/agent-authority.md +5 -6
  56. package/.agent-src/rules/agent-docs.md +11 -53
  57. package/.agent-src/rules/analysis-skill-routing.md +10 -40
  58. package/.agent-src/rules/architecture.md +6 -1
  59. package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
  60. package/.agent-src/rules/artifact-engagement-recording.md +23 -59
  61. package/.agent-src/rules/ask-when-uncertain.md +24 -47
  62. package/.agent-src/rules/augment-portability.md +14 -62
  63. package/.agent-src/rules/augment-source-of-truth.md +10 -1
  64. package/.agent-src/rules/autonomous-execution.md +17 -98
  65. package/.agent-src/rules/capture-learnings.md +9 -80
  66. package/.agent-src/rules/cli-output-handling.md +12 -42
  67. package/.agent-src/rules/command-suggestion-policy.md +25 -73
  68. package/.agent-src/rules/commit-conventions.md +9 -58
  69. package/.agent-src/rules/commit-policy.md +16 -47
  70. package/.agent-src/rules/context-hygiene.md +5 -0
  71. package/.agent-src/rules/direct-answers.md +21 -42
  72. package/.agent-src/rules/docker-commands.md +11 -45
  73. package/.agent-src/rules/docs-sync.md +10 -56
  74. package/.agent-src/rules/downstream-changes.md +5 -0
  75. package/.agent-src/rules/e2e-testing.md +9 -44
  76. package/.agent-src/rules/guidelines.md +13 -75
  77. package/.agent-src/rules/improve-before-implement.md +10 -2
  78. package/.agent-src/rules/language-and-tone.md +35 -69
  79. package/.agent-src/rules/laravel-translations.md +11 -40
  80. package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
  81. package/.agent-src/rules/minimal-safe-diff.md +4 -0
  82. package/.agent-src/rules/missing-tool-handling.md +4 -0
  83. package/.agent-src/rules/model-recommendation.md +9 -61
  84. package/.agent-src/rules/no-attribution-footers.md +53 -0
  85. package/.agent-src/rules/no-cheap-questions.md +11 -27
  86. package/.agent-src/rules/no-council-references.md +76 -0
  87. package/.agent-src/rules/no-roadmap-references.md +8 -1
  88. package/.agent-src/rules/non-destructive-by-default.md +13 -43
  89. package/.agent-src/rules/onboarding-gate.md +9 -117
  90. package/.agent-src/rules/package-ci-checks.md +10 -37
  91. package/.agent-src/rules/php-coding.md +10 -55
  92. package/.agent-src/rules/preservation-guard.md +9 -0
  93. package/.agent-src/rules/review-routing-awareness.md +9 -97
  94. package/.agent-src/rules/reviewer-awareness.md +8 -83
  95. package/.agent-src/rules/roadmap-progress-sync.md +7 -170
  96. package/.agent-src/rules/role-mode-adherence.md +6 -2
  97. package/.agent-src/rules/rule-type-governance.md +8 -66
  98. package/.agent-src/rules/runtime-safety.md +5 -0
  99. package/.agent-src/rules/scope-control.md +17 -62
  100. package/.agent-src/rules/security-sensitive-stop.md +7 -1
  101. package/.agent-src/rules/size-enforcement.md +6 -1
  102. package/.agent-src/rules/skill-improvement-trigger.md +9 -49
  103. package/.agent-src/rules/skill-quality.md +7 -64
  104. package/.agent-src/rules/slash-command-routing-policy.md +11 -63
  105. package/.agent-src/rules/think-before-action.md +22 -87
  106. package/.agent-src/rules/token-efficiency.md +10 -74
  107. package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
  108. package/.agent-src/rules/tool-safety.md +4 -0
  109. package/.agent-src/rules/ui-audit-gate.md +25 -61
  110. package/.agent-src/rules/upstream-proposal.md +9 -67
  111. package/.agent-src/rules/user-interaction.md +25 -95
  112. package/.agent-src/rules/verify-before-complete.md +1 -1
  113. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  114. package/.agent-src/skills/ai-council/SKILL.md +69 -5
  115. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  116. package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
  117. package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
  118. package/.agent-src/skills/authz-review/SKILL.md +1 -1
  119. package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
  120. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
  121. package/.agent-src/skills/bug-analyzer/SKILL.md +5 -5
  122. package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
  123. package/.agent-src/skills/code-review/SKILL.md +2 -2
  124. package/.agent-src/skills/command-writing/SKILL.md +11 -0
  125. package/.agent-src/skills/composer-packages/SKILL.md +2 -2
  126. package/.agent-src/skills/context-authoring/SKILL.md +11 -0
  127. package/.agent-src/skills/context-document/SKILL.md +1 -1
  128. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
  129. package/.agent-src/skills/copilot-config/SKILL.md +1 -1
  130. package/.agent-src/skills/dcf-modeling/SKILL.md +89 -0
  131. package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
  132. package/.agent-src/skills/devcontainer/SKILL.md +2 -2
  133. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
  134. package/.agent-src/skills/docker/SKILL.md +1 -1
  135. package/.agent-src/skills/dto-creator/SKILL.md +1 -1
  136. package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
  137. package/.agent-src/skills/fe-design/SKILL.md +4 -4
  138. package/.agent-src/skills/feature-planning/SKILL.md +5 -5
  139. package/.agent-src/skills/funnel-analysis/SKILL.md +100 -0
  140. package/.agent-src/skills/laravel/SKILL.md +1 -1
  141. package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
  142. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
  143. package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
  144. package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
  145. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
  146. package/.agent-src/skills/md-language-check/SKILL.md +1 -1
  147. package/.agent-src/skills/migration-creator/SKILL.md +7 -7
  148. package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
  149. package/.agent-src/skills/okr-tree-modeling/SKILL.md +93 -0
  150. package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
  151. package/.agent-src/skills/pest-testing/SKILL.md +6 -6
  152. package/.agent-src/skills/php-service/SKILL.md +2 -2
  153. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
  154. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
  155. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
  156. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
  157. package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
  158. package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
  159. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
  160. package/.agent-src/skills/rice-prioritization/SKILL.md +100 -0
  161. package/.agent-src/skills/rule-writing/SKILL.md +33 -0
  162. package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
  163. package/.agent-src/skills/skill-writing/SKILL.md +14 -0
  164. package/.agent-src/skills/subagent-orchestration/SKILL.md +34 -2
  165. package/.agent-src/skills/terraform/SKILL.md +2 -2
  166. package/.agent-src/skills/terragrunt/SKILL.md +8 -8
  167. package/.agent-src/skills/test-performance/SKILL.md +5 -5
  168. package/.agent-src/skills/threat-modeling/SKILL.md +2 -2
  169. package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
  170. package/.agent-src/skills/unit-economics-modeling/SKILL.md +104 -0
  171. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  172. package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  173. package/.agent-src/templates/AGENTS.md +1 -1
  174. package/.agent-src/templates/agent-settings.md +25 -41
  175. package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
  176. package/.agent-src/templates/contexts.md +1 -1
  177. package/.agent-src/templates/copilot-instructions.md +21 -0
  178. package/.agent-src/templates/copilot-review-instructions.md +76 -0
  179. package/.agent-src/templates/features.md +1 -1
  180. package/.agent-src/templates/rule.md +127 -0
  181. package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +7 -5
  182. package/.agent-src/templates/scripts/work_engine/hooks/__init__.py +0 -4
  183. package/.agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +0 -4
  184. package/.agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +7 -51
  185. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +1 -2
  186. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +1 -2
  187. package/.agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.py +2 -3
  188. package/.agent-src/templates/skill.md +30 -1
  189. package/.claude-plugin/marketplace.json +11 -4
  190. package/AGENTS.md +71 -3
  191. package/CHANGELOG.md +180 -3
  192. package/README.md +24 -23
  193. package/config/agent-settings.template.yml +63 -23
  194. package/config/gitignore-block.txt +11 -4
  195. package/docs/architecture.md +84 -3
  196. package/docs/catalog.md +23 -11
  197. package/docs/contracts/adr-chat-history-split.md +10 -1
  198. package/docs/contracts/agent-memory-contract.md +1 -1
  199. package/docs/contracts/command-clusters.md +1 -1
  200. package/docs/contracts/context-paths.md +2 -1
  201. package/docs/contracts/cross-wing-handoff.md +133 -0
  202. package/docs/contracts/file-ownership-matrix.json +678 -609
  203. package/docs/contracts/hook-architecture-v1.md +8 -1
  204. package/docs/contracts/iron-law-overrides.txt +25 -0
  205. package/docs/contracts/kernel-membership.md +273 -0
  206. package/docs/contracts/load-context-schema.md +26 -11
  207. package/docs/contracts/memory-visibility-v1.md +8 -24
  208. package/docs/contracts/pilot/agent-authority.md +24 -0
  209. package/docs/contracts/pilot/direct-answers.md +70 -0
  210. package/docs/contracts/pilot/language-and-tone.md +63 -0
  211. package/docs/contracts/rule-classification.md +170 -0
  212. package/docs/contracts/rule-router.md +153 -0
  213. package/docs/customization.md +18 -7
  214. package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
  215. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
  216. package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
  217. package/docs/getting-started.md +19 -27
  218. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  219. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
  220. package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
  221. package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
  222. package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
  223. package/docs/guidelines/augment-portability-patterns.md +68 -0
  224. package/docs/guidelines/php/php-coding-patterns.md +62 -0
  225. package/docs/hook-payload-capture.md +221 -0
  226. package/docs/migrations/commands-1.15.0.md +17 -12
  227. package/docs/skills-catalog.md +5 -4
  228. package/llms.txt +4 -3
  229. package/package.json +1 -1
  230. package/scripts/_p43_bodies.py +235 -0
  231. package/scripts/_p43_compress.py +118 -0
  232. package/scripts/_p4_migrate.py +199 -0
  233. package/scripts/_pilot_council_question.py +57 -0
  234. package/scripts/_pilot_measure.py +53 -0
  235. package/scripts/agent-config +1 -1
  236. package/scripts/ai_council/_default_prices.py +4 -4
  237. package/scripts/ai_council/clients.py +1 -1
  238. package/scripts/ai_council/modes.py +3 -4
  239. package/scripts/ai_council/pricing.py +10 -9
  240. package/scripts/ai_council/session.py +107 -5
  241. package/scripts/build_linear_digest.py +3 -5
  242. package/scripts/build_rule_trigger_matrix.py +1 -9
  243. package/scripts/chat_history.py +952 -596
  244. package/scripts/check_always_budget.py +39 -6
  245. package/scripts/check_compressed_paths.py +213 -0
  246. package/scripts/check_compression.py +15 -0
  247. package/scripts/check_context_paths.py +1 -0
  248. package/scripts/check_council_layout.py +105 -0
  249. package/scripts/check_council_references.py +145 -0
  250. package/scripts/check_portability.py +2 -0
  251. package/scripts/check_references.py +14 -2
  252. package/scripts/check_token_optimizer_freshness.py +131 -0
  253. package/scripts/compile_router.py +148 -0
  254. package/scripts/compress.py +219 -11
  255. package/scripts/council_cli.py +63 -9
  256. package/scripts/council_prune.py +81 -0
  257. package/scripts/count_token_optimizer_usage.sh +54 -0
  258. package/scripts/hook_manifest.yaml +33 -0
  259. package/scripts/hooks/augment-chat-history.sh +10 -0
  260. package/scripts/hooks/cowork-dispatcher.sh +98 -0
  261. package/scripts/hooks/dispatch_hook.py +35 -0
  262. package/scripts/hooks_status.py +12 -1
  263. package/scripts/install-hooks.sh +2 -2
  264. package/scripts/install.sh +81 -2
  265. package/scripts/iron_law_sha.py +98 -0
  266. package/scripts/lint_handoffs.py +214 -0
  267. package/scripts/lint_hook_manifest.py +2 -1
  268. package/scripts/lint_load_context.py +35 -5
  269. package/scripts/measure_rule_budget.py +314 -0
  270. package/scripts/prototype_lint_contradictions.py +150 -0
  271. package/scripts/redact_hook_capture.py +148 -0
  272. package/scripts/schemas/rule.schema.json +55 -6
  273. package/scripts/schemas/skill.schema.json +5 -0
  274. package/scripts/skill_linter.py +359 -7
  275. package/scripts/smoke_path_resolution.py +93 -0
  276. package/scripts/update_prices.py +3 -3
  277. package/scripts/validate_frontmatter.py +41 -1
  278. package/.agent-src/commands/chat-history/checkpoint.md +0 -126
  279. package/.agent-src/commands/chat-history/clear.md +0 -103
  280. package/.agent-src/commands/chat-history/resume.md +0 -183
  281. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
  282. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
  283. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
  284. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
  285. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
  286. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
  287. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
  288. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
  289. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
  290. package/.agent-src/rules/chat-history-cadence.md +0 -143
  291. package/.agent-src/rules/chat-history-ownership.md +0 -124
  292. package/.agent-src/rules/chat-history-visibility.md +0 -97
  293. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_heartbeat.py +0 -50
  294. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_turn_check.py +0 -49
  295. package/scripts/check_phase_coupling.py +0 -148
  296. /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
  297. /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
@@ -82,6 +82,29 @@ no silent edits, max two rounds.
82
82
  * No numbered procedures — if you need steps, it is a skill.
83
83
  * Link out to guidelines for deep reference instead of inlining them.
84
84
 
85
+ ### 3b. Path conventions in frontmatter and body — load-bearing
86
+
87
+ Three different surfaces, three different rules. Mixing them up will
88
+ either fail the schema (`python3 scripts/validate_frontmatter.py`) or
89
+ fail `python3 scripts/lint_load_context.py`. Canonical reference:
90
+ [`templates/rule.md`](../../templates/rule.md) § Path conventions and
91
+ [`docs/contracts/load-context-schema.md`](../../../docs/contracts/load-context-schema.md).
92
+
93
+ | Field | Form | Example |
94
+ |---|---|---|
95
+ | `load_context:` / `load_context_eager:` | **Logical name** rooted at the source — never `.agent-src.uncompressed/` | `contexts/execution/verification-mechanics.md` |
96
+ | `triggers[].path_prefix:` | **Literal match pattern** the host evaluates against the file the agent is editing — not rewritten | `.agent-src.uncompressed/skills/` (source-of-truth rules) or `agents/`, `app/`, `.augment/` |
97
+ | Body links to guidelines / contracts | **Verbatim relative form** — `../../docs/...` works in any markdown viewer; rewriter handles depth | `[guideline](../../docs/guidelines/<group>/<name>.md)` |
98
+
99
+ The compress-time rewriter (`scripts/compress.py::_rewrite_paths`) is
100
+ idempotent and depth-aware — it resolves logical names and body links
101
+ to the deployment-correct relative path at compress time, leaving
102
+ `path_prefix:` literally as written. The schema regex
103
+ (`scripts/schemas/rule.schema.json`) and `scripts/lint_load_context.py`
104
+ both reject the `.agent-src.uncompressed/` prefix in `load_context:` /
105
+ `load_context_eager:` with an error pointing at the canonical logical
106
+ name.
107
+
85
108
  ### 4. Enforce the size budget
86
109
 
87
110
  Normative source: [`size-enforcement`](../../rules/size-enforcement.md) +
@@ -113,9 +136,19 @@ type: "auto" # or "always"
113
136
  description: "Trigger-shaped sentence — domain + symptoms — soft cap 200 chars"
114
137
  alwaysApply: false # true only if type: always
115
138
  source: package # or project for consumer-local rules
139
+ load_context: # logical names only — `contexts/<area>/<file>.md`
140
+ - contexts/execution/verification-mechanics.md
141
+ triggers: # path_prefix is literal, not rewritten
142
+ - path_prefix: ".agent-src.uncompressed/rules/"
143
+ routes_to:
144
+ - "skill:related-skill"
116
145
  ---
117
146
  ```
118
147
 
148
+ See § 3b above for the load-bearing distinction between `load_context:`
149
+ (logical, rewritten), `triggers[].path_prefix:` (literal, verbatim),
150
+ and body links (relative `../../docs/...`, rewriter handles depth).
151
+
119
152
  ## Output format
120
153
 
121
154
  1. Complete rule file at `.agent-src.uncompressed/rules/{name}.md`
@@ -152,7 +152,7 @@ search_events(organizationSlug='my-org', naturalLanguageQuery='count of database
152
152
 
153
153
  ## Gotcha
154
154
 
155
- - Sentry groups errors by stacktrace — different root causes may appear as the same issue. Check multiple events.
155
+ - Sentry groups errors by stacktrace — different root may appear as the same issue. Check multiple events.
156
156
  - The model tends to analyze only the latest event — check the "Events" tab for patterns across time.
157
157
  - Don't use Sentry MCP tools for simple lookups — use the Sentry web UI link instead (saves tokens).
158
158
 
@@ -258,6 +258,20 @@ Example:
258
258
  * Validation must be concrete
259
259
  * One skill = one job
260
260
 
261
+ ### Cross-references and paths
262
+
263
+ * Body links to guidelines / contracts use the verbatim relative form
264
+ (`../../docs/guidelines/<group>/<name>.md`,
265
+ `../../docs/contracts/<name>.md`). The compress-time rewriter
266
+ resolves them to depth-aware single-up form — do not pre-rewrite in
267
+ source.
268
+ * Skills do **not** declare `load_context:` / `load_context_eager:`;
269
+ those frontmatter keys are rule-only. If a skill needs to point at a
270
+ context, link to it inline (`[context-name](../../contexts/<area>/<file>.md)`).
271
+ * Never write `.agent-src.uncompressed/` in any skill body link or
272
+ example — it ships into `.augment/skills/` and breaks consumer
273
+ resolution. See `rule-writing` § 3b for the canonical reference.
274
+
261
275
  ### Execution metadata (optional)
262
276
 
263
277
  Skills may declare an `execution` frontmatter block (`type`, `handler`,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: subagent-orchestration
3
- description: "Use when orchestrating implementer/judge subagents — five modes (do-and-judge, do-in-steps, do-in-parallel, do-competitively, judge-with-debate) — models from .agent-settings.yml."
3
+ description: "Use when orchestrating implementer/judge subagents — six modes (do-and-judge, do-in-steps, do-in-parallel, do-competitively, judge-with-debate, do-in-worktrees) — models from .agent-settings.yml."
4
4
  source: package
5
5
  ---
6
6
 
@@ -44,7 +44,7 @@ judge is a fresh pair of eyes. If `.agent-settings.yml` resolves to
44
44
  identical implementer and judge models, surface the mismatch before
45
45
  running — do not silently continue.
46
46
 
47
- ## The five modes
47
+ ## The six modes
48
48
 
49
49
  Each mode has a decision row: when to use, when not, and the expected
50
50
  model pairing. Defaults come from
@@ -100,6 +100,38 @@ migration, public API) where a single judge is too easy to fool.
100
100
  |---|---|---|
101
101
  | Security, data integrity, public API change | Routine internal refactor | judges = same tier (2x); meta-judge = one tier up |
102
102
 
103
+ ### 6. do-in-worktrees
104
+
105
+ Cross-wing or cross-skill chain executed across isolated git
106
+ worktrees — each handoff in the chain runs in its own worktree, so
107
+ the workspace state of one step never leaks into the next. Operationalizes
108
+ the worktree boundary clause in
109
+ [`docs/contracts/cross-wing-handoff.md`](../../../docs/contracts/cross-wing-handoff.md)
110
+ § 3. State-machine layer only — worktree creation/destruction lives
111
+ in [`using-git-worktrees`](../using-git-worktrees/SKILL.md) and
112
+ [`finishing-a-development-branch`](../finishing-a-development-branch/SKILL.md).
113
+
114
+ | When to use | When not | Model pairing |
115
+ |---|---|---|
116
+ | Multi-step cross-wing chain (≥2 senior skills, each ≥30 min) where one step's open files / branch state would confuse the next | Fast iteration where each step < 30 min — worktree overhead exceeds isolation benefit | implementers = same tier per step; judge = one tier up at chain end |
117
+
118
+ **Handoff shape:** initiator-skill emits the typed output declared in
119
+ its `## Output` block → control passes to delegated-skill in a fresh
120
+ worktree → delegated-skill consumes the input shape declared in its
121
+ `## Input` (or `## When the agent should load this`) block. The
122
+ handoff is auditable; `lint_handoffs.py` validates the chain.
123
+
124
+ **Example chain (W3 launch):** `positioning` (worktree A) →
125
+ `messaging-architecture` (worktree B, consumes positioning's
126
+ `positioning-statement.md`) → `gtm-launch` (worktree C, consumes
127
+ both prior artifacts). Each worktree carries one branch; the chain
128
+ end produces a single integration PR.
129
+
130
+ **Anti-pattern:** do not use for fast iteration loops where each
131
+ step is under ~30 minutes. The branch-creation, context-switch, and
132
+ worktree-cleanup cost dominates. Stick with mode 1 (do-and-judge)
133
+ or mode 2 (do-in-steps) for those.
134
+
103
135
  ## Procedure
104
136
 
105
137
  ### 1. Inspect the task shape
@@ -106,8 +106,8 @@ Used for workers and schedulers:
106
106
 
107
107
  ### GitHub OIDC IAM role
108
108
 
109
- Each environment has a GitHub IAM role with:
110
- - OIDC trust policy (scoped to repo + environment)
109
+ Each env has a GitHub IAM role with:
110
+ - OIDC trust policy (scoped to repo + env)
111
111
  - Policies for ECR push/pull, ECS deployment, Secrets Manager read, CloudWatch logs
112
112
 
113
113
  ## Output format
@@ -12,7 +12,7 @@ Use this skill when working with Terragrunt configurations (`.hcl` files), manag
12
12
 
13
13
  ## Procedure: Write Terragrunt config
14
14
 
15
- 1. Read the `root.hcl` in the target environment (`environments/pro/root.hcl` or `environments/sta/root.hcl`).
15
+ 1. Read the `root.hcl` in the target env (`environments/pro/root.hcl` or `environments/sta/root.hcl`).
16
16
  2. Check existing `terragrunt.hcl` files in sibling directories for patterns.
17
17
  3. Read the target module's `variables.tf` to understand required inputs.
18
18
 
@@ -36,7 +36,7 @@ environments/
36
36
 
37
37
  ## Root configuration (`root.hcl`)
38
38
 
39
- The root HCL defines shared settings for all modules in an environment:
39
+ The root HCL defines shared settings for all modules in an env:
40
40
 
41
41
  ### Environment variables
42
42
 
@@ -50,9 +50,9 @@ locals {
50
50
  }
51
51
  ```
52
52
 
53
- - `.env.yaml` — committed, shared environment config
53
+ - `.env.yaml` — committed, shared env config
54
54
  - `.env.local.yaml` — gitignored, local overrides (AWS profiles, etc.)
55
- - Real environment variables take precedence over file values.
55
+ - Real env variables take precedence over file values.
56
56
 
57
57
  ### Remote state
58
58
 
@@ -101,7 +101,7 @@ Each module directory contains a `terragrunt.hcl` that:
101
101
  1. **Loads module-specific variables** from a YAML file
102
102
  2. **Includes the root config** for backend and providers
103
103
  3. **Points to the Terraform module source**
104
- 4. **Declares dependencies** on other modules
104
+ 4. **Declares deps** on other modules
105
105
  5. **Passes inputs** by merging dependency outputs with local variables
106
106
 
107
107
  ### Example pattern
@@ -183,19 +183,19 @@ devbox run d # terragrunt destroy
183
183
 
184
184
  ## Output format
185
185
 
186
- 1. Terragrunt HCL files with DRY environment configuration
186
+ 1. Terragrunt HCL files with DRY env configuration
187
187
  2. Dependency graph and remote state references
188
188
 
189
189
  ## Auto-trigger keywords
190
190
 
191
191
  - Terragrunt
192
- - multi-environment
192
+ - multi-env
193
193
  - DRY config
194
194
  - remote state
195
195
 
196
196
  ## Gotcha
197
197
 
198
- - Terragrunt `dependency` blocks create implicit ordering — circular dependencies cause cryptic errors.
198
+ - Terragrunt `dependency` blocks create implicit ordering — circular deps cause cryptic errors.
199
199
  - Don't duplicate Terraform variables in terragrunt.hcl — use `inputs` to pass them through.
200
200
  - The model tends to hardcode values that should come from `include` blocks — use DRY patterns.
201
201
 
@@ -15,7 +15,7 @@ Use this skill when:
15
15
  - Parallel testing needs optimization
16
16
  - Seeders need performance analysis
17
17
  - CI pipeline test jobs need to be faster
18
- - Investigating flaky tests caused by database state
18
+ - Investigating flaky tests caused by DB state
19
19
 
20
20
  ## Procedure: Analyze test performance
21
21
 
@@ -55,7 +55,7 @@ Check these areas in order of typical impact:
55
55
  | **Migration count** | How many CREATE TABLE statements? | High if >20 |
56
56
  | **Schema dump** | Is `database/schema/` used? | High if missing |
57
57
  | **Seeder INSERT method** | Individual `save()` vs bulk insert? | Medium |
58
- | **Truncation** | Per-seeder truncate vs centralized? | Low (but causes correctness issues) |
58
+ | **Truncation** | Per-seeder truncate vs centralized? | Low (but correctness issues) |
59
59
  | **Connection discovery** | Dynamic `getPdo()` probing? | Low |
60
60
  | **Parallel worker setup** | Does each worker re-migrate? | High |
61
61
 
@@ -76,7 +76,7 @@ php artisan schema:dump --database=api_database
76
76
  #### B. Template DB Cloning (high ROI for parallel tests)
77
77
 
78
78
  Instead of each parallel worker running migrate+seed independently:
79
- 1. Prepare ONE template database (migrate + seed)
79
+ 1. Prepare ONE template DB (migrate + seed)
80
80
  2. Clone template for each worker via mysqldump
81
81
 
82
82
  ```bash
@@ -92,7 +92,7 @@ mysqldump template_db | mysql worker_db_test_1
92
92
 
93
93
  #### C. Skip Migrate+Seed Flag (high ROI for local dev)
94
94
 
95
- Add a config flag to skip database setup when DB is already prepared:
95
+ Add a config flag to skip DB setup when DB is already prepared:
96
96
 
97
97
  ```php
98
98
  // config/testing.php
@@ -158,7 +158,7 @@ Replace dynamic `getPdo()` probing with explicit config:
158
158
  ## Gotcha
159
159
 
160
160
  - Don't use RefreshDatabase when DatabaseTransactions suffices — full refresh is 10x slower.
161
- - The model forgets that parallel tests share the database — use unique identifiers in test data.
161
+ - The model forgets that parallel tests share the DB — use unique identifiers in test data.
162
162
  - Seeder optimization has the highest ROI — a 2s seeder running 100 times = 200s wasted.
163
163
  - Don't add indexes to test databases just for test performance — the real fix is better test design.
164
164
 
@@ -6,7 +6,7 @@ source: package
6
6
 
7
7
  # threat-modeling
8
8
 
9
- > You are a reviewer specialized in **pre-implementation threat analysis**.
9
+ > You are a reviewer specialized in **pre-impl threat analysis**.
10
10
  > Your only job is to produce a compact threat model for a planned change —
11
11
  > actors, assets, trust boundaries, abuse cases, and the minimum controls
12
12
  > the implementer must add. You do **not** audit existing code end-to-end,
@@ -186,4 +186,4 @@ run tests**.
186
186
  - [`authz-review`](../authz-review/SKILL.md),
187
187
  [`data-exposure-review`](../data-exposure-review/SKILL.md),
188
188
  [`security`](../security/SKILL.md),
189
- [`security-audit`](../security-audit/SKILL.md) — sibling review / implementation skills.
189
+ [`security-audit`](../security-audit/SKILL.md) — sibling review / impl skills.
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: token-optimizer
3
+ description: "Use BEFORE any verbose CLI run, large file read, doc conversion, or near-context handoff — single decision tree keyed by intent that cites the canonical token-saving asset. Consult before the action."
4
+ source: package
5
+ execution:
6
+ type: assisted
7
+ handler: shell
8
+ allowed_tools: []
9
+ ---
10
+
11
+ # Token Optimizer — decision tree + catalog
12
+
13
+ ## Iron Law
14
+
15
+ ```
16
+ CONSULT THIS SKILL BEFORE THE ACTION, NOT AFTER.
17
+ THE TREE NAMES THE CANONICAL ASSET — DO NOT RESTATE OR DUPLICATE IT.
18
+ ```
19
+
20
+ ## When to use
21
+
22
+ Proactively, BEFORE you:
23
+
24
+ - Run a verbose CLI command (tests, linters, build, git log, large `grep`)
25
+ - Read or paste a large document, log, or tool dump
26
+ - Repeat the same tool call across many files / records
27
+ - Approach the context-window limit and need to hand off
28
+ - Make a cost-aware decision (which model, which budget, when to stop)
29
+
30
+ Reactively when output already burned tokens — record the lesson, do
31
+ not re-explore. Cite the leaf, move on.
32
+
33
+ ## Procedure
34
+
35
+ 1. **Classify intent** — match the situation to one branch of the tree below.
36
+ 2. **Cite the leaf** — name the canonical asset (rule, skill, or upstream link).
37
+ 3. **Apply** — execute the cited asset's contract; do NOT inline its content.
38
+ 4. **Verify** — output respects the cited Iron Law (redirect, wrap, batch, etc.).
39
+
40
+ ### Decision tree
41
+
42
+ ```
43
+ INTENT
44
+ ├── Verbose CLI output incoming
45
+ │ → cite [cli-output-handling](../../rules/cli-output-handling.md)
46
+ │ (Iron Law: redirect / tail / grep / wrap)
47
+ │ → cite [rtk-output-filtering](../rtk-output-filtering/SKILL.md)
48
+ │ (rtk wrapper, 60-90% savings on tests/linters/git)
49
+
50
+ ├── Large document or paste (PDF, DOCX, HTML, transcript)
51
+ │ → cite markitdown (upstream: https://github.com/microsoft/markitdown)
52
+ │ Convert FIRST, then read the markdown — never paste raw binary.
53
+
54
+ ├── Repeated tool-call across N targets
55
+ │ → cite [token-efficiency](../../rules/token-efficiency.md)
56
+ │ (batch, parallelize, prune; one tool call > many)
57
+
58
+ ├── Near context limit, work not finished
59
+ │ → cite [agent-handoff](../../../.claude/skills/agent-handoff/SKILL.md)
60
+ │ (structured handoff envelope; resume in fresh chat)
61
+
62
+ └── Cost-aware decision (model pick, budget, stop-criterion)
63
+ → cite /cost:report (when shipped) — until then, fall back to
64
+ [token-efficiency](../../rules/token-efficiency.md) and
65
+ [direct-answers § Brevity by Default](../../rules/direct-answers.md)
66
+ ```
67
+
68
+ ## Catalog
69
+
70
+ | Asset | Path | Trigger keywords | What it does |
71
+ |---|---|---|---|
72
+ | `cli-output-handling` | `.agent-src.uncompressed/rules/cli-output-handling.md` | `verbose`, `tail`, `grep`, `CLI` | Wrap-tail-grep contract for any verbose command |
73
+ | `rtk-output-filtering` | `.agent-src.uncompressed/skills/rtk-output-filtering/SKILL.md` | `rtk`, `verbose`, `filter`, `wrap` | Project-local rtk filters; wrapper command |
74
+ | `token-efficiency` | `.agent-src.uncompressed/rules/token-efficiency.md` | `redirect`, `verbose`, `concise`, `tool` | Batch + parallelize tool calls; brevity floor |
75
+ | `agent-handoff` | `.claude/skills/agent-handoff/SKILL.md` | `handoff`, `fresh`, `chat`, `context` | Context envelope for fresh-chat continuation |
76
+ | `direct-answers` | `.agent-src.uncompressed/rules/direct-answers.md` | `brevity`, `flattery`, `severity`, `tiered` | Iron-Law brevity floor (kernel) |
77
+ | `markitdown` | upstream: github.com/microsoft/markitdown | `PDF`, `DOCX`, `HTML`, `convert` | Document → markdown converter (authoritative-link only) |
78
+ | `/cost:report` | TBD — `road-to-ruflo-adoption.md § P1.2` | `cost`, `model spend`, `budget` | Per-session cost telemetry (planned) |
79
+
80
+ ## Output format
81
+
82
+ 1. Name the cited asset by its leaf id (e.g. `cli-output-handling`, `rtk-output-filtering`).
83
+ 2. State the Iron Law in one line; do NOT inline the asset's body.
84
+ 3. If multiple branches match, cite all relevant leaves (no merge, no rewrite).
85
+ 4. End with the action you take next, citing the asset that authorizes it.
86
+
87
+ ## Gotcha
88
+
89
+ - Catalog rows live and die with their target asset. If you edit a
90
+ cited asset's trigger keywords or scope, update the matching row in
91
+ this skill in the same commit (enforced by
92
+ [`token-optimizer-maintenance`](../../rules/token-optimizer-maintenance.md)
93
+ rule + `scripts/check_token_optimizer_freshness.py` CI gate).
94
+ - Tree must stay scannable (≤ 50 lines incl. labels). Catalog rows
95
+ carry the long form.
96
+ - Authoritative-link assets (`rtk` upstream, `markitdown` upstream,
97
+ pricing constants) are never copied — always linked.
98
+
99
+ ## Do NOT
100
+
101
+ - Do NOT inline content from a cited asset. If the leaf is "rtk does X",
102
+ the agent reads `rtk-output-filtering`. Duplication = drift = stale.
103
+ - Do NOT replace any rule. The rules carry the Iron Laws; this skill
104
+ carries the lookup index.
105
+ - Do NOT define new policies — every leaf must cite an existing rule,
106
+ skill, or upstream asset.
107
+ - Do NOT consult this skill AFTER tokens were already burned — record
108
+ the lesson and move on.
109
+
110
+ <!-- TELEMETRY: consulted=[uncomment + ISO timestamp on each consult] context=[CLI|doc|repeat|handoff|cost] -->
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: unit-economics-modeling
3
+ description: "Use when modeling CAC, LTV, gross-margin payback, or contribution margin per customer — for SaaS, marketplace, or transactional businesses."
4
+ status: active
5
+ tier: senior
6
+ source: package
7
+ ---
8
+
9
+ # unit-economics-modeling
10
+
11
+ ## When to use
12
+
13
+ - A board ask: "is this business unit-economic?" — needs CAC / LTV / payback, not vibes.
14
+ - A new channel is scaling and the question is whether the CAC payback period is sustainable.
15
+ - A pricing or packaging change needs to be tested against contribution margin per cohort.
16
+
17
+ Do NOT use for full-business intrinsic-value modeling, OKR setting, funnel-stage diagnosis, or backlog ranking (see Related Skills).
18
+
19
+ ## Procedure
20
+
21
+ ### Step 0: Inspect
22
+
23
+ 1. Confirm the business shape — SaaS / marketplace / transactional. The three canonical cases differ in **revenue recognition** and **churn definition**, not in arithmetic.
24
+ 2. Confirm a fully-loaded CAC is computable: paid spend + sales comp + content/SEO allocation + tooling. Marketing-spend-only CAC is a vanity metric.
25
+
26
+ ### Step 1: Compute CAC per channel
27
+
28
+ 1. CAC = `(fully-loaded acquisition spend in window) / (new paying customers acquired in same window)`. Match window to sales-cycle length, not calendar quarter.
29
+ 2. Compute by channel **and** blended. Blended-only hides the channel that is breaking the average.
30
+ 3. Anti-pattern: counting trial signups as customers. Customer = first paid charge cleared.
31
+
32
+ ### Step 2: Compute gross margin
33
+
34
+ 1. Gross margin = `(revenue − COGS) / revenue`. COGS includes hosting, payment fees, third-party APIs the customer's usage drives, and direct customer-success cost.
35
+ 2. Gross margin must be **per dollar of revenue**, not per customer. Per-customer gross margin is contribution margin (Step 3).
36
+ 3. SaaS healthy band: 70–85%. Marketplace: 15–40%. Transactional: 5–25%. Outside these — the business is mislabelled or the COGS allocation is wrong.
37
+
38
+ ### Step 3: Compute LTV
39
+
40
+ 1. Pick the canonical formula for the case:
41
+ - **SaaS:** `LTV = ARPA × gross_margin / monthly_churn_rate`. Use net-dollar churn for self-serve, gross logo churn for high-touch.
42
+ - **Marketplace:** `LTV = take_rate × GMV_per_user × retention_curve_AUC` over 24 months. Steady-state extrapolation is dishonest below 24 months of cohort data.
43
+ - **Transactional:** `LTV = avg_order_value × gross_margin × purchases_per_year × avg_lifetime_years`.
44
+ 2. Cap implied lifetime at 5 years for any business with < 3 years of cohort history. Anything longer is a fairy tale.
45
+ 3. State the formula used inline. Do not let the reader infer.
46
+
47
+ ### Step 4: Compute payback and ratio
48
+
49
+ 1. **CAC payback** (months) = `CAC / (ARPA × gross_margin)` for SaaS; analogue for marketplace and transactional. Healthy SaaS: ≤ 12 months.
50
+ 2. **LTV / CAC ratio**: target ≥ 3.0. Below 1.5 is acquisition-loss territory; above 5.0 means under-investment in growth (or bad LTV math).
51
+ 3. Both numbers, not one. Payback drives capital efficiency; ratio drives long-run economics.
52
+
53
+ ### Step 5: Cohort the answer
54
+
55
+ 1. Run Steps 1–4 by signup-quarter cohort. Trends matter more than the point estimate.
56
+ 2. If LTV/CAC is improving but payback is lengthening, you are buying retention with discounting — flag.
57
+ 3. If both deteriorate, the channel mix has shifted to a worse channel — segment by channel to find the leak.
58
+
59
+ ### Step 6: Validate
60
+
61
+ 1. Sanity-check LTV against revenue retention. If implied LTV > 8× annual revenue per customer with monthly churn > 2%, the math is wrong.
62
+ 2. Sanity-check CAC against fully-loaded P&L. If channel CACs sum to less than total acquisition spend, allocations are missing.
63
+
64
+ ## Gotcha
65
+
66
+ - Marketing-spend-only CAC is the most common deception. Sales comp, BDR salaries, content production, and tooling all belong in fully-loaded CAC.
67
+ - Net-dollar retention > 100% does not justify ignoring logo churn — they answer different questions.
68
+ - ARPA averaged across plan tiers hides churn concentrated in one tier. Compute per tier when tiers differ in price by more than 2×.
69
+ - Payback period using contribution margin (post variable-cost) is honest; payback using gross revenue is the kind of math VCs see in pitch decks and discount on sight.
70
+
71
+ ## Do NOT
72
+
73
+ - Do NOT extrapolate LTV beyond observable cohort data without saying so explicitly.
74
+ - Do NOT mix freemium activation rates with paid CAC; they live in different universes.
75
+ - Do NOT report a single LTV/CAC for a business with multiple distinct customer segments — segment first.
76
+
77
+ ## Related Skills
78
+
79
+ **WHEN to use this**
80
+
81
+ - The question is per-customer economics (CAC, LTV, payback, contribution margin).
82
+ - The decision is whether to scale a channel or pricing tier.
83
+
84
+ **WHEN NOT to use this**
85
+
86
+ - Whole-business intrinsic value with terminal value — route to [`dcf-modeling`](../dcf-modeling/SKILL.md).
87
+ - Diagnosing where conversion drops — route to [`funnel-analysis`](../funnel-analysis/SKILL.md).
88
+ - Ranking competing initiatives — route to [`rice-prioritization`](../rice-prioritization/SKILL.md).
89
+ - Setting team objectives that move these metrics — route to [`okr-tree-modeling`](../okr-tree-modeling/SKILL.md).
90
+
91
+ ## When the agent should load this
92
+
93
+ - "What's our LTV / CAC?"
94
+ - "Is this channel paying back fast enough?"
95
+ - "Compute unit economics for this pricing tier."
96
+ - "Are we unit-economic at this CAC?"
97
+ - "Cohort our payback period."
98
+
99
+ ## Output
100
+
101
+ 1. **`unit-econ-table.md`** — table per channel and blended: CAC · ARPA · gross margin · payback months · LTV · LTV/CAC. With cohort columns (last 4 quarters).
102
+ 2. **`assumptions.md`** — formula chosen (SaaS / marketplace / transactional), churn definition, COGS allocation method, lifetime cap. One bullet per choice.
103
+ 3. **`cohort-trend.md`** — trend chart (ASCII or markdown table) of CAC, payback, LTV/CAC over the last 4–8 cohorts. Annotate channel-mix shifts.
104
+ 4. **`sanity-checks.md`** — explicit cross-checks (LTV vs annual revenue, channel CAC sum vs P&L). Flag any that fail with a one-line investigation pointer.
@@ -71,7 +71,7 @@ Goal: understand structure, identify major components, detect investigation path
71
71
  ### Investigation mode
72
72
 
73
73
  Use when there is a concrete issue inside a large or unclear system.
74
- Goal: isolate the affected area, route into root-cause analysis, verify likely causes with evidence.
74
+ Goal: isolate the affected area, route into root-cause analysis, verify likely with evidence.
75
75
 
76
76
  ### Optimization mode
77
77
 
@@ -15,6 +15,7 @@ source: package
15
15
  * Experimenting with a refactor that may be thrown away — a throwaway
16
16
  worktree is cheaper than a throwaway commit
17
17
  * A long-running build or test suite is busy in the current worktree
18
+ * `subagent-orchestration` mode 6 (`do-in-worktrees`) was selected for a cross-wing chain — this skill is the executor that creates the per-step isolated worktrees the chain expects
18
19
 
19
20
  Do NOT use when:
20
21
 
@@ -113,7 +113,7 @@ Regenerate: `task generate-tools` · Clean: `task clean-tools`
113
113
  |---|---|
114
114
  | `.env` | Main environment |
115
115
  | `.env.local` | Local overrides |
116
- | `.env.testing` | Testing environment |
116
+ | `.env.testing` | Testing env |
117
117
 
118
118
  ---
119
119