@event4u/agent-config 2.7.0 → 2.9.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 (76) hide show
  1. package/.agent-src/personas/cmo.md +122 -0
  2. package/.agent-src/personas/customer-success-lead.md +126 -0
  3. package/.agent-src/personas/engineering-manager.md +133 -0
  4. package/.agent-src/personas/finance-partner.md +129 -0
  5. package/.agent-src/personas/growth-pm.md +134 -0
  6. package/.agent-src/personas/people-strategist.md +126 -0
  7. package/.agent-src/personas/revops.md +125 -0
  8. package/.agent-src/personas/strategist.md +129 -0
  9. package/.agent-src/skills/activation-design/SKILL.md +160 -0
  10. package/.agent-src/skills/build-buy-partner/SKILL.md +145 -0
  11. package/.agent-src/skills/churn-prevention/SKILL.md +156 -0
  12. package/.agent-src/skills/comp-banding/SKILL.md +160 -0
  13. package/.agent-src/skills/competitive-moat-analysis/SKILL.md +152 -0
  14. package/.agent-src/skills/content-funnel-design/SKILL.md +170 -0
  15. package/.agent-src/skills/contracts-cognition/SKILL.md +147 -0
  16. package/.agent-src/skills/data-handling-judgment/SKILL.md +155 -0
  17. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +165 -0
  18. package/.agent-src/skills/editorial-calendar/SKILL.md +161 -0
  19. package/.agent-src/skills/expansion-playbook/SKILL.md +171 -0
  20. package/.agent-src/skills/forecast-accuracy/SKILL.md +157 -0
  21. package/.agent-src/skills/forecasting/SKILL.md +164 -0
  22. package/.agent-src/skills/fundraising-narrative/SKILL.md +189 -0
  23. package/.agent-src/skills/funnel-analysis/SKILL.md +26 -2
  24. package/.agent-src/skills/gtm-launch/SKILL.md +165 -0
  25. package/.agent-src/skills/hiring-loop-design/SKILL.md +167 -0
  26. package/.agent-src/skills/market-entry-analysis/SKILL.md +144 -0
  27. package/.agent-src/skills/messaging-architecture/SKILL.md +184 -0
  28. package/.agent-src/skills/onboarding-design/SKILL.md +158 -0
  29. package/.agent-src/skills/onboarding-program/SKILL.md +157 -0
  30. package/.agent-src/skills/one-on-one-cadence/SKILL.md +161 -0
  31. package/.agent-src/skills/org-design/SKILL.md +158 -0
  32. package/.agent-src/skills/perf-feedback-craft/SKILL.md +157 -0
  33. package/.agent-src/skills/pipeline-strategy/SKILL.md +159 -0
  34. package/.agent-src/skills/positioning-strategy/SKILL.md +177 -0
  35. package/.agent-src/skills/privacy-review/SKILL.md +160 -0
  36. package/.agent-src/skills/retention-loops/SKILL.md +161 -0
  37. package/.agent-src/skills/runway-cognition/SKILL.md +136 -0
  38. package/.agent-src/skills/scenario-modeling/SKILL.md +139 -0
  39. package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  40. package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +165 -0
  41. package/.agent-src/skills/unit-economics-modeling/SKILL.md +54 -7
  42. package/.agent-src/skills/vision-articulation/SKILL.md +146 -0
  43. package/.agent-src/skills/voice-and-tone-design/SKILL.md +163 -0
  44. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  45. package/.agent-src/templates/scripts/telemetry/settings.py +65 -0
  46. package/.agent-src/templates/scripts/tier_usage_report.py +183 -0
  47. package/.claude-plugin/marketplace.json +34 -2
  48. package/AGENTS.md +1 -1
  49. package/CHANGELOG.md +135 -153
  50. package/README.md +3 -3
  51. package/docs/architecture.md +37 -11
  52. package/docs/archive/CHANGELOG-pre-2.7.0.md +185 -0
  53. package/docs/catalog.md +38 -4
  54. package/docs/contracts/adr-forecast-construction-shape.md +89 -0
  55. package/docs/contracts/adr-gtm-context-spine.md +115 -0
  56. package/docs/contracts/adr-wing4-context-spine.md +125 -0
  57. package/docs/contracts/command-clusters.md +41 -0
  58. package/docs/contracts/command-surface-tiers.md +30 -9
  59. package/docs/contracts/context-spine.md +58 -12
  60. package/docs/contracts/cross-wing-handoff.md +3 -3
  61. package/docs/contracts/mcp-beta-criteria.md +129 -0
  62. package/docs/contracts/persona-schema.md +20 -3
  63. package/docs/guidelines/gtm-handoff.md +114 -0
  64. package/docs/guidelines/wing4-handoff.md +127 -0
  65. package/docs/mcp-server.md +1 -1
  66. package/package.json +1 -1
  67. package/scripts/_cli/cmd_doctor.py +527 -14
  68. package/scripts/_cli/cmd_validate.py +10 -0
  69. package/scripts/agent-config +19 -18
  70. package/scripts/install.py +5 -0
  71. package/scripts/lint_context_spine_usage.py +5 -1
  72. package/scripts/mcp_server/__init__.py +1 -0
  73. package/scripts/mcp_server/server.py +4 -3
  74. package/scripts/schemas/persona.schema.json +5 -0
  75. package/scripts/schemas/skill.schema.json +2 -2
  76. package/scripts/skill_linter.py +284 -6
