@event4u/agent-config 1.34.0 → 1.36.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.
- package/.agent-src/commands/memory/load.md +69 -0
- package/.agent-src/commands/memory/mine-session.md +151 -0
- package/.agent-src/commands/memory/promote.md +35 -0
- package/.agent-src/commands/memory/propose.md +10 -1
- package/.agent-src/commands/memory.md +5 -3
- package/.agent-src/commands/roadmap/process-full.md +20 -15
- package/.agent-src/contexts/authority/scope-mechanics.md +36 -0
- package/.agent-src/contexts/execution/autonomy-detection.md +7 -7
- package/.agent-src/contexts/execution/roadmap-process-loop.md +16 -10
- package/.agent-src/personas/discovery-lead.md +99 -0
- package/.agent-src/personas/product-owner.md +71 -52
- package/.agent-src/personas/revops-maintainer.md +100 -0
- package/.agent-src/personas/tech-writer.md +99 -0
- package/.agent-src/rules/autonomous-execution.md +25 -0
- package/.agent-src/rules/scope-control.md +12 -5
- package/.agent-src/skills/competitive-positioning/SKILL.md +152 -0
- package/.agent-src/skills/customer-research/SKILL.md +116 -0
- package/.agent-src/skills/decision-record/SKILL.md +78 -3
- package/.agent-src/skills/discovery-interview/SKILL.md +152 -0
- package/.agent-src/skills/launch-readiness/SKILL.md +156 -0
- package/.agent-src/skills/memory-consolidation/SKILL.md +216 -0
- package/.agent-src/skills/release-comms/SKILL.md +123 -0
- package/.agent-src/skills/roadmap-writing/SKILL.md +1 -1
- package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +91 -3
- package/.agent-src/skills/voc-extract/SKILL.md +164 -0
- package/.agent-src/templates/roadmaps.md +14 -0
- package/.claude-plugin/marketplace.json +9 -1
- package/CHANGELOG.md +64 -0
- package/README.md +3 -3
- package/config/agent-settings.template.yml +35 -0
- package/docs/architecture.md +3 -3
- package/docs/catalog.md +14 -5
- package/docs/contracts/agent-memory-contract.md +15 -1
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/context-spine.md +133 -0
- package/docs/contracts/file-ownership-matrix.json +388 -0
- package/docs/contracts/mental-models.md +336 -0
- package/docs/getting-started.md +1 -1
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +52 -0
- package/docs/guidelines/cross-role-handoff.md +127 -0
- package/package.json +1 -1
- package/scripts/check_memory.py +106 -4
- package/scripts/check_references.py +1 -0
- package/scripts/lint_context_spine_usage.py +133 -0
- package/scripts/lint_roadmap_complexity.py +87 -3
- package/scripts/mine_session.py +279 -0
- package/scripts/schemas/skill.schema.json +9 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Shared agent configuration \u2014 skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.36.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"./.claude/skills/commit",
|
|
60
60
|
"./.claude/skills/commit-in-chunks",
|
|
61
61
|
"./.claude/skills/composer-packages",
|
|
62
|
+
"./.claude/skills/competitive-positioning",
|
|
62
63
|
"./.claude/skills/compress",
|
|
63
64
|
"./.claude/skills/context",
|
|
64
65
|
"./.claude/skills/context-authoring",
|
|
@@ -76,6 +77,7 @@
|
|
|
76
77
|
"./.claude/skills/council-pr",
|
|
77
78
|
"./.claude/skills/create-pr",
|
|
78
79
|
"./.claude/skills/create-pr-description-only",
|
|
80
|
+
"./.claude/skills/customer-research",
|
|
79
81
|
"./.claude/skills/dashboard-design",
|
|
80
82
|
"./.claude/skills/data-flow-mapper",
|
|
81
83
|
"./.claude/skills/database",
|
|
@@ -88,6 +90,7 @@
|
|
|
88
90
|
"./.claude/skills/design-review",
|
|
89
91
|
"./.claude/skills/devcontainer",
|
|
90
92
|
"./.claude/skills/developer-like-execution",
|
|
93
|
+
"./.claude/skills/discovery-interview",
|
|
91
94
|
"./.claude/skills/docker",
|
|
92
95
|
"./.claude/skills/dto-creator",
|
|
93
96
|
"./.claude/skills/e2e-heal",
|
|
@@ -145,6 +148,7 @@
|
|
|
145
148
|
"./.claude/skills/laravel-reverb",
|
|
146
149
|
"./.claude/skills/laravel-scheduling",
|
|
147
150
|
"./.claude/skills/laravel-validation",
|
|
151
|
+
"./.claude/skills/launch-readiness",
|
|
148
152
|
"./.claude/skills/learning-to-rule-or-skill",
|
|
149
153
|
"./.claude/skills/lint-skills",
|
|
150
154
|
"./.claude/skills/livewire",
|
|
@@ -156,7 +160,9 @@
|
|
|
156
160
|
"./.claude/skills/md-language-check",
|
|
157
161
|
"./.claude/skills/memory",
|
|
158
162
|
"./.claude/skills/memory-add",
|
|
163
|
+
"./.claude/skills/memory-consolidation",
|
|
159
164
|
"./.claude/skills/memory-load",
|
|
165
|
+
"./.claude/skills/memory-mine-session",
|
|
160
166
|
"./.claude/skills/memory-promote",
|
|
161
167
|
"./.claude/skills/memory-propose",
|
|
162
168
|
"./.claude/skills/merge-conflicts",
|
|
@@ -219,6 +225,7 @@
|
|
|
219
225
|
"./.claude/skills/receiving-code-review",
|
|
220
226
|
"./.claude/skills/refine-prompt",
|
|
221
227
|
"./.claude/skills/refine-ticket",
|
|
228
|
+
"./.claude/skills/release-comms",
|
|
222
229
|
"./.claude/skills/repomix-packer",
|
|
223
230
|
"./.claude/skills/requesting-code-review",
|
|
224
231
|
"./.claude/skills/research",
|
|
@@ -279,6 +286,7 @@
|
|
|
279
286
|
"./.claude/skills/using-git-worktrees",
|
|
280
287
|
"./.claude/skills/validate-feature-fit",
|
|
281
288
|
"./.claude/skills/verify-completion-evidence",
|
|
289
|
+
"./.claude/skills/voc-extract",
|
|
282
290
|
"./.claude/skills/websocket",
|
|
283
291
|
"./.claude/skills/work"
|
|
284
292
|
]
|
package/CHANGELOG.md
CHANGED
|
@@ -318,6 +318,70 @@ our recommendation order, not its support status.
|
|
|
318
318
|
users" tension without removing any path that an existing user
|
|
319
319
|
might rely on.
|
|
320
320
|
|
|
321
|
+
## [1.36.0](https://github.com/event4u-app/agent-config/compare/1.35.0...1.36.0) (2026-05-10)
|
|
322
|
+
|
|
323
|
+
### Features
|
|
324
|
+
|
|
325
|
+
* **commands:** tier-0 surfacing on /memory:load and ts_week on /memory:promote ([85f4b63](https://github.com/event4u-app/agent-config/commit/85f4b63dc792488ba60af4da2b09d4fcaa58506c))
|
|
326
|
+
* **memory:** add priority enum validator and tier-0 stale checks ([5d61328](https://github.com/event4u-app/agent-config/commit/5d61328fa1bc1ac38d9acb98a9f97d2dc0dab4a7))
|
|
327
|
+
* **memory:** consolidation skill + /memory:mine-session + intake review hook ([7037a45](https://github.com/event4u-app/agent-config/commit/7037a45b2e63193a3289622784093f522c578158))
|
|
328
|
+
|
|
329
|
+
### Bug Fixes
|
|
330
|
+
|
|
331
|
+
* **check-refs:** skip agents/council-responses/ like council-sessions/ ([d18551e](https://github.com/event4u-app/agent-config/commit/d18551e896d747533f2aa4465b390b291c931c4a))
|
|
332
|
+
* **check-refs:** skip agents/council-responses/ like council-sessions/ ([4faf5f8](https://github.com/event4u-app/agent-config/commit/4faf5f82c380222281b38213c38399187757840b))
|
|
333
|
+
* **scope-control:** trim authoring section to fit kernel ceiling ([b436d0a](https://github.com/event4u-app/agent-config/commit/b436d0a8840b0498688ed9efe28eb76bbfc08a5a))
|
|
334
|
+
* **roadmap:** suppress council-reference lint on dream-skill roadmap ([c355ca5](https://github.com/event4u-app/agent-config/commit/c355ca5d8b4e7e5f181f31efe057e2c0d5ff63eb))
|
|
335
|
+
|
|
336
|
+
### Documentation
|
|
337
|
+
|
|
338
|
+
* **roadmap:** close out dream-skill adoption — Phase 3 cancelled-deferred, archive ([63bedd0](https://github.com/event4u-app/agent-config/commit/63bedd02c7686e183acadebff742423ab0c258a6))
|
|
339
|
+
* **roadmap:** mark Phase 2 partial shipped, B1 + Phase 3 deferred with rationale ([620d7f0](https://github.com/event4u-app/agent-config/commit/620d7f09372b866659f0a41f1690fdab904777bb))
|
|
340
|
+
* **memory:** document priority enum and ts_week jitter convention ([f9f65d4](https://github.com/event4u-app/agent-config/commit/f9f65d4d9d699d7b65c496745e440f3fa7de1c54))
|
|
341
|
+
|
|
342
|
+
### Chores
|
|
343
|
+
|
|
344
|
+
* **roadmap:** mark Phase 1 of dream-skill adoption complete ([b46ce4c](https://github.com/event4u-app/agent-config/commit/b46ce4ca7737fd9f4d29692837680023d3fbf68d))
|
|
345
|
+
* **meta:** regenerate ownership matrix after scope-control trim ([db14110](https://github.com/event4u-app/agent-config/commit/db14110b0aebf9acc178cd997d1e11d0d91fd382))
|
|
346
|
+
* **meta:** regenerate ownership matrix ([a23604e](https://github.com/event4u-app/agent-config/commit/a23604ef031daf0ec5e9dfdce30baf3c0293340d))
|
|
347
|
+
* **rules:** harden against unsolicited implementation + horizon opt-in ([00b5fa9](https://github.com/event4u-app/agent-config/commit/00b5fa96b93b41943559c4dac775069a2e14b0e3))
|
|
348
|
+
|
|
349
|
+
Tests: 2621 (+15 since 1.35.0)
|
|
350
|
+
|
|
351
|
+
## [1.35.0](https://github.com/event4u-app/agent-config/compare/1.34.0...1.35.0) (2026-05-10)
|
|
352
|
+
|
|
353
|
+
### Features
|
|
354
|
+
|
|
355
|
+
* **personas:** add three Wave-2 specialist personas ([fafe78c](https://github.com/event4u-app/agent-config/commit/fafe78cd1d6ec4aa7edb9e6ebbe8bc61f661818d))
|
|
356
|
+
* **skills:** add four senior product/strategy skills ([35e399d](https://github.com/event4u-app/agent-config/commit/35e399d4a805217d4e01a70b8795583eb11b046e))
|
|
357
|
+
* **skills:** promote decision-record and stakeholder-tradeoff to tier:senior ([dec2369](https://github.com/event4u-app/agent-config/commit/dec2369ec8e273b29d701ba72c9283b47d545732))
|
|
358
|
+
* **lint:** enforce context_spine slot citation in skill bodies ([2283472](https://github.com/event4u-app/agent-config/commit/22834723003ce515f6067ec228f273e13bf71cb2))
|
|
359
|
+
* **lint:** detect plate/horizon convention in lint-roadmap-complexity ([8dcd6c1](https://github.com/event4u-app/agent-config/commit/8dcd6c1c4d9f772df2495e114a1b1a03c64022dc))
|
|
360
|
+
* **personas:** upgrade product-owner to senior specialist ([e46fdad](https://github.com/event4u-app/agent-config/commit/e46fdadfd9645de6f07ee7516d265760f739ba73))
|
|
361
|
+
* **skills:** add senior customer-research and release-comms ([fb17b8f](https://github.com/event4u-app/agent-config/commit/fb17b8f1641cd26ceeb405537711bacd1059317d))
|
|
362
|
+
* **contracts:** add context-spine, mental-models, and cross-role-handoff ([a8bd106](https://github.com/event4u-app/agent-config/commit/a8bd106e77a092da385461aec508a8959179559d))
|
|
363
|
+
|
|
364
|
+
### Bug Fixes
|
|
365
|
+
|
|
366
|
+
* **skills:** cite team spine slot in customer-research ([9279606](https://github.com/event4u-app/agent-config/commit/9279606fedc60377306c80a14c6379577233ce3d))
|
|
367
|
+
* **skill:** drop unused 'team' slot from customer-research context_spine ([e581c66](https://github.com/event4u-app/agent-config/commit/e581c664237f23c9804bce95fd0e8436d33d8bec))
|
|
368
|
+
* **context-spine:** drop transient roadmap references ([a2e17c7](https://github.com/event4u-app/agent-config/commit/a2e17c7ef287b89a92aa296f8eb519ced78e3dcd))
|
|
369
|
+
|
|
370
|
+
### Chores
|
|
371
|
+
|
|
372
|
+
* **sync:** refresh compression hashes after main merge ([2689a99](https://github.com/event4u-app/agent-config/commit/2689a9959c0d8f5bb0b00a8b4cbc73485b81086d))
|
|
373
|
+
* **generate-tools:** register new skills + personas in distribution layers ([1c8081d](https://github.com/event4u-app/agent-config/commit/1c8081d54b14214ac5163986784af1f4e505aa7d))
|
|
374
|
+
* **roadmap:** archive road-to-unified-senior-roles, refresh dashboard ([0f7a203](https://github.com/event4u-app/agent-config/commit/0f7a203c9f3a6cb97837db52906fa7bd6ff9134a))
|
|
375
|
+
* **sync:** refresh compression hash for customer-research ([5296bd1](https://github.com/event4u-app/agent-config/commit/5296bd13976e105ff128a90de05de78183745f67))
|
|
376
|
+
* **sync:** refresh compression hashes after roadmap-plate removal ([75d06e1](https://github.com/event4u-app/agent-config/commit/75d06e1ec33d9472fd8ae4a08f5efd526b577905))
|
|
377
|
+
* **roadmaps:** strip plate/horizon framing from 7 active roadmaps ([186f98e](https://github.com/event4u-app/agent-config/commit/186f98e8fa3405927e5543c41f4ce797b46eaedf))
|
|
378
|
+
* **infra:** drop horizon-marker handling from process-loop and process-full ([9f9b968](https://github.com/event4u-app/agent-config/commit/9f9b9681f9b9d21305a69e3c413dc4b8ff7d5a9a))
|
|
379
|
+
* **template:** forbid time-boxed plates in roadmap template (rule 16) ([12748c2](https://github.com/event4u-app/agent-config/commit/12748c2e3354e324b2d4b889ecda5655f3286738))
|
|
380
|
+
* **ownership:** regenerate ownership matrix ([33d3775](https://github.com/event4u-app/agent-config/commit/33d37755e4af051df73cfae6b6c6ccc4981202e1))
|
|
381
|
+
* **sync:** regenerate counts, hashes, and roadmap progress ([e4397f8](https://github.com/event4u-app/agent-config/commit/e4397f83bf5c5b10c47f926a4eb605d8e6074063))
|
|
382
|
+
|
|
383
|
+
Tests: 2606 (+0 since 1.34.0)
|
|
384
|
+
|
|
321
385
|
## [1.34.0](https://github.com/event4u-app/agent-config/compare/1.33.0...1.34.0) (2026-05-10)
|
|
322
386
|
|
|
323
387
|
### Features
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Give your AI agents an audit-disciplined orchestration contract — testing, Git
|
|
|
7
7
|
> Your agent picks up the project's stack, runs tests, prepares PRs, fixes CI — and follows your team's coding standards while doing it. Stack-aware skill sets ship for PHP (Laravel · Symfony · Zend/Laminas), JavaScript (Next.js · React · Node), and cross-stack concerns (API · testing · security · observability).
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>
|
|
10
|
+
<strong>174 Skills</strong> · <strong>60 Rules</strong> · <strong>104 Commands</strong> · <strong>69 Guidelines</strong> · <strong>8 AI Tools</strong>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
13
|
---
|
|
@@ -343,7 +343,7 @@ kernel set: [`docs/contracts/kernel-membership.md`](docs/contracts/kernel-member
|
|
|
343
343
|
| [`/jira-ticket`](.agent-src/commands/jira-ticket.md) | Read ticket from branch, implement feature |
|
|
344
344
|
| [`/compress`](.agent-src/commands/compress.md) | Compress skills for token efficiency |
|
|
345
345
|
|
|
346
|
-
→ [Browse all
|
|
346
|
+
→ [Browse all 104 active commands](.agent-src/commands/)
|
|
347
347
|
|
|
348
348
|
---
|
|
349
349
|
|
|
@@ -368,7 +368,7 @@ Every developer gets the same behavior. No per-user setup needed.
|
|
|
368
368
|
native slash-commands)
|
|
369
369
|
|
|
370
370
|
> **What this means in practice:** Augment Code and Claude Code get the full
|
|
371
|
-
> package (rules +
|
|
371
|
+
> package (rules + 174 skills + 104 native commands). Cursor, Cline, Windsurf,
|
|
372
372
|
> Gemini CLI, and GitHub Copilot only get the **rules** natively; skills and
|
|
373
373
|
> commands are available to them as documentation the agent can read, not as
|
|
374
374
|
> first-class features.
|
|
@@ -164,6 +164,22 @@ roadmap:
|
|
|
164
164
|
# is mandatory before any "roadmap complete" claim regardless of cadence.
|
|
165
165
|
quality_cadence: end_of_roadmap
|
|
166
166
|
|
|
167
|
+
# Visible-horizon framing in roadmap authoring (integer weeks, default 0).
|
|
168
|
+
# 0 = off (default). Time-boxed plate / horizon framing is forbidden:
|
|
169
|
+
# no `## Horizon (N-week visible plate)` sections, no
|
|
170
|
+
# "inside / outside the plate" phrasing, no `out-of-horizon` /
|
|
171
|
+
# `out-of-plate` suffixes. Phase ordering and dependency gates
|
|
172
|
+
# carry the deferral semantics. Enforced by
|
|
173
|
+
# `task lint-roadmap-complexity`.
|
|
174
|
+
# > 0 = opt-in. Roadmaps may include a `## Horizon (N-week visible plate)`
|
|
175
|
+
# section with that many weeks; the linter relaxes the plate-token
|
|
176
|
+
# ban for files declaring the section. Pacing is still the user's
|
|
177
|
+
# call — N is just the authoring window.
|
|
178
|
+
# 6 weeks proved too long for AI-paced work; the default is 0 so plans
|
|
179
|
+
# describe scope and ordering, not calendars. Flip to a positive integer
|
|
180
|
+
# only if your team genuinely commits work on a calendar plate.
|
|
181
|
+
horizon_weeks: 0
|
|
182
|
+
|
|
167
183
|
# --- Subagent orchestration ---
|
|
168
184
|
#
|
|
169
185
|
# Controls model selection and parallelism for subagent-based workflows
|
|
@@ -320,3 +336,22 @@ commands:
|
|
|
320
336
|
# /create-pr:description-only always previews — that is its sole purpose.
|
|
321
337
|
create_pr:
|
|
322
338
|
preview_description: false
|
|
339
|
+
|
|
340
|
+
# --- Memory ---
|
|
341
|
+
#
|
|
342
|
+
# Engineering memory consolidation behaviour. See
|
|
343
|
+
# docs/contracts/agent-memory-contract.md for the on-disk shape and
|
|
344
|
+
# .augment/skills/memory-consolidation/ for the four-phase loop.
|
|
345
|
+
memory:
|
|
346
|
+
# Inline-review threshold for /memory load.
|
|
347
|
+
# When the unreviewed intake stream contains more than this many
|
|
348
|
+
# entries, /memory load surfaces a top-3 preview block before the
|
|
349
|
+
# full curated load. Set to 0 to disable the inline review entirely.
|
|
350
|
+
review_threshold: 10
|
|
351
|
+
|
|
352
|
+
# Patterns redacted from transcripts before mining.
|
|
353
|
+
# The TranscriptAdapter applies these as a regex blocklist on every
|
|
354
|
+
# yielded turn. Add personal identifiers, project-internal tokens,
|
|
355
|
+
# or paths outside the repo root that must not land in intake JSONL.
|
|
356
|
+
# Example: ["api[_-]?key", "/Users/[a-z]+/Library"]
|
|
357
|
+
redact_patterns: []
|
package/docs/architecture.md
CHANGED
|
@@ -96,10 +96,10 @@ fails on any source-side violation, without producing artifacts.
|
|
|
96
96
|
|
|
97
97
|
| Layer | Count | Purpose |
|
|
98
98
|
|---|---|---|
|
|
99
|
-
| **Skills** |
|
|
99
|
+
| **Skills** | 174 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
100
100
|
| **Rules** | 60 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
101
|
-
| **Commands** |
|
|
102
|
-
| **Guidelines** |
|
|
101
|
+
| **Commands** | 104 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
|
|
102
|
+
| **Guidelines** | 69 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
103
103
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|
|
104
104
|
| **Contexts** | 5 | Shared knowledge about the system itself |
|
|
105
105
|
|
package/docs/catalog.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# agent-config — Public Catalog
|
|
2
2
|
|
|
3
|
-
Consumer-facing catalog of all **
|
|
3
|
+
Consumer-facing catalog of all **404 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 (
|
|
10
|
+
## Skills (174)
|
|
11
11
|
|
|
12
12
|
| kind | name | extra | description |
|
|
13
13
|
|---|---|---|---|
|
|
@@ -35,12 +35,14 @@ are excluded.
|
|
|
35
35
|
| 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
36
|
| 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
37
|
| 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'. |
|
|
38
|
+
| 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'. |
|
|
38
39
|
| 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'. |
|
|
39
40
|
| 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. |
|
|
40
41
|
| 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. |
|
|
41
42
|
| 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. |
|
|
42
43
|
| 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. |
|
|
43
44
|
| 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
|
+
| 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'. |
|
|
44
46
|
| 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. |
|
|
45
47
|
| 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. |
|
|
46
48
|
| 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'. |
|
|
@@ -53,6 +55,7 @@ are excluded.
|
|
|
53
55
|
| skill | [`design-review`](../.agent-src/skills/design-review/SKILL.md) | | Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more. |
|
|
54
56
|
| skill | [`devcontainer`](../.agent-src/skills/devcontainer/SKILL.md) | | Use when configuring DevContainers or GitHub Codespaces — devcontainer.json, custom images, secrets, VS Code features — even when the user just says 'why does my Codespace not start'. |
|
|
55
57
|
| skill | [`developer-like-execution`](../.agent-src/skills/developer-like-execution/SKILL.md) | | Use when implementing, debugging, refactoring, or reviewing code — enforces the think → analyze → verify → execute workflow — even when the user just says 'implement X' without naming it. |
|
|
58
|
+
| 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'. |
|
|
56
59
|
| 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'. |
|
|
57
60
|
| 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. |
|
|
58
61
|
| 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. |
|
|
@@ -87,6 +90,7 @@ are excluded.
|
|
|
87
90
|
| skill | [`laravel-reverb`](../.agent-src/skills/laravel-reverb/SKILL.md) | | Use when configuring Laravel Reverb — the first-party WebSocket server with Pusher protocol compatibility, horizontal scaling, and Pulse monitoring. |
|
|
88
91
|
| skill | [`laravel-scheduling`](../.agent-src/skills/laravel-scheduling/SKILL.md) | | Use when configuring Laravel task scheduling — cron expressions, frequency helpers, overlap prevention, maintenance mode, or output handling. |
|
|
89
92
|
| skill | [`laravel-validation`](../.agent-src/skills/laravel-validation/SKILL.md) | | Use when writing validation — Form Requests, rules, custom rule objects, request-boundary design — even when the user just says 'validate this input' or 'check the request' without naming it. |
|
|
93
|
+
| skill | [`launch-readiness`](../.agent-src/skills/launch-readiness/SKILL.md) | | Use before merging a release-shaped PR — pre-merge checklist, rollout plan, rollback criteria, ops handoff. Triggers on 'ready to ship', 'launch checklist', 'rollout plan for X'. |
|
|
90
94
|
| skill | [`learning-to-rule-or-skill`](../.agent-src/skills/learning-to-rule-or-skill/SKILL.md) | | Use when a repeated learning, mistake, or successful pattern should be turned into a new rule or skill. Also use after completing a task to capture learnings from the work. |
|
|
91
95
|
| skill | [`lint-skills`](../.agent-src/skills/lint-skills/SKILL.md) | | Use when running the package's skill linter against all skills and rules to validate frontmatter, required sections, and execution metadata. |
|
|
92
96
|
| 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. |
|
|
@@ -96,6 +100,7 @@ are excluded.
|
|
|
96
100
|
| 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. |
|
|
97
101
|
| 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. |
|
|
98
102
|
| 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
|
+
| 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'. |
|
|
99
104
|
| 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. |
|
|
100
105
|
| 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. |
|
|
101
106
|
| 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. |
|
|
@@ -136,6 +141,7 @@ are excluded.
|
|
|
136
141
|
| skill | [`receiving-code-review`](../.agent-src/skills/receiving-code-review/SKILL.md) | | Use when processing code review feedback (bot or human) before changing anything — triages, verifies, and pushes back with technical reasoning — even when the user just says 'fix the comments'. |
|
|
137
142
|
| skill | [`refine-prompt`](../.agent-src/skills/refine-prompt/SKILL.md) | | Reconstruct a free-form prompt into actionable AC + assumptions + confidence band before the engine plans — '/work \"…\"', 'baue X', 'ist der Prompt klar genug für die Engine?'. |
|
|
138
143
|
| skill | [`refine-ticket`](../.agent-src/skills/refine-ticket/SKILL.md) | | Refine a Jira/Linear ticket before planning — 'refine ticket', 'tighten AC on PROJ-123', 'ist das Ticket klar?' — rewritten ticket, Top-5 risks, persona voices, sub-skills orchestrated, close-prompt. |
|
|
144
|
+
| 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'. |
|
|
139
145
|
| 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. |
|
|
140
146
|
| 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'. |
|
|
141
147
|
| 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. |
|
|
@@ -177,6 +183,7 @@ are excluded.
|
|
|
177
183
|
| 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'. |
|
|
178
184
|
| 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 |
|
|
179
185
|
| 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. |
|
|
186
|
+
| 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'. |
|
|
180
187
|
| 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'. |
|
|
181
188
|
|
|
182
189
|
## Rules (57)
|
|
@@ -241,7 +248,7 @@ are excluded.
|
|
|
241
248
|
| rule | [`user-interaction`](../.agent-src/rules/user-interaction.md) | auto | Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators |
|
|
242
249
|
| rule | [`verify-before-complete`](../.agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
|
|
243
250
|
|
|
244
|
-
## Commands (
|
|
251
|
+
## Commands (104)
|
|
245
252
|
|
|
246
253
|
| kind | name | cluster | description |
|
|
247
254
|
|---|---|---|---|
|
|
@@ -302,9 +309,10 @@ are excluded.
|
|
|
302
309
|
| command | [`judge`](../.agent-src/commands/judge.md) | cluster: judge | Judge orchestrator — routes to solo, steps, on-diff |
|
|
303
310
|
| command | [`memory:add`](../.agent-src/commands/memory/add.md) | cluster: memory | Interactively add a validated entry to an engineering-memory file (domain-invariants, architecture-decisions, incident-learnings, product-rules) |
|
|
304
311
|
| command | [`memory:load`](../.agent-src/commands/memory/load.md) | cluster: memory | Load ALL curated entries of a given memory type into the current context — opt-in full load for deep analysis, never auto-triggered |
|
|
312
|
+
| command | [`memory:mine-session`](../.agent-src/commands/memory/mine-session.md) | cluster: memory | Mine the active session transcript for memory signals (corrections, preferences, decisions, recurring patterns) — preview-by-default, opt-in transcript access, host-agnostic via TranscriptAdapter. |
|
|
305
313
|
| command | [`memory:promote`](../.agent-src/commands/memory/promote.md) | cluster: memory | Promote an intake signal (or provisional proposal) into a curated memory entry — opens a PR and runs the admission gate. |
|
|
306
314
|
| command | [`memory:propose`](../.agent-src/commands/memory/propose.md) | cluster: memory | Append a provisional memory signal to the intake stream — the universal fallback for any producer (human or agent) to record a finding without committing to a curated entry. |
|
|
307
|
-
| command | [`memory`](../.agent-src/commands/memory.md) | cluster: memory | Memory orchestrator — routes to add, load, promote, propose |
|
|
315
|
+
| command | [`memory`](../.agent-src/commands/memory.md) | cluster: memory | Memory orchestrator — routes to add, load, mine-session, promote, propose |
|
|
308
316
|
| command | [`mode`](../.agent-src/commands/mode.md) | | Set the active role mode — prints the contract, lists default skills, and refuses work outside the contract (see role-contracts) |
|
|
309
317
|
| command | [`module:create`](../.agent-src/commands/module/create.md) | cluster: module | Create a new module from .module-template with interactive setup |
|
|
310
318
|
| command | [`module:explore`](../.agent-src/commands/module/explore.md) | cluster: module | Explore a module — load its structure, docs, and context into the current conversation |
|
|
@@ -349,7 +357,7 @@ are excluded.
|
|
|
349
357
|
| 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 |
|
|
350
358
|
| 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. |
|
|
351
359
|
|
|
352
|
-
## Guidelines (
|
|
360
|
+
## Guidelines (69)
|
|
353
361
|
|
|
354
362
|
| kind | name | category | description |
|
|
355
363
|
|---|---|---|---|
|
|
@@ -389,6 +397,7 @@ are excluded.
|
|
|
389
397
|
| guideline | [`verify-before-complete-demos`](../docs/guidelines/agent-infra/verify-before-complete-demos.md) | agent-infra | |
|
|
390
398
|
| guideline | [`augment-portability-patterns`](../docs/guidelines/augment-portability-patterns.md) | (root) | |
|
|
391
399
|
| guideline | [`code-clarity`](../docs/guidelines/code-clarity.md) | (root) | |
|
|
400
|
+
| guideline | [`cross-role-handoff`](../docs/guidelines/cross-role-handoff.md) | (root) | |
|
|
392
401
|
| guideline | [`readme-size-and-splitting`](../docs/guidelines/docs/readme-size-and-splitting.md) | docs | |
|
|
393
402
|
| guideline | [`playwright`](../docs/guidelines/e2e/playwright.md) | e2e | |
|
|
394
403
|
| guideline | [`api-design`](../docs/guidelines/php/api-design.md) | php | |
|
|
@@ -122,10 +122,24 @@ command: JSONL append-only drop-ins under
|
|
|
122
122
|
is present, the same payload is accepted by a `propose()` CLI or MCP
|
|
123
123
|
call. File-drop is the always-works path.
|
|
124
124
|
|
|
125
|
-
Required fields (keep in sync with `/propose-memory` command):
|
|
125
|
+
**Required fields** (keep in sync with `/propose-memory` command):
|
|
126
126
|
`ts`, `type`, `key` (path or logical id), `observation`, `source`
|
|
127
127
|
(`agent` or `human`), `session_id`.
|
|
128
128
|
|
|
129
|
+
**Optional fields:**
|
|
130
|
+
|
|
131
|
+
- `tags: string[]` — zero or more schema-routing labels from the
|
|
132
|
+
controlled vocabulary `{convention, invariant, gotcha, pattern}`.
|
|
133
|
+
Default `[]`. Producers (`/memory propose`, `/memory mine-session`)
|
|
134
|
+
emit tags; consumers (`/memory promote`) read **tag intersection**
|
|
135
|
+
to pick the curated YAML target when a signal carries two tags
|
|
136
|
+
(e.g. `[gotcha, invariant]` → primary `gotcha` JSONL, promote target
|
|
137
|
+
resolved by the reviewer at promotion time). See
|
|
138
|
+
[`memory-consolidation`](../../.agent-src.uncompressed/skills/memory-consolidation/SKILL.md)
|
|
139
|
+
§ Phase 3 for the schema-routing table.
|
|
140
|
+
- `confidence: low | medium | high` — producer-supplied estimate; the
|
|
141
|
+
inline-review hook in `/memory load` ranks the top-3 by this field.
|
|
142
|
+
|
|
129
143
|
## Revisit triggers
|
|
130
144
|
|
|
131
145
|
Q29 is **parked open**, not a blocker. Revisit when **one** of these
|
|
@@ -32,7 +32,7 @@ column 1 of this table.
|
|
|
32
32
|
| `feature` | 1 | `explore` · `plan` · `refactor` · `roadmap` · `dev` | `feature-explore` · `feature-plan` · `feature-refactor` · `feature-roadmap` · `feature-dev` |
|
|
33
33
|
| `chat-history` | 2 | `show` · `import` · `learn` | `chat-history` (legacy status) — `resume` / `clear` / `checkpoint` removed in `road-to-chat-history-hook-only` (auto-adopt + structural hooks); `import` (verbatim cross-session render) and `learn` (project-improving learning extraction) added in the v4 stateless schema |
|
|
34
34
|
| `agents` | 2 | `init` · `optimize` · `audit` | AGENTS.md file family (high-frequency) — repurposed 2026-05-09: `init` (was `/copilot-agents init`) · `optimize` (merger of `/optimize agents-md` + `/copilot-agents optimize`) · `audit` (was `/optimize agents`, collapses old `audit` + `check` verbs); legacy folder ops (`prepare` / `cleanup` / folder-`audit`) moved to `/optimize agents-dir` |
|
|
35
|
-
| `memory` | 2 | `add` · `load` · `promote` · `propose` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory` |
|
|
35
|
+
| `memory` | 2 | `add` · `load` · `promote` · `propose` · `mine-session` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory`; `mine-session` added 2026-05-10 — manual transcript-mining sub-command from `road-to-dream-skill-adoption.md`, opt-in via `--confirm-transcript-access` per invocation |
|
|
36
36
|
| `roadmap` | 2 | `create` · `ai-council` · `process-step` · `process-phase` · `process-full` | `roadmap-create` · `roadmap-execute` (replaced — autonomous, no per-step gate; `process-phase` is the default execution scope); `ai-council` added 2026-05-07 — wraps `/council default` with `--input-mode roadmap --depth deep` |
|
|
37
37
|
| `module` | 2 | `create` · `explore` | `module-create` · `module-explore` |
|
|
38
38
|
| `tests` | 2 | `create` · `execute` | `tests-create` · `tests-execute` |
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: stable
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# Context-Spine Contract
|
|
7
|
+
|
|
8
|
+
> **Status:** active · **Stability:** stable · **Owner:** unified-senior-roles Block K1
|
|
9
|
+
> · **Lint gate:** `task lint-skills` (frontmatter shape only — slot semantics are author-side)
|
|
10
|
+
|
|
11
|
+
Senior skills repeatedly need three slabs of context that the user
|
|
12
|
+
already supplied earlier in the project: **what the product is**,
|
|
13
|
+
**who the team is**, **what the repo looks like**. The context-spine
|
|
14
|
+
mechanic captures those slabs once per project and lets every senior
|
|
15
|
+
skill cite the slot it needs — without re-asking the user, without
|
|
16
|
+
re-reading the manifest tree on every entry.
|
|
17
|
+
|
|
18
|
+
## § 1 — Purpose
|
|
19
|
+
|
|
20
|
+
Three failure modes the spine prevents:
|
|
21
|
+
|
|
22
|
+
1. **Repeat-the-context tax** — every senior skill restates "what is
|
|
23
|
+
this project / what does the team do / where does the code live"
|
|
24
|
+
to the user. The spine factors that into shared slots.
|
|
25
|
+
2. **Implicit-read drift** — a skill silently reads `composer.json` /
|
|
26
|
+
`README.md` / `package.json` to infer context, gets stale
|
|
27
|
+
information, and bakes it into the artifact. Spine reads are
|
|
28
|
+
**opt-in via frontmatter**, never implicit.
|
|
29
|
+
3. **Cross-role bikeshed** — Wave-2 personas (Block N) and Wing-3 / 4
|
|
30
|
+
senior skills argue over whose context-doc is canonical. The spine
|
|
31
|
+
names three slots and freezes the count.
|
|
32
|
+
|
|
33
|
+
## § 2 — Slot definitions
|
|
34
|
+
|
|
35
|
+
The spine has **exactly three slots**. Council Q1 verdict (2026-05-05,
|
|
36
|
+
KEEP-3): slot count is locked; extensions require an ADR (§ 5).
|
|
37
|
+
|
|
38
|
+
| Slot | Path under `agents/context-spine/` | Owner | Typical content |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| `product` | `product.md` | Product / discovery wing | What the product **is**, who it serves, the problem it solves, the JTBD framing, the bounded scope. Read by Block-L senior PO / discovery skills. |
|
|
41
|
+
| `team` | `team.md` | RevOps / maintainer wing | Who **maintains** this codebase, how decisions are made, review-routing conventions, cadence (release rhythm, planning ritual). Read by review-routing, finishing-a-development-branch, persona overrides. |
|
|
42
|
+
| `repo` | `repo.md` | Engineering wing | What the codebase **is** at the file-tree level: stack one-liner, primary languages, top-level module map, deploy target. Read by analysis skills, blast-radius-analyzer, project-analysis-* skills. |
|
|
43
|
+
|
|
44
|
+
Slots are markdown files. Each is **≤ 200 lines**; longer means the
|
|
45
|
+
slot is doing two jobs and the author should split or trim. Empty /
|
|
46
|
+
missing slot is allowed — the citing skill MUST handle absence
|
|
47
|
+
gracefully and fall back to its existing read paths.
|
|
48
|
+
|
|
49
|
+
## § 3 — Frontmatter opt-in
|
|
50
|
+
|
|
51
|
+
A senior skill declares which slots it reads via the `context_spine`
|
|
52
|
+
frontmatter array:
|
|
53
|
+
|
|
54
|
+
```yaml
|
|
55
|
+
---
|
|
56
|
+
name: customer-research
|
|
57
|
+
tier: senior
|
|
58
|
+
context_spine: [product, team]
|
|
59
|
+
...
|
|
60
|
+
---
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Rules:
|
|
64
|
+
|
|
65
|
+
- The key is **optional**. Senior skills MAY ship without it; the
|
|
66
|
+
default (`[]`) means the skill does not read the spine.
|
|
67
|
+
- Values are restricted to the literal slot names: `product`, `team`,
|
|
68
|
+
`repo`. Unknown values fail `task lint-skills` with
|
|
69
|
+
`unknown_context_spine_slot`.
|
|
70
|
+
- Reads MUST be opt-in and explicit. A skill body that says *"reads
|
|
71
|
+
`agents/context-spine/product.md` if present"* without declaring
|
|
72
|
+
the slot in frontmatter is **incorrect** — it bypasses the lint
|
|
73
|
+
gate and the user's expectation that the spine read is visible.
|
|
74
|
+
- The frontmatter value is the **contract**. The skill body cites
|
|
75
|
+
`agents/context-spine/<slot>.md` once near the top and lets the
|
|
76
|
+
reader follow the link if they care.
|
|
77
|
+
|
|
78
|
+
## § 4 — No implicit reads
|
|
79
|
+
|
|
80
|
+
The spine is a **discipline**, not a runtime. There is no Python
|
|
81
|
+
loader that injects spine content into a skill's prompt. The agent
|
|
82
|
+
loading a senior skill reads the skill body, sees the
|
|
83
|
+
`context_spine: [...]` declaration, and — if the slot files exist
|
|
84
|
+
— quotes them inline before executing the skill's procedure. The
|
|
85
|
+
skill body MUST NOT state a behavior that depends on the spine being
|
|
86
|
+
read; absence is recoverable, presence is a bonus.
|
|
87
|
+
|
|
88
|
+
This keeps the spine cheap (no orchestration plumbing), explicit
|
|
89
|
+
(every read is in frontmatter), and reversible (deleting the slot
|
|
90
|
+
file does not break the skill).
|
|
91
|
+
|
|
92
|
+
## § 5 — Slot-add policy
|
|
93
|
+
|
|
94
|
+
Adding a fourth slot is **structurally allowed but procedurally
|
|
95
|
+
expensive**. Two preconditions:
|
|
96
|
+
|
|
97
|
+
1. **Citation evidence.** ≥ 2 shipped senior skills declare the new
|
|
98
|
+
slot in their frontmatter and cite it in the body, with PRs
|
|
99
|
+
merged to `main`. Drafts and roadmap items do not count.
|
|
100
|
+
2. **ADR.** A new ADR under `docs/contracts/` named
|
|
101
|
+
`adr-context-spine-slot-<name>.md` documents the cognition gap
|
|
102
|
+
the existing three slots cannot fill, the slot's owner wing, and
|
|
103
|
+
the migration plan for the existing senior catalog (do they
|
|
104
|
+
declare the new slot, do they ignore it, do they get retrofitted).
|
|
105
|
+
|
|
106
|
+
The ADR ships with the schema bump (`scripts/schemas/skill.schema.json`
|
|
107
|
+
extends the `context_spine` enum) and a CHANGELOG entry under
|
|
108
|
+
`### Breaking` if the new enum value tightens an existing skill's
|
|
109
|
+
declaration.
|
|
110
|
+
|
|
111
|
+
This policy mitigates the slot-sprawl failure mode: "tri-slot locked
|
|
112
|
+
at 3 + ADR-gated growth" is the brake. The ADR is the single growth
|
|
113
|
+
lever; no consumer-side override exists.
|
|
114
|
+
|
|
115
|
+
## § 6 — Author checklist
|
|
116
|
+
|
|
117
|
+
Before shipping a senior skill that opts into the spine:
|
|
118
|
+
|
|
119
|
+
- [ ] Frontmatter declares `context_spine:` with values from
|
|
120
|
+
`{product, team, repo}`.
|
|
121
|
+
- [ ] Skill body cites `agents/context-spine/<slot>.md` near the top
|
|
122
|
+
(one link per declared slot).
|
|
123
|
+
- [ ] Procedure handles missing-slot gracefully — falls back to the
|
|
124
|
+
skill's existing read path, never errors out.
|
|
125
|
+
- [ ] `task lint-skills` passes with no `unknown_context_spine_slot`.
|
|
126
|
+
|
|
127
|
+
## See also
|
|
128
|
+
|
|
129
|
+
- `.agent-src.uncompressed/rules/skill-quality.md` § Senior-Tier
|
|
130
|
+
Required Structure — the four blocks every `tier: senior` skill
|
|
131
|
+
ships independently of spine opt-in.
|
|
132
|
+
- `docs/contracts/cross-wing-handoff.md` — typed handoffs between
|
|
133
|
+
senior skills; orthogonal to the spine (composition vs context).
|