@@ -0,0 +1,185 @@
1
+ # Changelog Archive — pre-2.7.0
2
+
3
+ > Frozen snapshot of all `event4u/agent-config` changelog entries from
4
+ > `2.6.1` and earlier (back to `2.2.0`), split out of the main
5
+ > [`CHANGELOG.md`](../../CHANGELOG.md) on 2026-05-13 once the active
6
+ > era's body crossed the 200-line drift cap enforced by
7
+ > `tests/test_changelog_eras.py`.
8
+ >
9
+ > **Read-only.** New entries land in `CHANGELOG.md` § "Era: 2.7.x".
10
+ > Entries here are not amended — git tags `2.6.1` and prior remain the
11
+ > canonical source for what shipped.
12
+ >
13
+ > Entry shape follows the conventions documented in
14
+ > [`docs/contracts/CHANGELOG-conventions.md`](../contracts/CHANGELOG-conventions.md).
15
+ > Entries from `2.1.0` and earlier live in
16
+ > [`CHANGELOG-pre-2.2.0.md`](CHANGELOG-pre-2.2.0.md).
17
+
18
+ ## [2.6.1](https://github.com/event4u-app/agent-config/compare/2.6.0...2.6.1) (2026-05-13)
19
+
20
+ ### Chores
21
+
22
+ * **gitignore:** add /agents/state/ to consumer template ([80449c4](https://github.com/event4u-app/agent-config/commit/80449c4fa13ca847f8af925d4b7e472658c60aef))
23
+
24
+ Tests: 3530 (+0 since 2.6.0)
25
+
26
+ ## [2.6.0](https://github.com/event4u-app/agent-config/compare/2.4.1...2.6.0) (2026-05-13)
27
+
28
+ ### Features
29
+
30
+ * **claude-desktop:** bundle commands as desktop skills ([50cd319](https://github.com/event4u-app/agent-config/commit/50cd31988ac571ecdf883c5d2c6d62c209820ebc))
31
+
32
+ ### Other
33
+
34
+ * 2.5.0 ([1da0e10](https://github.com/event4u-app/agent-config/commit/1da0e1014b9cf24cf41d820795f96f2668ce738c))
35
+
36
+ Tests: 3530 (+9 since 2.4.1)
37
+
38
+ ## [2.5.0](https://github.com/event4u-app/agent-config/compare/2.4.1...2.5.0) (2026-05-13)
39
+
40
+ ### Features
41
+
42
+ * **claude-desktop:** bundle commands as desktop skills ([50cd319](https://github.com/event4u-app/agent-config/commit/50cd31988ac571ecdf883c5d2c6d62c209820ebc))
43
+
44
+ Tests: 3530 (+9 since 2.4.1)
45
+
46
+ ## [2.4.1](https://github.com/event4u-app/agent-config/compare/2.4.0...2.4.1) (2026-05-13)
47
+
48
+ ### Bug Fixes
49
+
50
+ * **install:** write lockfile to canonical event4u namespace ([ca57607](https://github.com/event4u-app/agent-config/commit/ca5760785f150903bcad74e278b59e534f83634d))
51
+ * **install:** source global deploy from .agent-src/ subdirectories ([f151caf](https://github.com/event4u-app/agent-config/commit/f151caf854d9ce8519bc244d441a7c8bf73e7fde))
52
+
53
+ Tests: 3521 (+0 since 2.4.0)
54
+
55
+ ## [2.4.0](https://github.com/event4u-app/agent-config/compare/2.3.0...2.4.0) (2026-05-13)
56
+
57
+ ### Features
58
+
59
+ * **install:** Claude Desktop ZIP bundle deployment ([9f2a00c](https://github.com/event4u-app/agent-config/commit/9f2a00cfd752232abdcf16c6e3440c46f5c9d596))
60
+ * **install:** event4u namespace and auto-migration shim ([a58570e](https://github.com/event4u-app/agent-config/commit/a58570ecff885a7d50350c4281e675d7ff34f912))
61
+
62
+ ### Bug Fixes
63
+
64
+ * **agent_settings:** align source with template via relative import ([a85b6c8](https://github.com/event4u-app/agent-config/commit/a85b6c82284310876d075a924918052fc7dbabdb))
65
+ * **work_engine:** vendor user_global_paths into template for self-contained import ([f111c4e](https://github.com/event4u-app/agent-config/commit/f111c4e60de6cd60fbe81635029f9f34437a5ead))
66
+ * **migrate:** atomic per-entry write with partial-debris purge ([5bd5aad](https://github.com/event4u-app/agent-config/commit/5bd5aadf0085657ec98eee049dda440d05b06801))
67
+
68
+ ### Documentation
69
+
70
+ * **roadmap:** mark Steps 5-6 done (commit + PR opened) ([8492b7f](https://github.com/event4u-app/agent-config/commit/8492b7fd3cfd76075a64d5de770db2c5013e02dd))
71
+ * **adr:** ADR-009 rollback section + AI Council convergence ([cc78adc](https://github.com/event4u-app/agent-config/commit/cc78adc0a9d0fbc51b2a65f35d8e0f13c1456a2f))
72
+ * **contracts:** mark installed-tools-lockfile as beta ([90991da](https://github.com/event4u-app/agent-config/commit/90991da2f840ebae978fc4df9996c01324816404))
73
+ * **adr:** ADR-009 event4u namespace + Claude Desktop ZIP bundles ([c707bd3](https://github.com/event4u-app/agent-config/commit/c707bd31211f94ace858738b7aee8d3898f0da88))
74
+ * **roadmap:** add road-to-event4u-namespace-and-claude-desktop ([d92706b](https://github.com/event4u-app/agent-config/commit/d92706bd53621ff3a225db6eb9ee490f17f613d2))
75
+
76
+ ### Chores
77
+
78
+ * **onboard:** rephrase 'event4u-owned' as 'package-owned' ([4bdd43b](https://github.com/event4u-app/agent-config/commit/4bdd43b7a6637a36cfa377045b6cd0f3f51b0fd1))
79
+ * **template:** bump agent_config_version pin to 2.3.0 ([1180bf2](https://github.com/event4u-app/agent-config/commit/1180bf263f2f33fb5b41b13439c92cfbdc3a70d8))
80
+ * **index:** regenerate index + catalog for accurate counts ([655a5eb](https://github.com/event4u-app/agent-config/commit/655a5eb81ce6744548a6f50451f66576a7c2b5ac))
81
+ * **sync:** regenerate derived outputs for event4u namespace ([c277a94](https://github.com/event4u-app/agent-config/commit/c277a94f881ad4702ed2e97cebf6c5a7c8471a35))
82
+
83
+ Tests: 3521 (+31 since 2.3.0)
84
+
85
+ ## [2.3.0](https://github.com/event4u-app/agent-config/compare/2.2.2...2.3.0) (2026-05-13)
86
+
87
+ ### Features
88
+
89
+ * **prune:** add --resume-uninstall for focused crash recovery ([1c98454](https://github.com/event4u-app/agent-config/commit/1c9845404f1e629f802494c732f7438aa4335c8e))
90
+ * **dev:** add dev:install-global and dev:link tasks for local development ([db4bdc9](https://github.com/event4u-app/agent-config/commit/db4bdc9794752791bb93235cc9cc3179df9b88df))
91
+ * **install:** manifest schema v2 + doctor + conflict detection + inline tag ([50c0892](https://github.com/event4u-app/agent-config/commit/50c0892bf01eb904e48dd786ef03c519f82be485))
92
+ * **cli:** add prune command for orphaned bridge markers ([d16abff](https://github.com/event4u-app/agent-config/commit/d16abff8ac9fd55ccd501d319785f463eb7cbeee))
93
+ * **cli:** add uninstall/versions subcommands and --offline mode ([12a8e75](https://github.com/event4u-app/agent-config/commit/12a8e75945f1d26c1412d17331788c8e51601cea))
94
+ * **install:** add workflow-mode activation hints to IDE bridges ([5e09e17](https://github.com/event4u-app/agent-config/commit/5e09e17f0de62b4113bd68839d6ce55a1527d4b1))
95
+ * **rules:** add external-reference-deep-dive hardening rule ([0d2c80c](https://github.com/event4u-app/agent-config/commit/0d2c80c0f418b80a67d08c4577cfe67ab6abe3db))
96
+ * **install:** expand global content deployment to 23 AI tools ([3ef13a7](https://github.com/event4u-app/agent-config/commit/3ef13a7c2ae16b95da9e5a49ec3a19c5cb211357))
97
+
98
+ ### Bug Fixes
99
+
100
+ * **install:** normalise manifest paths + surface doctor remediation hint ([b4662b6](https://github.com/event4u-app/agent-config/commit/b4662b609db6b1b4660652facc0efb10b36a5d51))
101
+ * **test:** patch USERPROFILE in isolated_lock fixture for Windows ([ac1c924](https://github.com/event4u-app/agent-config/commit/ac1c924e08822e09471c0cf0077ad69be531d7b5))
102
+
103
+ ### Documentation
104
+
105
+ * **readme:** remove stale vX.0 breaking-change notice ([d6aef9a](https://github.com/event4u-app/agent-config/commit/d6aef9acce3e5409f0ffc641ecf026af1f9bb863))
106
+ * **roadmap:** sharpen Phase 6 deferred trigger — name the collision ([d0a6dd2](https://github.com/event4u-app/agent-config/commit/d0a6dd28294c011d4135b4047e4e5252008fcf05))
107
+ * **roadmap:** close + archive multi-package coexistence ([3ef464f](https://github.com/event4u-app/agent-config/commit/3ef464fd6123ead7ca755542a1459e6a9e8e270b))
108
+ * **roadmap:** plan + close phases 1-5 of multi-package coexistence ([34967a5](https://github.com/event4u-app/agent-config/commit/34967a5e6525d4d742155ee3bd3fe0bb80d852bf))
109
+ * **install:** add installed-tools-lockfile wire contract ([c352db3](https://github.com/event4u-app/agent-config/commit/c352db383f6bf6dc328159289fa4d96abb2594c4))
110
+ * **setup:** add per-IDE activation guides for 14 tools ([6379a49](https://github.com/event4u-app/agent-config/commit/6379a49fed6ac3256c23ac8e04c69fa0d4f85aa2))
111
+
112
+ ### Tests
113
+
114
+ * **e2e:** cover shared JSON merges, sole-owner cleanup, conflict chain ([0ff50ae](https://github.com/event4u-app/agent-config/commit/0ff50ae617d878138376e535fc8b5c22a7677356))
115
+ * **install:** e2e multi-package coexistence scenario ([081318e](https://github.com/event4u-app/agent-config/commit/081318ea8e3c872548839d100117cbd9b4a1343a))
116
+ * **cli:** cover prune — orphans, dry-run, json, hard-floor ([0261ea2](https://github.com/event4u-app/agent-config/commit/0261ea2e1687e6904bdcb3083cb0d700b6ef82e5))
117
+
118
+ ### CI
119
+
120
+ * **tests:** bump per-shard parallelism explicitly to beat macOS nproc=3 ([83a3b4d](https://github.com/event4u-app/agent-config/commit/83a3b4d3bf6eefe10963d84525469aeb8e3b8abe))
121
+ * **tests:** bump install-tests shards 3→4 to keep macOS under 2min ([dd4d5bc](https://github.com/event4u-app/agent-config/commit/dd4d5bc385282d344809a057d015a968811d4a3b))
122
+ * **tests:** shard install-tests matrix to hit 1-2min/job target ([6a56416](https://github.com/event4u-app/agent-config/commit/6a564161f0a74601fe077d34c76f2f5a27657893))
123
+ * **tests:** parallelize install-tests + fix Windows UTF-8 encoding ([e346a26](https://github.com/event4u-app/agent-config/commit/e346a26e91be633a63e8c7d46fb09a3a6cdf800e))
124
+ * **tests:** bootstrap .augment/ projection before pytest ([e40371e](https://github.com/event4u-app/agent-config/commit/e40371ea7b0c345ee59eba8ba5e47328bf6aebe9))
125
+
126
+ ### Chores
127
+
128
+ * finalize changes ([7cbbe68](https://github.com/event4u-app/agent-config/commit/7cbbe6881e040d67fd0598df73b82b3fbd1278c0))
129
+ * regenerate router.json after kernel/tier rebuild ([ff5f10e](https://github.com/event4u-app/agent-config/commit/ff5f10e0589f46782ec6381a84377f22b90d7edc))
130
+ * **marketplace:** refresh marketplace.json manifest ([eb9b934](https://github.com/event4u-app/agent-config/commit/eb9b934f5b4573ec1fcde19f91f6a20637b8dbeb))
131
+
132
+ Tests: 3490 (+140 since 2.2.2)
133
+
134
+ ## [2.2.2](https://github.com/event4u-app/agent-config/compare/2.2.1...2.2.2) (2026-05-12)
135
+
136
+ ### Bug Fixes
137
+
138
+ * allow --global installs from agent-config source repo ([1be1b44](https://github.com/event4u-app/agent-config/commit/1be1b4429e8fa3ff3fb2981a1368138aa34186ac))
139
+
140
+ Tests: 3350 (+0 since 2.2.1)
141
+
142
+ ## [2.2.1](https://github.com/event4u-app/agent-config/compare/2.2.0...2.2.1) (2026-05-12)
143
+
144
+ ### Documentation
145
+
146
+ * changelog + ADR-007 note for package consolidation ([1d0d6fb](https://github.com/event4u-app/agent-config/commit/1d0d6fb8882431ee11a6b034f6157ae9f8ccea4d))
147
+ * update install commands to npx @event4u/agent-config init ([b9956c6](https://github.com/event4u-app/agent-config/commit/b9956c6ff827433bff7dc9aa1f40ba3454ef5154))
148
+
149
+ ### Chores
150
+
151
+ * consolidate npm package into @event4u/agent-config init ([d3188ce](https://github.com/event4u-app/agent-config/commit/d3188ced3edac5b670b68e22f51295ef831471d6))
152
+
153
+ Tests: 3350 (+0 since 2.2.0)
154
+
155
+ ## [2.2.0](https://github.com/event4u-app/agent-config/compare/2.1.0...2.2.0) (2026-05-12)
156
+
157
+ ### Features
158
+
159
+ * **npx:** expand --tools validator to 13 supported AI ids ([7af69a7](https://github.com/event4u-app/agent-config/commit/7af69a766f575c30d8f29ea04052647b6a1b8a19))
160
+ * **cli:** add sync and validate subcommands for installed-tools manifest ([62a5c66](https://github.com/event4u-app/agent-config/commit/62a5c66a131bcf8866be2a8c0e76ba6e054017af))
161
+ * **cli:** add export subcommand and update version-drift handling ([6110f3b](https://github.com/event4u-app/agent-config/commit/6110f3b0ee454ca215c569d8f42ca38ffce577e8))
162
+ * **install:** global-first install with lockfile + installed-tools manifest engine ([6200d42](https://github.com/event4u-app/agent-config/commit/6200d42225d5712a10d5458dc608da3f5cd0164c))
163
+
164
+ ### Bug Fixes
165
+
166
+ * **rules:** trim no-cheap-questions to satisfy 12% concentration cap ([4abf946](https://github.com/event4u-app/agent-config/commit/4abf94628838c027da13d190e5e7b27738070db2))
167
+
168
+ ### Documentation
169
+
170
+ * **rules:** add no-cheap-questions Iron Law 3 against paternalistic state options ([b98687b](https://github.com/event4u-app/agent-config/commit/b98687bd397d39eae6811e54eb743a095fa33b8b))
171
+ * README + installation + manifest guideline for global-first install ([cdc52ff](https://github.com/event4u-app/agent-config/commit/cdc52ffc5abb9cff6fda9133dd0b8dc524794d18))
172
+ * **contracts:** add tier-3 contrib plugin contract ([2dbf9cd](https://github.com/event4u-app/agent-config/commit/2dbf9cd2ec772dc2248de2b8f17248e97a67a60b))
173
+ * **adr:** add ADR-007 global-first install + ADR-008 installed-tools manifest ([e214de2](https://github.com/event4u-app/agent-config/commit/e214de27bd8d19858fdc16cecc4ebfeaaebce136))
174
+
175
+ ### CI
176
+
177
+ * **windows:** add lockfile + export tests on Windows runner ([e5802a5](https://github.com/event4u-app/agent-config/commit/e5802a56f45bcfd5eb845c7af816bb12a0b4492b))
178
+
179
+ ### Chores
180
+
181
+ * **taskfile:** add test-install-local for offline one-liner smoke test ([594ac69](https://github.com/event4u-app/agent-config/commit/594ac69c8682f106dee9ebc9ce3e55bb0083e254))
182
+ * **roadmap:** archive road-to-global-first-install (24/24 complete) ([71d8cf2](https://github.com/event4u-app/agent-config/commit/71d8cf2966976c286ffecc1646cb7990255cccd1))
183
+
184
+ Tests: 3350 (+97 since 2.1.0)
185
+
package/docs/catalog.md CHANGED
@@ -1,17 +1,18 @@
1
1
  # agent-config — Public Catalog
2
2
 
3
- Consumer-facing catalog of all **408 public artefacts** shipped by
3
+ Consumer-facing catalog of all **442 public artefacts** shipped by
4
4
  this package. Internal package-maintenance rules and deprecation shims
5
5
  are excluded.
6
6
 
7
7
  > **Regenerate:** `python3 scripts/generate_index.py`
8
8
  > Auto-generated — do not edit manually.
9
9
 
10
- ## Skills (174)
10
+ ## Skills (206)
11
11
 
12
12
  | kind | name | extra | description |
13
13
  |---|---|---|---|
14
14
  | skill | [`accessibility-auditor`](../.agent-src/skills/accessibility-auditor/SKILL.md) | | Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'. |
15
+ | skill | [`activation-design`](../.agent-src/skills/activation-design/SKILL.md) | | Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'. |
15
16
  | skill | [`adr-create`](../.agent-src/skills/adr-create/SKILL.md) | | Use when capturing an architectural decision — naming the file, picking the next ADR number, filling Status / Context / Decision / Consequences, and regenerating the index — even without saying 'ADR'. |
16
17
  | skill | [`adversarial-review`](../.agent-src/skills/adversarial-review/SKILL.md) | | ONLY when user explicitly requests adversarial review, devil's advocate analysis, stress-testing a plan, or 'poke holes in this' — NOT for regular code review or design feedback. |
17
18
  | skill | [`agent-docs-writing`](../.agent-src/skills/agent-docs-writing/SKILL.md) | | Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure. |
@@ -30,23 +31,31 @@ are excluded.
30
31
  | skill | [`blade-ui`](../.agent-src/skills/blade-ui/SKILL.md) | | Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.py`. Covers views, components, partials, layouts, and view logic. |
31
32
  | skill | [`blast-radius-analyzer`](../.agent-src/skills/blast-radius-analyzer/SKILL.md) | | Use BEFORE editing shared code — enumerates every call site, event consumer, queue worker, API client, migration, and test that a planned change will touch, with a file:line citation per dependency. |
32
33
  | skill | [`bug-analyzer`](../.agent-src/skills/bug-analyzer/SKILL.md) | | Use when the user shares a Sentry error, Jira bug ticket, or error description and wants root cause analysis. Also for proactive bug hunting and code audits for hidden bugs. |
34
+ | skill | [`build-buy-partner`](../.agent-src/skills/build-buy-partner/SKILL.md) | | Use when deciding insource vs outsource vs acquire — integration-cost analysis, dependency-risk, optionality preservation. Triggers on 'should we build', 'buy vs partner'. |
33
35
  | skill | [`check-refs`](../.agent-src/skills/check-refs/SKILL.md) | | Use when verifying cross-references between skills, rules, commands, guidelines, and context documents are not broken after edits, renames, or deletions. |
36
+ | skill | [`churn-prevention`](../.agent-src/skills/churn-prevention/SKILL.md) | | Use when designing churn defence — health-score signals, churn-cause split (involuntary / value / relationship / fit), early-warning loop. Triggers on 'why are accounts leaving'. |
34
37
  | skill | [`code-refactoring`](../.agent-src/skills/code-refactoring/SKILL.md) | | Use when the user says "refactor this", "rename class", or "move method". Safely refactors PHP code — finds all callers, updates downstream dependencies, and verifies with quality tools. |
35
38
  | skill | [`code-review`](../.agent-src/skills/code-review/SKILL.md) | | Use when the user says "review this", "check my code", or wants feedback on changes. Reviews for correctness, quality, security, and coding standards. |
36
39
  | skill | [`command-routing`](../.agent-src/skills/command-routing/SKILL.md) | | Use when the user invokes a slash command like /create-pr, /commit, /fix-ci, or pastes command file content — routes to the right command with context inference and GitHub API patterns. |
37
40
  | skill | [`command-writing`](../.agent-src/skills/command-writing/SKILL.md) | | Use when creating or editing a slash command in .agent-src.uncompressed/commands/ — frontmatter, numbered steps, safety gates — even when the user just says 'add a /command for X'. |
41
+ | skill | [`comp-banding`](../.agent-src/skills/comp-banding/SKILL.md) | | Use when designing levels, comp bands, equity-vs-cash, geo adjustments, or raise vs promotion vs market correction. Triggers on 'set our comp bands', 'is this raise market'. |
42
+ | skill | [`competitive-moat-analysis`](../.agent-src/skills/competitive-moat-analysis/SKILL.md) | | Use when mapping competitors, naming defensibility, and finding white-space — moat reasoning, where-to-play, where-not-to-play. Triggers on 'who are we competing with', 'what's our moat'. |
38
43
  | skill | [`competitive-positioning`](../.agent-src/skills/competitive-positioning/SKILL.md) | | Use when comparing this package to a peer / competitor — ours-vs-theirs verdict table, axis selection, adoption queue. Triggers on 'how do we compare to X', 'should we adopt their pattern'. |
39
44
  | skill | [`composer-packages`](../.agent-src/skills/composer-packages/SKILL.md) | | Use when building or maintaining a Composer library — versioning, Laravel integration, autoloading, publishing to private registries — even when the user says 'release a new version'. |
45
+ | skill | [`content-funnel-design`](../.agent-src/skills/content-funnel-design/SKILL.md) | | Use when mapping funnel-stage to content shape — conversion-pathway, content-as-system, leverage-point selection. Triggers on 'design our content funnel', 'why does mid-funnel leak'. |
40
46
  | skill | [`context-authoring`](../.agent-src/skills/context-authoring/SKILL.md) | | Use when filling in knowledge-layer context files — auth-model, tenant-boundaries, data-sensitivity, deployment-order, observability — interactive walkthrough that turns templates into reviewer fuel. |
41
47
  | skill | [`context-document`](../.agent-src/skills/context-document/SKILL.md) | | Use when the user says "create context", "document this area", or wants a structured snapshot of a codebase area for agent orientation. |
48
+ | skill | [`contracts-cognition`](../.agent-src/skills/contracts-cognition/SKILL.md) | | Use when reading a contract for risk and constraint — clause shape, redline priority, what the contract actually binds. Triggers on 'review this contract', 'what does this MSA constrain'. |
42
49
  | skill | [`conventional-commits-writing`](../.agent-src/skills/conventional-commits-writing/SKILL.md) | | Use when writing commit messages or squash-merge titles — `feat:`, `fix:`, `chore:`, scopes, breaking changes — even when the user just says 'commit this' without naming Conventional Commits. |
43
50
  | skill | [`copilot-agents-optimization`](../.agent-src/skills/copilot-agents-optimization/SKILL.md) | | Use when optimizing AGENTS.md or copilot-instructions.md — deduplicates against .augment/ content, enforces line budgets, and focuses each file on its audience. |
44
51
  | skill | [`copilot-config`](../.agent-src/skills/copilot-config/SKILL.md) | | Use when configuring GitHub Copilot — copilot-instructions.md, PR review patterns, output optimization — even when the user just says 'tune Copilot' or 'why is Copilot commenting on X'. |
45
52
  | skill | [`customer-research`](../.agent-src/skills/customer-research/SKILL.md) | | Use when shaping a discovery slice — JTBD-framed interview guide, switch-event focus, verbatim quotes not summaries. Triggers on 'talk to users', 'why did they cancel', 'before we build X'. |
46
53
  | skill | [`dashboard-design`](../.agent-src/skills/dashboard-design/SKILL.md) | | Use when designing monitoring dashboards — visualization selection, layout principles, observability strategies (RED/USE/Golden Signals), and data storytelling. |
47
54
  | skill | [`data-flow-mapper`](../.agent-src/skills/data-flow-mapper/SKILL.md) | | Use BEFORE editing code that touches user data — traces the value from entry → validation → transformation → storage → egress, every hop cited with file:line. |
55
+ | skill | [`data-handling-judgment`](../.agent-src/skills/data-handling-judgment/SKILL.md) | | Use when classifying data, setting retention, judging cross-border transfer, or shaping DSR workflow. Triggers on 'how long do we keep this', 'can this data go to the US'. |
48
56
  | skill | [`database`](../.agent-src/skills/database/SKILL.md) | | Use when working with database architecture, MariaDB/MySQL tuning, indexing strategies, slow queries, or multi-connection patterns — even when the user just says 'this query is slow'. |
49
57
  | skill | [`dcf-modeling`](../.agent-src/skills/dcf-modeling/SKILL.md) | | Wing-4 valuation cognition for a CFO / finance-partner. Use when a deal, internal investment, or board ask names DCF, intrinsic value, WACC, terminal value, or 'what's it worth on a 5-year hold'. |
58
+ | skill | [`deal-qualification-meddic`](../.agent-src/skills/deal-qualification-meddic/SKILL.md) | | Use when qualifying or disqualifying a single deal — MEDDIC slots with evidence, inversion test, disqualification heuristic. Triggers on 'is this deal real', 'should we walk away'. |
50
59
  | skill | [`decision-record`](../.agent-src/skills/decision-record/SKILL.md) | | Use when locking a trade-off, structuring an ADR draft, or wiring supersession chains — frames options · trade-offs · consequences before the file is written by `adr-create`. |
51
60
  | skill | [`deep-reading-analyst`](../.agent-src/skills/deep-reading-analyst/SKILL.md) | | Deep analysis of articles/long-form via thinking frameworks (SCQA, mental models, inversion) — 'analyze article', 'deep dive', 'extract insights', URL/text wanting depth not summary. |
52
61
  | skill | [`defense-in-depth`](../.agent-src/skills/defense-in-depth/SKILL.md) | | Use when validation needs entry, business-logic, environment, and instrumentation guards so a bad value cannot reach the failure point — turns a local bug fix into a structural one. |
@@ -58,21 +67,28 @@ are excluded.
58
67
  | skill | [`discovery-interview`](../.agent-src/skills/discovery-interview/SKILL.md) | | Use when running discovery interviews — question-bank build, bias audit, insight extraction. Triggers on 'audit my guide', 'extract insights from transcript', 'is my hypothesis falsifiable'. |
59
68
  | skill | [`docker`](../.agent-src/skills/docker/SKILL.md) | | Use when working with Docker — Dockerfile edits, docker-compose services, containers, or the dual-container (fast + Xdebug) setup — even when the user just says 'my container won't start'. |
60
69
  | skill | [`dto-creator`](../.agent-src/skills/dto-creator/SKILL.md) | | Use when the user says "create a DTO", "new data transfer object", or needs to convert request/response data into a typed PHP class. Creates DTOs with SimpleDto base class and attribute mapping. |
70
+ | skill | [`editorial-calendar`](../.agent-src/skills/editorial-calendar/SKILL.md) | | Use when shaping cadence — evergreen / campaign / reactive split, beat-mapping across channel stages, content-debt management. Triggers on 'plan our content cadence', 'what should we publish'. |
61
71
  | skill | [`eloquent`](../.agent-src/skills/eloquent/SKILL.md) | | Use when writing Eloquent models, relationships, scopes, or queries via Model:: — 'fetch users with their orders'. NOT for PHPStan output, non-Eloquent services, or raw SQL questions. |
62
72
  | skill | [`error-handling-patterns`](../.agent-src/skills/error-handling-patterns/SKILL.md) | | Use when picking a failure-reporting strategy — exceptions vs Result types, recoverable vs not, retry / circuit-breaker / graceful degradation — decision framework only, catalogues externalized. |
63
73
  | skill | [`estimate-ticket`](../.agent-src/skills/estimate-ticket/SKILL.md) | | Estimate a Jira/Linear ticket — 'estimate PROJ-123', 'wie groß ist das?', 'should we split this?' — size + risk + split + uncertainty, sibling of /refine-ticket, close-prompt. |
64
74
  | skill | [`existing-ui-audit`](../.agent-src/skills/existing-ui-audit/SKILL.md) | | Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set. |
75
+ | skill | [`expansion-playbook`](../.agent-src/skills/expansion-playbook/SKILL.md) | | Use when designing account-expansion mechanics — upsell vs cross-sell, expansion-trigger signals, NRR cognition. Triggers on 'lift NRR', 'when do we upsell vs cross-sell'. |
65
76
  | skill | [`fe-design`](../.agent-src/skills/fe-design/SKILL.md) | | Reference for frontend-design heuristics — component architecture, layout patterns, form/table design, responsive strategy, a11y, UX principles. Stack-agnostic; cited by directives/ui/design.py. |
66
77
  | skill | [`feature-planning`](../.agent-src/skills/feature-planning/SKILL.md) | | Use when the user says "plan a feature", "brainstorm", "explore this idea", or wants to go from idea to structured plan and roadmap. |
67
78
  | skill | [`file-editor`](../.agent-src/skills/file-editor/SKILL.md) | | Use when opening edited files in the user's IDE. Reads settings from .agent-settings.yml to determine IDE and whether auto-open is enabled. |
68
79
  | skill | [`finishing-a-development-branch`](../.agent-src/skills/finishing-a-development-branch/SKILL.md) | | Use when the feature is implementation-complete and the next step is 'ship it' — verifies, cleans up, and routes to merge/PR/park/discard — even when the user just says 'I'm done, what now?'. |
69
80
  | skill | [`flux`](../.agent-src/skills/flux/SKILL.md) | | Use when the project uses `livewire/flux` — dispatched by `directives/ui/{apply,review,polish}.py`. Covers Flux components, slots, variants, and form primitives. |
81
+ | skill | [`forecast-accuracy`](../.agent-src/skills/forecast-accuracy/SKILL.md) | | Use when constructing the forecast call — commit / best-case / pipeline categorisation, deal-level evidence test, accuracy retro-loop. Triggers on 'build the forecast', 'why does our commit miss'. |
82
+ | skill | [`forecasting`](../.agent-src/skills/forecasting/SKILL.md) | | Use when constructing the finance-side forecast — top-down vs bottom-up shape, confidence bands, retro-loop. Triggers on 'build the forecast model', 'reconcile top-down with bottom-up'. |
70
83
  | skill | [`form-handler`](../.agent-src/skills/form-handler/SKILL.md) | | Use when designing or reviewing a form — validation timing, error display, submission lifecycle, optimistic UI, dirty/pristine state, idempotency — even on 'why does submit double-fire?'. |
84
+ | skill | [`fundraising-narrative`](../.agent-src/skills/fundraising-narrative/SKILL.md) | | Use when shaping a capital-raise pitch — why-now / why-us / why-this framing, market-size reasoning, traction-story construction. Triggers on 'tighten the pitch', 'why-now is weak'. |
71
85
  | skill | [`funnel-analysis`](../.agent-src/skills/funnel-analysis/SKILL.md) | | Use when diagnosing where a SaaS or product funnel leaks — visitor → signup → activation → paid → retained — channel-agnostic, conversion-rate-driven. |
72
86
  | skill | [`git-workflow`](../.agent-src/skills/git-workflow/SKILL.md) | | Use when working with Git — branch naming, commit messages, PR creation, rebasing, or the code review process — even when the user says 'push this' or 'merge the branch' without naming Git. |
73
87
  | skill | [`github-ci`](../.agent-src/skills/github-ci/SKILL.md) | | Use when working with GitHub Actions — workflow YAML, quality gates, test matrices, deployment triggers, reusable workflows — even when the user just says 'my CI is failing' or 'add a check'. |
74
88
  | skill | [`grafana`](../.agent-src/skills/grafana/SKILL.md) | | Use when working with Grafana — dashboards, Loki LogQL queries, alerting rules, monitoring panels — even when the user just says 'build me a dashboard' or 'query the logs' without naming Grafana. |
89
+ | skill | [`gtm-launch`](../.agent-src/skills/gtm-launch/SKILL.md) | | Use when sequencing a launch — alpha / beta / GA waves, audience-by-wave logic, narrative beats per wave, engineering-readiness gates. Triggers on 'plan the launch', 'sequence GA'. |
75
90
  | skill | [`guideline-writing`](../.agent-src/skills/guideline-writing/SKILL.md) | | Use when creating or editing a guideline in docs/guidelines/ — reference material cited by skills, no auto-triggers — even when the user just says 'write up our naming conventions'. |
91
+ | skill | [`hiring-loop-design`](../.agent-src/skills/hiring-loop-design/SKILL.md) | | Use when shaping an engineering hiring loop — stages, take-home vs live, calibration, bar-raiser, signal-vs-noise audit. Triggers on 'design our interview loop', 'audit our hiring bar'. |
76
92
  | skill | [`incident-commander`](../.agent-src/skills/incident-commander/SKILL.md) | | Use during or right after an incident — frames severity, sets comms cadence, drafts the post-mortem skeleton — even when the user just says 'production is down' or 'wir haben einen Vorfall'. |
77
93
  | skill | [`jira-integration`](../.agent-src/skills/jira-integration/SKILL.md) | | Use when the user says "check Jira", "create ticket", "update issue", or needs JQL queries, ticket transitions, or branch-to-ticket linking. |
78
94
  | skill | [`jobs-events`](../.agent-src/skills/jobs-events/SKILL.md) | | Use when creating Laravel jobs, queued workflows, events, or listeners. Covers clear responsibilities, safe serialization, and retry/failure handling. |
@@ -96,20 +112,27 @@ are excluded.
96
112
  | skill | [`livewire`](../.agent-src/skills/livewire/SKILL.md) | | Use when the project's frontend stack is Livewire — dispatched by `directives/ui/{apply,review,polish}.py`. Covers reactive state, events, lifecycle hooks, and component/view separation. |
97
113
  | skill | [`livewire-architect`](../.agent-src/skills/livewire-architect/SKILL.md) | | Use when shaping a Livewire component before code — full-page vs partial, parent/child split, event flow, state-vs-props boundary, hydration cost — even on 'add this Livewire component'. |
98
114
  | skill | [`logging-monitoring`](../.agent-src/skills/logging-monitoring/SKILL.md) | | Use when working with logging or monitoring — Sentry error tracking, Grafana/Loki log aggregation, structured logging channels, or monitoring helpers. |
115
+ | skill | [`market-entry-analysis`](../.agent-src/skills/market-entry-analysis/SKILL.md) | | Use when sequencing market entry — geo / segment / vertical, beachhead selection, regulatory-delta. Triggers on 'should we enter market X', 'which segment first'. |
99
116
  | skill | [`markitdown`](../.agent-src/skills/markitdown/SKILL.md) | | Use when converting PDF, DOCX, XLSX, PPTX, EPUB, images, or audio to Markdown for LLM ingestion via the upstream markitdown-mcp server — 'extract this PDF', 'OCR this image', 'transcribe this audio'. |
100
117
  | skill | [`mcp`](../.agent-src/skills/mcp/SKILL.md) | | Use when working with MCP (Model Context Protocol) servers — their tools, capabilities, and best practices for effective agent workflows. |
101
118
  | skill | [`mcp-builder`](../.agent-src/skills/mcp-builder/SKILL.md) | | Use when building an MCP server in Python (FastMCP) or Node/TypeScript (MCP SDK) — agent-centric tool design, input schemas, error handling, and the 10-question evaluation harness. |
102
119
  | skill | [`md-language-check`](../.agent-src/skills/md-language-check/SKILL.md) | | Use BEFORE saving any .md under .augment/, .agent-src*/, or agents/ — scans umlauts, German function words, and quoted German phrases outside DE:/EN: anchor blocks. Hard gate per language-and-tone. |
103
120
  | skill | [`memory-consolidation`](../.agent-src/skills/memory-consolidation/SKILL.md) | | Use when consolidating session signals into curated memory — four-phase loop ORIENT → GATHER → CONSOLIDATE → PRUNE. Triggers on 'mine my sessions', 'consolidate memory', 'review intake signals'. |
104
121
  | skill | [`merge-conflicts`](../.agent-src/skills/merge-conflicts/SKILL.md) | | Use when the user has merge conflicts or says "resolve conflicts". Understands conflict markers, resolution strategies, and verification workflow. |
122
+ | skill | [`messaging-architecture`](../.agent-src/skills/messaging-architecture/SKILL.md) | | Use when shaping the primary message, supporting proofs, and audience-by-message matrix from a locked positioning frame — before any copy or launch beat. Triggers on 'tighten the message stack'. |
105
123
  | skill | [`migration-architect`](../.agent-src/skills/migration-architect/SKILL.md) | | Use when shaping a non-trivial migration — rollout phases, dual-write windows, cutover sequencing, deprecation cycles — hands off to `migration-creator` for DDL once locked. |
106
124
  | skill | [`migration-creator`](../.agent-src/skills/migration-creator/SKILL.md) | | Use when the user says "create migration", "add column", or "new table". Creates migrations with correct table prefixes, column naming, and multi-tenant awareness. |
107
125
  | skill | [`mobile-e2e-strategy`](../.agent-src/skills/mobile-e2e-strategy/SKILL.md) | | Use when picking a mobile E2E framework — Detox / Appium / Maestro / XCUITest / Espresso — or planning iOS Simulator / Android Emulator coverage in CI for RN, Expo, or native apps. |
108
126
  | skill | [`module-management`](../.agent-src/skills/module-management/SKILL.md) | | Use when the user says "create module", "explore module", or works within app/Modules/. Understands module structure, auto-loading, route registration, and namespace conventions. |
109
127
  | skill | [`multi-tenancy`](../.agent-src/skills/multi-tenancy/SKILL.md) | | Use when working with the multi-tenant architecture — customer DB switching, FQDN routing, tenant isolation, or cross-tenant operations. |
110
128
  | skill | [`okr-tree-modeling`](../.agent-src/skills/okr-tree-modeling/SKILL.md) | | Use when decomposing a company objective into team OKRs, auditing a draft OKR tree, or stress-testing an existing one for measurability and laddering. |
129
+ | skill | [`onboarding-design`](../.agent-src/skills/onboarding-design/SKILL.md) | | Use when designing customer onboarding — time-to-first-value, milestone design, friction audit, drop-off diagnosis. Triggers on 'fix onboarding', 'why do new accounts churn fast'. |
130
+ | skill | [`onboarding-program`](../.agent-src/skills/onboarding-program/SKILL.md) | | Use when shaping employee onboarding — time-to-productivity, role-by-role program, mentor pairing, 30/60/90 milestones. Triggers on 'design our onboarding', 'why are new hires ramping slow'. |
131
+ | skill | [`one-on-one-cadence`](../.agent-src/skills/one-on-one-cadence/SKILL.md) | | Use when designing engineering 1:1s — cadence, agenda mix, growth-vs-blocker-vs-trust shape, cancellation anti-patterns. Triggers on 'fix my 1:1s', 'should I cancel 1:1s this week'. |
111
132
  | skill | [`openapi`](../.agent-src/skills/openapi/SKILL.md) | | Use when documenting APIs — OpenAPI/Swagger, PHP attributes, Redocly validation, versioned specs — even when the user just says 'document this endpoint' without naming OpenAPI. |
133
+ | skill | [`org-design`](../.agent-src/skills/org-design/SKILL.md) | | Use when shaping team structure — functional vs squad, span-of-control, reorg cost, Conway-aware boundaries. Triggers on 'should we reorg', 'how do we split this team'. |
112
134
  | skill | [`override-management`](../.agent-src/skills/override-management/SKILL.md) | | Creates and manages project-level overrides for shared skills, rules, and commands — extending or replacing originals from .augment/ with project-specific behavior in agents/overrides/. |
135
+ | skill | [`perf-feedback-craft`](../.agent-src/skills/perf-feedback-craft/SKILL.md) | | Use when shaping feedback — situation-behavior-impact, growth-vs-corrective split, cadence design, ladder-of-inference checks. Triggers on 'how do I give this feedback', 'perf review shape'. |
113
136
  | skill | [`performance`](../.agent-src/skills/performance/SKILL.md) | | Use when optimizing application performance — caching strategies, eager loading, query optimization, Redis patterns, or background job design. |
114
137
  | skill | [`performance-analysis`](../.agent-src/skills/performance-analysis/SKILL.md) | | ONLY when user explicitly requests: performance audit, bottleneck analysis, or N+1 query detection. NOT for regular feature work. |
115
138
  | skill | [`persona-writing`](../.agent-src/skills/persona-writing/SKILL.md) | | Use when creating or editing a persona in .agent-src.uncompressed/personas/ — voice / focus / unique questions / output expectations — even when the user just says 'add a reviewer voice for X'. |
@@ -117,9 +140,12 @@ are excluded.
117
140
  | skill | [`php-coder`](../.agent-src/skills/php-coder/SKILL.md) | | Writes or edits PHP code — controllers, classes, type hints, SOLID refactors, modern idioms — even without naming PHP. NOT for writing tests (use pest-testing) or explaining PHP concepts. |
118
141
  | skill | [`php-debugging`](../.agent-src/skills/php-debugging/SKILL.md) | | Use when debugging PHP with Xdebug — breakpoints, step-through, dual-container setup, IDE configuration, header-based routing — even when the user just says 'why does this blow up on request X'. |
119
142
  | skill | [`php-service`](../.agent-src/skills/php-service/SKILL.md) | | Use when the user says 'create service', 'new service class', or needs a PHP service following SOLID principles with proper DI and repository usage. |
143
+ | skill | [`pipeline-strategy`](../.agent-src/skills/pipeline-strategy/SKILL.md) | | Use when designing or auditing a sales pipeline — stage exit criteria, per-cell conversion, coverage reasoning, leak detection. Triggers on 'tighten our pipeline', 'where is the leak'. |
120
144
  | skill | [`playwright-architect`](../.agent-src/skills/playwright-architect/SKILL.md) | | Use when shaping a Playwright suite — locator strategy, Page Object boundaries, fixture composition, flake-prevention architecture, CI-vs-local split — even on 'design our E2E tests'. |
121
145
  | skill | [`playwright-testing`](../.agent-src/skills/playwright-testing/SKILL.md) | | Use when writing Playwright E2E tests — browser automation, visual regression testing, Page Objects, fixtures, and reliable test patterns. |
122
146
  | skill | [`po-discovery`](../.agent-src/skills/po-discovery/SKILL.md) | | Use when shaping a fuzzy product ask into a refined backlog item — problem framing, user-story rewrite, AC tightening — even if the user just says 'help me write this ticket'. |
147
+ | skill | [`positioning-strategy`](../.agent-src/skills/positioning-strategy/SKILL.md) | | Use when locking the market frame — category, segment, alternative, point-of-view — before messaging, launch, or pricing rides on it. Triggers on 'who are we for', 'opposable audit'. |
148
+ | skill | [`privacy-review`](../.agent-src/skills/privacy-review/SKILL.md) | | Use when reviewing data flows for GDPR / CCPA / HIPAA fit — regulatory-regime delta, consent shape, breach-impact triage. Triggers on 'is this GDPR-safe', 'do we need a DPA'. |
123
149
  | skill | [`project-analysis-core`](../.agent-src/skills/project-analysis-core/SKILL.md) | | Use for the universal deep-analysis workflow: project discovery, version resolution, docs loading, architecture mapping, execution flow, and package research. |
124
150
  | skill | [`project-analysis-hypothesis-driven`](../.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md) | | Use when a bug has multiple plausible causes across layers — competing hypotheses, validation loops, evidence-based conclusions — even when the user just says 'why is this happening?'. |
125
151
  | skill | [`project-analysis-laravel`](../.agent-src/skills/project-analysis-laravel/SKILL.md) | | Use for deep Laravel project analysis: boot flow, request lifecycle, container usage, Eloquent/data flow, async systems, and Laravel-specific failure patterns. |
@@ -144,6 +170,7 @@ are excluded.
144
170
  | skill | [`release-comms`](../.agent-src/skills/release-comms/SKILL.md) | | Use when turning a shipped changelog into a release narrative — value-not-feature framing, audience-segmented surfaces, one source of truth. Triggers on 'announce the release', 'write changelog post'. |
145
171
  | skill | [`repomix-packer`](../.agent-src/skills/repomix-packer/SKILL.md) | | Use when packaging a codebase to a single AI-friendly file for LLM analysis — local or remote, XML/Markdown/JSON, token counting, gitignore filtering, peer-side `repomix` CLI. |
146
172
  | skill | [`requesting-code-review`](../.agent-src/skills/requesting-code-review/SKILL.md) | | Use when asking for a review or creating a PR — self-review first, frame the right context, test plan included — even when the user just says 'open a PR' or 'ready to merge'. |
173
+ | skill | [`retention-loops`](../.agent-src/skills/retention-loops/SKILL.md) | | Use when designing product-led retention — habit formation, trigger-action-reward, network vs single-user loops. Triggers on 'why don't users come back', 'design a habit loop'. |
147
174
  | skill | [`review-routing`](../.agent-src/skills/review-routing/SKILL.md) | | Use when preparing a PR description, suggesting reviewers, or flagging risk — produces owner-mapped roles plus historical bug-pattern matches from project-local YAML. |
148
175
  | skill | [`rice-prioritization`](../.agent-src/skills/rice-prioritization/SKILL.md) | | Use when ranking competing initiatives for a roadmap, breaking a tie between two features, or auditing a backlog for hidden low-value work via Reach × Impact × Confidence ÷ Effort. |
149
176
  | skill | [`risk-officer`](../.agent-src/skills/risk-officer/SKILL.md) | | Use when surfacing and prioritising risk before commit — blast-radius framing, mitigations, residual-risk verdict — even if the user just says 'what could go wrong here?'. |
@@ -151,6 +178,8 @@ are excluded.
151
178
  | skill | [`roadmap-writing`](../.agent-src/skills/roadmap-writing/SKILL.md) | | Use when authoring or rewriting a roadmap in agents/roadmaps/ — phase prose, goal sentence, acceptance criteria, council notes — even when the user just says 'write a plan for X' or 'draft a roadmap'. |
152
179
  | skill | [`rtk-output-filtering`](../.agent-src/skills/rtk-output-filtering/SKILL.md) | | Use when running verbose CLI commands — wraps them with rtk (Rust Token Killer) for 60-90% token savings. Covers installation, configuration, and usage patterns. |
153
180
  | skill | [`rule-writing`](../.agent-src/skills/rule-writing/SKILL.md) | | Use when creating or editing a rule in .agent-src.uncompressed/rules/ — trigger wording, always vs auto classification, size budget — even when the user just says 'add a rule for X'. |
181
+ | skill | [`runway-cognition`](../.agent-src/skills/runway-cognition/SKILL.md) | | Use when reasoning about cash runway — burn shape, fundraise triggers, layoff-vs-cut-vs-grow decisions. Triggers on 'how long do we have', 'should we raise', 'cut or grow'. |
182
+ | skill | [`scenario-modeling`](../.agent-src/skills/scenario-modeling/SKILL.md) | | Use when constructing base / upside / downside scenarios — three-statement modeling, sensitivity analysis, optionality reasoning. Triggers on 'model the scenarios', 'what if growth halves'. |
154
183
  | skill | [`script-writing`](../.agent-src/skills/script-writing/SKILL.md) | | Use when adding or editing any script under `scripts/` — `--quiet` flag, `_lib/script_output` helpers, silent Taskfile wiring, Iron-Law carve-outs — even when you just say 'add a check script for X'. |
155
184
  | skill | [`secrets-management`](../.agent-src/skills/secrets-management/SKILL.md) | | Use when picking a secrets store, designing rotation, or wiring scanning gates — multi-cloud (Vault, AWS, Azure, GCP), CI, and Kubernetes — decision framework, provider deep-dives externalized. |
156
185
  | skill | [`security`](../.agent-src/skills/security/SKILL.md) | | Use when applying security best practices — authentication, authorization via Policies, CSRF protection, input sanitization, rate limiting, or secure coding. |
@@ -174,16 +203,19 @@ are excluded.
174
203
  | skill | [`test-performance`](../.agent-src/skills/test-performance/SKILL.md) | | Use when optimizing test suite performance — database setup, seeder optimization, parallel testing, CI pipeline efficiency, or RefreshDatabase alternatives. |
175
204
  | skill | [`testing-anti-patterns`](../.agent-src/skills/testing-anti-patterns/SKILL.md) | | Use BEFORE writing or changing tests, adding mocks, or putting test-only methods on production classes — five Iron Laws and gates against mocking-the-mock, production pollution, silent partial mocks. |
176
205
  | skill | [`threat-modeling`](../.agent-src/skills/threat-modeling/SKILL.md) | | Use when adding auth, webhooks, uploads, queues, secrets, tenant boundaries, or public endpoints — produces trust boundaries + abuse cases mapped to files, BEFORE implementation. |
206
+ | skill | [`throughput-vs-morale-tradeoff`](../.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md) | | Use when balancing eng-team velocity vs quality vs burnout — on-call load, focus fragmentation, reorg shock. Triggers on 'team is burning out', 'why is velocity dropping'. |
177
207
  | skill | [`token-optimizer`](../.agent-src/skills/token-optimizer/SKILL.md) | | 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. |
178
208
  | skill | [`traefik`](../.agent-src/skills/traefik/SKILL.md) | | Use when setting up Traefik as a local reverse proxy — real domains on 127.0.0.1, trusted HTTPS via mkcert, automatic service discovery, and multi-project routing. |
179
209
  | skill | [`ui-component-architect`](../.agent-src/skills/ui-component-architect/SKILL.md) | | Use when shaping a UI component tree — composition vs inheritance, slot patterns, prop API design, controlled vs uncontrolled, polymorphic — even on 'split this component'. |
180
- | skill | [`unit-economics-modeling`](../.agent-src/skills/unit-economics-modeling/SKILL.md) | | Use when modeling CAC, LTV, gross-margin payback, or contribution margin per customer — for SaaS, marketplace, or transactional businesses. |
210
+ | skill | [`unit-economics-modeling`](../.agent-src/skills/unit-economics-modeling/SKILL.md) | | Use when modeling CAC, LTV, payback, contribution margin, or burn-multiple per customer — SaaS, marketplace, or transactional. Triggers on 'are we unit-economic', 'what is our LTV/CAC'. |
181
211
  | skill | [`universal-project-analysis`](../.agent-src/skills/universal-project-analysis/SKILL.md) | | ONLY when user explicitly requests: full project analysis, deep codebase audit, or comprehensive architecture review. Routes to core and framework-specific analysis skills. |
182
212
  | skill | [`upstream-contribute`](../.agent-src/skills/upstream-contribute/SKILL.md) | | Use when a learning, new skill, rule improvement, or bug fix from a consumer project should be contributed back to the shared agent-config package. |
183
213
  | skill | [`using-git-worktrees`](../.agent-src/skills/using-git-worktrees/SKILL.md) | | Use when starting parallel work in isolation from the current branch — spawn a git worktree with ignore-safety checks and a clean test baseline — even when the user says 'try this on the side'. |
184
214
  | skill | [`validate-feature-fit`](../.agent-src/skills/validate-feature-fit/SKILL.md) | | Validate whether a feature request fits the existing codebase — check for duplicates, contradictions, scope creep, and architectural misfit |
185
215
  | skill | [`verify-completion-evidence`](../.agent-src/skills/verify-completion-evidence/SKILL.md) | | Use when claiming 'done', suggesting a commit, push, or PR — runs the evidence gate so completion claims come from fresh output in this message, not memory or earlier runs. |
216
+ | skill | [`vision-articulation`](../.agent-src/skills/vision-articulation/SKILL.md) | | Use when articulating internal vision — where we're going / why now / why us, founder-mode anchor, distinct from fundraising pitch. Triggers on 'what's our vision', 'why are we doing this'. |
186
217
  | skill | [`voc-extract`](../.agent-src/skills/voc-extract/SKILL.md) | | Use when extracting Voice-of-Customer themes from existing artefacts — GH issues, PR threads, Sentry patterns. Triggers on 'what are users saying', 'recurring complaints', 'top themes'. |
218
+ | skill | [`voice-and-tone-design`](../.agent-src/skills/voice-and-tone-design/SKILL.md) | | Use when shaping brand voice — voice attributes, tone-by-context matrix, consistency review. Triggers on 'define our voice', 'why does our copy sound different on every surface'. |
187
219
  | skill | [`websocket`](../.agent-src/skills/websocket/SKILL.md) | | Use when building real-time features — WebSocket broadcasting, live updates, presence channels, connection state — even when the user just says 'push this to the client live'. |
188
220
 
189
221
  ## Rules (58)
@@ -360,7 +392,7 @@ are excluded.
360
392
  | command | [`upstream-contribute`](../.agent-src/commands/upstream-contribute.md) | | Contribute a learning, skill, rule, or fix from a consumer project back to the shared agent-config package |
361
393
  | command | [`work`](../.agent-src/commands/work.md) | | Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, confidence-band gated, no auto-git. |
362
394
 
363
- ## Guidelines (70)
395
+ ## Guidelines (72)
364
396
 
365
397
  | kind | name | category | description |
366
398
  |---|---|---|---|
@@ -404,6 +436,7 @@ are excluded.
404
436
  | guideline | [`cross-role-handoff`](../docs/guidelines/cross-role-handoff.md) | (root) | |
405
437
  | guideline | [`readme-size-and-splitting`](../docs/guidelines/docs/readme-size-and-splitting.md) | docs | |
406
438
  | guideline | [`playwright`](../docs/guidelines/e2e/playwright.md) | e2e | |
439
+ | guideline | [`gtm-handoff`](../docs/guidelines/gtm-handoff.md) | (root) | |
407
440
  | guideline | [`api-design`](../docs/guidelines/php/api-design.md) | php | |
408
441
  | guideline | [`artisan-commands`](../docs/guidelines/php/artisan-commands.md) | php | |
409
442
  | guideline | [`blade-ui`](../docs/guidelines/php/blade-ui.md) | php | |
@@ -434,6 +467,7 @@ are excluded.
434
467
  | guideline | [`sql`](../docs/guidelines/php/sql.md) | php | |
435
468
  | guideline | [`validations`](../docs/guidelines/php/validations.md) | php | |
436
469
  | guideline | [`websocket`](../docs/guidelines/php/websocket.md) | php | |
470
+ | guideline | [`wing4-handoff`](../docs/guidelines/wing4-handoff.md) | (root) | |
437
471
 
438
472
  ---
439
473
 
@@ -0,0 +1,89 @@
1
+ ---
2
+ stability: beta
3
+ ---
4
+
5
+ # ADR — `forecast-construction-shape`: the O2 ↔ H10 interface
6
+
7
+ > **Status:** Decided · 2026-05-13
8
+ > **Builds on:** [`cross-wing-handoff.md`](cross-wing-handoff.md) § 5 W4 chain;
9
+ > [`wing4-handoff.md`](../guidelines/wing4-handoff.md) § Chain 4;
10
+ > [`gtm-handoff.md`](../guidelines/gtm-handoff.md) § Chain 2 (H10 side).
11
+
12
+ ## Decision
13
+
14
+ `forecasting` (O2, Wing-4, finance-partner) and `forecast-accuracy`
15
+ (H10, Wing-3, RevOps) compose through a **typed interface**, not a
16
+ shared implementation. O2 owns the cognition of *how a forecast is
17
+ constructed*; H10 owns the cognition of *which deals belong in
18
+ commit*. The interface is the only contract that crosses the wing.
19
+
20
+ Interface payload (the `forecast-band.json` artifact):
21
+
22
+ | Field | Type | Meaning |
23
+ |---|---|---|
24
+ | `construction_shape` | enum `top-down` · `bottom-up` · `hybrid` | Which construction shape the forecast was built from. Top-down anchors against TAM × penetration × motion; bottom-up sums deal-level conviction; hybrid is the explicit two-call reconciliation. |
25
+ | `commit_value` | money | Sum of commit-categorised deals × in-window close-rate, or top-down commit-band lower bound. |
26
+ | `best_case_value` | money | Commit + best-case-tagged, or top-down best-case-band upper bound. |
27
+ | `pipeline_value` | money | Population from which commit / best-case are drawn. Not a forecast category, included for ratio reasoning. |
28
+ | `confidence_band` | `{plus_pct: float, minus_pct: float}` | Historical-deviation-derived band around commit. **MUST** be present; a forecast without a band has no honesty about its prior miss-rate. |
29
+ | `retro_signature` | `{horizon: enum, last_two_actual_vs_predicted: [pct, pct]}` | The accuracy retro this band was calibrated against. Horizon = `quarterly` · `monthly` · `annual`. |
30
+ | `segment_scope` | string list | Customer-segment slots the forecast covers (from spine). Empty list = blended; explicit list = per-segment. |
31
+ | `fiscal_period` | string | Reporting cadence slot from `fiscal-period` spine: `monthly` · `quarterly` · `annual` · `multi-year-plan`. |
32
+ | `construction_inputs` | object | Shape-specific inputs: top-down → `{tam, penetration_band, motion_band}`; bottom-up → `{commit_count, best_case_count, evidence_floor}`; hybrid → both. |
33
+
34
+ ## Why this was a real question
35
+
36
+ Three options were on the table:
37
+
38
+ 1. **Shared implementation in one wing.** Forecasting lives entirely
39
+ in Wing-3 (RevOps) or Wing-4 (Finance). Rejected: forecasting is
40
+ constructed from finance fundamentals and consumed from deal-level
41
+ evidence — collapsing it into one wing forces the other to
42
+ re-derive cognition.
43
+ 2. **Free-form text handoff.** O2 emits prose; H10 reads prose.
44
+ Rejected: prose drifts every quarter, the linter cannot catch
45
+ contract breaks, and the retro loop loses the comparison shape.
46
+ 3. **Typed interface, owned by O2.** Accepted: O2 owns the shape so
47
+ that drift is a producer-side fix. H10 consumes against the
48
+ contract and never re-derives forecasting cognition.
49
+
50
+ ## Citation-evidence gating
51
+
52
+ This ADR is the gating artefact. O2 cites the ADR in its frontmatter
53
+ and procedure. H10 cites the ADR in its `Related Skills` carve-out
54
+ and validates its `commit-list.md` against the `forecast-band.json`
55
+ shape. `task lint-handoffs` (Phase 3.2) walks the cross-wing graph
56
+ and rejects a contract break.
57
+
58
+ ## Parallel-development rule
59
+
60
+ O2 ships an **interface-first stub** (this ADR + a stub procedure
61
+ that emits the typed artifact from a single bottom-up case). The
62
+ stub counts as ≥ 100 % of `O2-interface`. H10 starts after the
63
+ interface lands, parallel to O2 implementation. O2 cannot break the
64
+ contract without an ADR revision and a co-ordinated H10 update.
65
+
66
+ ## Counter-evidence the agent should listen for
67
+
68
+ Three signals that this ADR is wrong and needs revisiting:
69
+
70
+ 1. **H10 re-derives forecasting cognition.** If `forecast-accuracy`
71
+ starts shipping top-down vs bottom-up reasoning, the interface
72
+ leaked and one of the two skills is mis-scoped. Re-cut the
73
+ boundary.
74
+ 2. **A third consumer reads `forecast-band.json`.** A new skill
75
+ composing the interface means the contract is load-bearing for
76
+ the broader spine and should graduate from beta to stable.
77
+ 3. **The confidence-band is consistently absent.** Forecasts that
78
+ ship without a band are using the interface as a shape but
79
+ skipping the calibration; the field should become required-on-
80
+ parse, not required-on-cognition.
81
+
82
+ ## See also
83
+
84
+ - [`wing4-handoff.md`](../guidelines/wing4-handoff.md) § Chain 4 —
85
+ finance → GTM prose around this contract.
86
+ - [`gtm-handoff.md`](../guidelines/gtm-handoff.md) § Chain 2 — H10
87
+ side prose; identical contract, opposite consumer.
88
+ - [`cross-wing-handoff.md`](cross-wing-handoff.md) § 5 — wing-scoped
89
+ contract policy this ADR follows.
@@ -0,0 +1,115 @@
1
+ ---
2
+ stability: beta
3
+ ---
4
+
5
+ # ADR — GTM context-spine: Wing-3 slot extension
6
+
7
+ > **Status:** Decided · 2026-05-13
8
+ > **Roadmap origin:** `agents/roadmaps/` (Block G — G1, archived after merge)
9
+ > **Builds on:** [`context-spine.md`](context-spine.md) — tri-slot
10
+ > contract (`product`, `team`, `repo`) locked at 3 by council Q1
11
+ > (2026-05-05 KEEP-3, unified-senior-roles iter 1).
12
+ > **Defers to:** [`cross-wing-handoff.md`](cross-wing-handoff.md) — typed
13
+ > handoff contract; orthogonal to slot membership.
14
+
15
+ ## Decision
16
+
17
+ The context-spine adds **three Wing-3-specific slots** under
18
+ `agents/context-spine/`: `channel-stage`, `funnel-stage`,
19
+ `customer-segment`. The schema enum in
20
+ [`scripts/schemas/skill.schema.json`](../../scripts/schemas/skill.schema.json)
21
+ extends from `{product, team, repo}` to
22
+ `{product, team, repo, channel-stage, funnel-stage, customer-segment}`.
23
+
24
+ The KEEP-3 lock from council Q1 applies to **cross-wing slots** —
25
+ slabs every senior wing might read. The Wing-3 slots are
26
+ **wing-scoped**: they exist for the GTM cluster (Block H, 16 skills)
27
+ and the GTM personas (Block I, 7 personas). Engineering, Foundation,
28
+ and Money / Strategy / Ops wings do not opt into them.
29
+
30
+ | Slot | Path | Typical content |
31
+ |---|---|---|
32
+ | `channel-stage` | `agents/context-spine/channel-stage.md` | Which channels the GTM motion uses (awareness · consideration · decision · retention · expansion), per-channel maturity, channel-cost band. Read by H1 (`positioning-strategy`), H2 (`messaging-architecture`), H3 (`gtm-launch`), H6 (`editorial-calendar`). |
33
+ | `funnel-stage` | `agents/context-spine/funnel-stage.md` | Funnel topology (top / mid / bottom / activation / retention), per-stage definition, exit-criteria for each. Read by H8 (`pipeline-strategy`), R1 (`funnel-analysis`), R2 (`activation-design`), R3 (`onboarding-design`). |
34
+ | `customer-segment` | `agents/context-spine/customer-segment.md` | ICP, persona-by-segment, ARR-band-by-segment. Read by H7 (`ICP`), H8 (`pipeline-strategy`), H9 (`MEDDIC`), R4 (`retention-loops`). |
35
+
36
+ ## Why this was a real question
37
+
38
+ Three options were on the table:
39
+
40
+ 1. **Force-fit into existing slots.** Stuff GTM context into the
41
+ `product` slab. Rejected: `product` is owned by the discovery wing
42
+ and a Wing-3 reader gets fuzzy semantics (channel maturity is not
43
+ product scope), Council Q1 explicitly fences `product` against
44
+ sprawl.
45
+ 2. **Wing-3-only frontmatter key.** Add `gtm_spine: [...]` as a
46
+ parallel field. Rejected: duplicates the read-discipline
47
+ mechanism, the lint gate, and the skill-author cognitive load.
48
+ Two spines is the slot-sprawl failure mode at a different layer.
49
+ 3. **Extend the spine, scope the slots.** Accepted: same mechanism,
50
+ same lint gate, same opt-in discipline; slot names carry the wing
51
+ scope (`channel-stage`, `funnel-stage`, `customer-segment` are
52
+ visibly GTM-shaped).
53
+
54
+ ## Citation-evidence gating — prospective
55
+
56
+ The existing § 5 policy requires ≥ 2 shipped skills citing the new
57
+ slot **before** the slot is added. For Wing-3 the citation chain is
58
+ **prospective**: the roadmap (G1 → H → I) ships citing skills in the
59
+ same iteration, ordered so G1 lands first to unblock H authoring.
60
+
61
+ The ADR is the gating artefact (not the citations). The Block-H
62
+ authoring procedure MUST cite ≥ 1 of the three new slots per skill
63
+ or carry a one-line ADR-opt-out comment in the skill body. The G2
64
+ linter (council Q7 boundary tests) enforces channel-agnosticism,
65
+ which is orthogonal — a skill can cite `channel-stage` for context
66
+ without prescribing channel-specific tactics.
67
+
68
+ This relaxation is **wing-bounded**: future wings adding their own
69
+ slots must either accumulate ≥ 2 citations from already-shipped
70
+ skills, **or** write a per-wing ADR that names the citing-skill
71
+ chain in the same iteration (the pattern this ADR establishes).
72
+
73
+ ## Migration plan for the existing senior catalog
74
+
75
+ - **No retrofitting required.** Existing senior skills
76
+ (`customer-research`, `funnel-analysis`, `po-discovery`,
77
+ `refine-ticket`, `rice-prioritization`, etc.) keep their current
78
+ `context_spine` declarations. They MAY add a Wing-3 slot if their
79
+ cognition genuinely reads it; they MUST NOT be retrofitted
80
+ mechanically.
81
+ - **Opt-out for off-wing skills.** Engineering / Foundation / Ops
82
+ senior skills do not need to mention the Wing-3 slots in any way.
83
+ The schema accepts subsets — declaring only `[product, team]`
84
+ remains valid.
85
+ - **Slot-file authoring is consumer-side.** The package ships the
86
+ contract; consumer projects fill `agents/context-spine/channel-stage.md`
87
+ etc. when adopting Wing-3 skills. Missing slot file is graceful
88
+ per § 4 of the contract.
89
+
90
+ ## Counter-evidence the agent should listen for
91
+
92
+ Three signals that this decision is wrong and the ADR needs revisiting:
93
+
94
+ 1. **Off-wing skills start declaring Wing-3 slots.** If an
95
+ Engineering skill cites `channel-stage`, the slot is misnamed or
96
+ the wing boundary is leaking. Re-scope the slot or rename it.
97
+ 2. **Wing-3 skills consistently ignore the slot they declared.** If
98
+ Block H skills declare `funnel-stage` but never quote it in their
99
+ procedure, the slot is decorative and should be deleted.
100
+ 3. **A fourth Wing-3 slot is proposed within the same iteration.**
101
+ That is slot-sprawl on the same wing — Block G2 boundary tests
102
+ should reject the addition until a follow-up ADR documents why
103
+ three slots are insufficient.
104
+
105
+ ## See also
106
+
107
+ - [`context-spine.md`](context-spine.md) § 2 (slot table — extended),
108
+ § 5 (slot-add policy — wing-bounded extension clause).
109
+ - [`scripts/schemas/skill.schema.json`](../../scripts/schemas/skill.schema.json)
110
+ — `context_spine.items.enum` extended in this ADR.
111
+ - `agents/roadmaps/` § Block G — the authorising roadmap (archived
112
+ after merge; this ADR is the durable record).
113
+ - [`.agent-src.uncompressed/rules/skill-quality.md`](../../.agent-src.uncompressed/rules/skill-quality.md)
114
+ § Senior-Tier Required Structure — the four blocks every senior
115
+ skill ships independently of spine opt-in.