@event4u/agent-config 1.35.0 → 1.36.1
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 +6 -3
- package/.agent-src/contexts/authority/scope-mechanics.md +56 -2
- package/.agent-src/contexts/execution/autonomy-detection.md +7 -7
- package/.agent-src/contexts/execution/roadmap-process-loop.md +7 -2
- package/.agent-src/rules/autonomous-execution.md +25 -0
- package/.agent-src/rules/scope-control.md +13 -8
- package/.agent-src/skills/memory-consolidation/SKILL.md +216 -0
- package/.agent-src/templates/roadmaps.md +14 -9
- package/.claude-plugin/marketplace.json +3 -1
- package/CHANGELOG.md +42 -0
- package/README.md +3 -3
- package/config/agent-settings.template.yml +35 -0
- package/docs/architecture.md +2 -2
- package/docs/catalog.md +10 -4
- package/docs/contracts/agent-memory-contract.md +15 -1
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/file-ownership-matrix.json +278 -0
- package/docs/getting-started.md +1 -1
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +52 -0
- package/package.json +1 -1
- package/scripts/check_memory.py +106 -4
- package/scripts/check_references.py +1 -0
- package/scripts/lint_roadmap_complexity.py +53 -6
- package/scripts/mine_session.py +279 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-consolidation
|
|
3
|
+
description: "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'."
|
|
4
|
+
status: active
|
|
5
|
+
tier: senior
|
|
6
|
+
source: package
|
|
7
|
+
domain: engineering
|
|
8
|
+
context_spine: [repo]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# memory-consolidation
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- Intake JSONL has accumulated unreviewed signals and `/memory:load` shows the inline-review block.
|
|
16
|
+
- A pattern recurred across recent sessions (correction, preference, decision, repeat-bug) and is at risk of being forgotten by the next fresh chat.
|
|
17
|
+
- Before closing out a multi-day implementation, capture project-scoped facts so the next agent does not re-discover them.
|
|
18
|
+
|
|
19
|
+
Do NOT use for one-off code review notes (those belong in PR comments,
|
|
20
|
+
not memory), for user-attribute facts like name or IDE preference (the
|
|
21
|
+
`onboard` flow owns those), or for transient TODOs (use the task list).
|
|
22
|
+
|
|
23
|
+
## Cognition cluster
|
|
24
|
+
|
|
25
|
+
- **Mental model 5 — Signal vs. noise.** A consolidation pass that
|
|
26
|
+
promotes 30 entries from a 50-message session is noise; the Pareto
|
|
27
|
+
cut is roughly 3–5 promote-worthy signals per cycle. See
|
|
28
|
+
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 5.
|
|
29
|
+
- **Mental model 12 — Defense in depth.** Date-discipline, tag
|
|
30
|
+
intersection, and per-invocation transcript-access confirmation are
|
|
31
|
+
three independent guards; any one alone fails open. See § 12.
|
|
32
|
+
|
|
33
|
+
## Procedure
|
|
34
|
+
|
|
35
|
+
The loop is four sequential phases. Each phase has one exit gate; do
|
|
36
|
+
not advance until the gate is green.
|
|
37
|
+
|
|
38
|
+
### Phase 1 — ORIENT (review scope and assess adapter)
|
|
39
|
+
|
|
40
|
+
1. Confirm scope: which project, which time window, which transcript
|
|
41
|
+
source. Default window: last 14 days. The agent must read the
|
|
42
|
+
user's last chat message for an explicit `--since` override before
|
|
43
|
+
defaulting.
|
|
44
|
+
2. Inspect the current curated state: list files under
|
|
45
|
+
`agents/memory/` and check the most recent `last_validated`
|
|
46
|
+
timestamps. Identify which schemas are stale before mining adds
|
|
47
|
+
noise.
|
|
48
|
+
3. Review the **repo** slot of the [context-spine](../../../docs/contracts/context-spine.md)
|
|
49
|
+
for project boundaries (modules, owners, sensitive paths). If empty,
|
|
50
|
+
note the gap in the consolidation report; do not invent.
|
|
51
|
+
4. Resolve the `TranscriptAdapter` for the current host (see Adapter
|
|
52
|
+
contract below). If no adapter matches, stop and route the user to
|
|
53
|
+
`/memory:propose` for manual signal entry. Do **not** synthesize.
|
|
54
|
+
|
|
55
|
+
**Exit gate:** scope, window, adapter all named. If any one is
|
|
56
|
+
missing, stop.
|
|
57
|
+
|
|
58
|
+
### Phase 2 — GATHER SIGNAL
|
|
59
|
+
|
|
60
|
+
1. Stream transcript turns through the four signal regex families:
|
|
61
|
+
- **Correction:** `actually|wrong|stop doing|don't do|that's not what|nicht so`.
|
|
62
|
+
- **Preference:** `prefer|always|never|standard|i want|ich will`.
|
|
63
|
+
- **Decision:** `let's go with|decided|we'll use|entschieden`.
|
|
64
|
+
- **Pattern (recurring):** the same file path or symbol appears in
|
|
65
|
+
≥ 3 turns within 24 hours.
|
|
66
|
+
2. For each match, extract a **normalised fact** — strip personal
|
|
67
|
+
pronouns, IDE chrome, timestamps, and turn-id. The fact must be
|
|
68
|
+
project-scoped (refers to a file, module, command, or invariant)
|
|
69
|
+
not user-scoped (refers to *me*, *Matze*, *my IDE*).
|
|
70
|
+
3. Drop user-attribute matches. If the fact cannot survive the
|
|
71
|
+
normalisation, discard it. The miner is a strict gate.
|
|
72
|
+
|
|
73
|
+
**Exit gate:** ≤ 5 normalised facts per cycle. More than 5 means the
|
|
74
|
+
miner is too loose; tighten patterns and re-run before promoting.
|
|
75
|
+
|
|
76
|
+
### Phase 3 — CONSOLIDATE
|
|
77
|
+
|
|
78
|
+
1. Tag each fact via the schema-routing table:
|
|
79
|
+
|
|
80
|
+
| Tag | Schema |
|
|
81
|
+
|---|---|
|
|
82
|
+
| `convention` | `agents/memory/conventions.yml` |
|
|
83
|
+
| `invariant` | `agents/memory/domain-invariants.yml` |
|
|
84
|
+
| `gotcha` | `agents/memory/operational-gotchas.yml` |
|
|
85
|
+
| `pattern` | `agents/memory/recurring-patterns.yml` |
|
|
86
|
+
|
|
87
|
+
A fact may carry **two** tags; the promoter resolves via tag
|
|
88
|
+
intersection, not by file extension. See
|
|
89
|
+
[`docs/contracts/agent-memory-contract.md`](../../../docs/contracts/agent-memory-contract.md)
|
|
90
|
+
for the curated YAML schemas.
|
|
91
|
+
|
|
92
|
+
2. Append each fact as one JSONL line to
|
|
93
|
+
`agents/memory/intake/<primary-tag>.jsonl` with required fields
|
|
94
|
+
per the contract: `ts`, `type`, `key`, `observation`, `source:
|
|
95
|
+
agent`, `session_id`, plus the new optional `tags: [<one>, <two>]`.
|
|
96
|
+
3. Default to `--preview` mode: render the JSONL block to stdout and
|
|
97
|
+
stop. Only `--commit-intake` writes the file.
|
|
98
|
+
|
|
99
|
+
**Exit gate:** every fact carries ≥ 1 tag and a JSONL-shape that
|
|
100
|
+
validates against the contract.
|
|
101
|
+
|
|
102
|
+
### Phase 4 — PRUNE & INDEX
|
|
103
|
+
|
|
104
|
+
1. After promotion (handled by `/memory:promote`, not this skill),
|
|
105
|
+
archive the consumed JSONL lines into
|
|
106
|
+
`agents/memory/intake/.archive/YYYY-Www.jsonl` — week-bucketed,
|
|
107
|
+
not day-bucketed (defeats session-context inference attacks).
|
|
108
|
+
2. If a curated entry's `last_validated` field is older than 90 days
|
|
109
|
+
AND no signal in the last 30 days touched its `key`, mark it
|
|
110
|
+
stale in the consolidation report — but do **not** auto-delete.
|
|
111
|
+
Pruning is a human-confirmed action.
|
|
112
|
+
|
|
113
|
+
**Exit gate:** report cites ≥ 0 promotions, ≥ 0 stale flags, 0
|
|
114
|
+
auto-deletes.
|
|
115
|
+
|
|
116
|
+
## TranscriptAdapter contract
|
|
117
|
+
|
|
118
|
+
The miner is host-agnostic by design. A `TranscriptAdapter` for host
|
|
119
|
+
`X` ships:
|
|
120
|
+
|
|
121
|
+
- **Discover:** function returning the absolute path(s) of session
|
|
122
|
+
transcripts for the active project, scoped to the `--since` window.
|
|
123
|
+
Phase 1 ships the Claude-Code adapter only; absent adapter →
|
|
124
|
+
`not-supported-on-this-host`.
|
|
125
|
+
- **Iterate:** generator yielding turn objects with `{role, ts,
|
|
126
|
+
text}`. Adapter strips IDE chrome and tool-call boilerplate before
|
|
127
|
+
yielding.
|
|
128
|
+
- **Redact:** function applied to every yielded text — drops user
|
|
129
|
+
names, file paths outside the repo root, and any personal
|
|
130
|
+
identifier the consumer project lists in
|
|
131
|
+
`.agent-settings.yml` under `memory.redact_patterns`.
|
|
132
|
+
|
|
133
|
+
Phase 1 implementation lives in
|
|
134
|
+
`/memory:mine-session` (single host: Claude Code,
|
|
135
|
+
`~/.claude/projects/*/sessions/*.jsonl`). Phase 3 of the
|
|
136
|
+
adoption roadmap adds a second host adapter; the contract above is
|
|
137
|
+
documented now so the second implementation is not a vacuum design.
|
|
138
|
+
|
|
139
|
+
## Related Skills
|
|
140
|
+
|
|
141
|
+
**WHEN to use this**
|
|
142
|
+
|
|
143
|
+
- Intake JSONL has > 10 unreviewed signals.
|
|
144
|
+
- A correction / preference recurred across ≥ 3 sessions.
|
|
145
|
+
- Closing out a multi-day implementation.
|
|
146
|
+
|
|
147
|
+
**WHEN NOT to use this**
|
|
148
|
+
|
|
149
|
+
- One-off PR review notes — comment on the PR.
|
|
150
|
+
- User-attribute facts (name, IDE) — those belong to the
|
|
151
|
+
[`onboard`](../../commands/onboard.md) flow, not curated memory.
|
|
152
|
+
- Transient TODOs — use the task-list tools.
|
|
153
|
+
- A single bug fix that does not generalise — fix the bug, do not
|
|
154
|
+
memorise it.
|
|
155
|
+
|
|
156
|
+
## When the agent should load this
|
|
157
|
+
|
|
158
|
+
- "Mine my recent sessions for memory signals."
|
|
159
|
+
- "Consolidate the intake stream into curated entries."
|
|
160
|
+
- "What did we decide about X across the last week?"
|
|
161
|
+
- "Review unreviewed memory signals before I switch projects."
|
|
162
|
+
- "Run a memory consolidation cycle."
|
|
163
|
+
|
|
164
|
+
## Output
|
|
165
|
+
|
|
166
|
+
1. **Consolidation report** — Markdown block printed to stdout: scope
|
|
167
|
+
(project, window, host), signal counts per class, list of
|
|
168
|
+
normalised facts with tag and target schema, stale-flag list. No
|
|
169
|
+
side effects in `--preview` mode.
|
|
170
|
+
2. **Intake JSONL appendix** — only with `--commit-intake`: appended
|
|
171
|
+
lines to `agents/memory/intake/<tag>.jsonl`. Lines validate
|
|
172
|
+
against the contract.
|
|
173
|
+
3. **Archive bucket** — only after `/memory:promote` runs and lifts
|
|
174
|
+
the lines into curated YAML: appends to
|
|
175
|
+
`agents/memory/intake/.archive/YYYY-Www.jsonl`. Week-bucketed.
|
|
176
|
+
|
|
177
|
+
## Gotcha
|
|
178
|
+
|
|
179
|
+
- Mining without `--confirm-transcript-access` reads zero turns and
|
|
180
|
+
prints an opt-in hint. The flag is per-invocation, not persistent.
|
|
181
|
+
- The miner is a strict gate. > 5 normalised facts per cycle means
|
|
182
|
+
the regex set is too loose, not that the session was rich.
|
|
183
|
+
- A fact tagged `gotcha + invariant` lands in the `gotcha` JSONL
|
|
184
|
+
(primary tag); the promoter reads tag intersection to decide the
|
|
185
|
+
curated YAML target.
|
|
186
|
+
- Date-discipline: the `check_memory.py` linter rejects
|
|
187
|
+
`yesterday|today|tomorrow|last/next/this week|month|year` in curated
|
|
188
|
+
YAML without an `YYYY-MM-DD` anchor within ±20 chars. Re-anchor
|
|
189
|
+
before commit.
|
|
190
|
+
|
|
191
|
+
## Do NOT
|
|
192
|
+
|
|
193
|
+
- Do NOT auto-trigger this skill on session end. The flow is manual,
|
|
194
|
+
per-invocation, and confirmed.
|
|
195
|
+
- Do NOT vendor patterns or text from `grandamenium/dream-skill` —
|
|
196
|
+
the upstream lacks a `LICENSE`. Concept and procedure structure are
|
|
197
|
+
the only adoption surface.
|
|
198
|
+
- Do NOT promote a normalised fact whose `key` falls outside the
|
|
199
|
+
repo root or names another consumer project.
|
|
200
|
+
- Do NOT delete a stale curated entry without explicit user
|
|
201
|
+
confirmation. Stale-flag is the most this skill emits.
|
|
202
|
+
|
|
203
|
+
## Runnable example
|
|
204
|
+
|
|
205
|
+
After a 4-day refactor of `app/Services/PaymentGateway`, run a
|
|
206
|
+
consolidation cycle:
|
|
207
|
+
|
|
208
|
+
- `/memory:mine-session --since 2026-05-06 --confirm-transcript-access --preview`.
|
|
209
|
+
- Miner surfaces 4 facts: 1 correction (`PaymentGateway::charge` must
|
|
210
|
+
not throw on idempotency replays — `convention`), 1 decision
|
|
211
|
+
(`Stripe webhook signing key lives in `config/services.php` only —
|
|
212
|
+
`gotcha`), 2 patterns (`PaymentGatewayTest` flakes when seeded data
|
|
213
|
+
carries timestamps in microseconds — `pattern + gotcha`).
|
|
214
|
+
- Report cites 0 stale flags. Re-run with `--commit-intake` after
|
|
215
|
+
spot-checking the 4 facts.
|
|
216
|
+
- Hand off to `/memory:promote` for the curated-YAML write.
|
|
@@ -43,15 +43,20 @@ Templates for roadmap files stored in `agents/roadmaps/` or `app/Modules/{Module
|
|
|
43
43
|
or budget-invariant changes; multi-round council, file-ownership
|
|
44
44
|
matrices, > 600 lines. Enforced by `task lint-roadmap-complexity`.
|
|
45
45
|
Standard: [`docs/contracts/roadmap-complexity-standard.md`](../docs/contracts/roadmap-complexity-standard.md).
|
|
46
|
-
16. **
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
16. **Time-boxed plates / visible-horizon sections — opt-in via
|
|
47
|
+
`roadmap.horizon_weeks` in `.agent-settings.yml`.** Default is `0`
|
|
48
|
+
(off): roadmaps describe scope and phase ordering, not week-by-week
|
|
49
|
+
commitments. With the default, do **not** add `## Horizon (N-week
|
|
50
|
+
visible plate)` sections, "Inside / outside the plate" framings,
|
|
51
|
+
`In-plate?` columns in decision tables, or `**Out-of-plate.**` /
|
|
52
|
+
`**Out-of-horizon.**` / `(out-of-horizon, gated on Phase N)`
|
|
53
|
+
suffixes on steps or phase headers. AI execution does not operate
|
|
54
|
+
on calendar plates by default; scope ordering and dependency gates
|
|
55
|
+
are sufficient. Pacing is the user's call, decided per turn —
|
|
56
|
+
never encoded into the plan unless they have explicitly set
|
|
57
|
+
`horizon_weeks` to a positive integer. Enforced by
|
|
58
|
+
`task lint-roadmap-complexity` (plate-token detection skipped when
|
|
59
|
+
`horizon_weeks > 0`).
|
|
55
60
|
|
|
56
61
|
---
|
|
57
62
|
|
|
@@ -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.1"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
@@ -160,7 +160,9 @@
|
|
|
160
160
|
"./.claude/skills/md-language-check",
|
|
161
161
|
"./.claude/skills/memory",
|
|
162
162
|
"./.claude/skills/memory-add",
|
|
163
|
+
"./.claude/skills/memory-consolidation",
|
|
163
164
|
"./.claude/skills/memory-load",
|
|
165
|
+
"./.claude/skills/memory-mine-session",
|
|
164
166
|
"./.claude/skills/memory-promote",
|
|
165
167
|
"./.claude/skills/memory-propose",
|
|
166
168
|
"./.claude/skills/merge-conflicts",
|
package/CHANGELOG.md
CHANGED
|
@@ -318,6 +318,48 @@ 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.1](https://github.com/event4u-app/agent-config/compare/1.36.0...1.36.1) (2026-05-10)
|
|
322
|
+
|
|
323
|
+
### Refactoring
|
|
324
|
+
|
|
325
|
+
* **scope-control:** extract roadmap-shape, kernel-rule-edits, fenced-step detail to scope-mechanics ([e52c834](https://github.com/event4u-app/agent-config/commit/e52c834a672e6f24b1b7c1608e481b7f45a46054))
|
|
326
|
+
|
|
327
|
+
### Chores
|
|
328
|
+
|
|
329
|
+
* **generate-tools:** regenerate .windsurfrules for scope-control extraction ([ee7664e](https://github.com/event4u-app/agent-config/commit/ee7664ee6cd0ec5aacdf95b5e4ec1000e01a0121))
|
|
330
|
+
|
|
331
|
+
Tests: 2621 (+0 since 1.36.0)
|
|
332
|
+
|
|
333
|
+
## [1.36.0](https://github.com/event4u-app/agent-config/compare/1.35.0...1.36.0) (2026-05-10)
|
|
334
|
+
|
|
335
|
+
### Features
|
|
336
|
+
|
|
337
|
+
* **commands:** tier-0 surfacing on /memory:load and ts_week on /memory:promote ([85f4b63](https://github.com/event4u-app/agent-config/commit/85f4b63dc792488ba60af4da2b09d4fcaa58506c))
|
|
338
|
+
* **memory:** add priority enum validator and tier-0 stale checks ([5d61328](https://github.com/event4u-app/agent-config/commit/5d61328fa1bc1ac38d9acb98a9f97d2dc0dab4a7))
|
|
339
|
+
* **memory:** consolidation skill + /memory:mine-session + intake review hook ([7037a45](https://github.com/event4u-app/agent-config/commit/7037a45b2e63193a3289622784093f522c578158))
|
|
340
|
+
|
|
341
|
+
### Bug Fixes
|
|
342
|
+
|
|
343
|
+
* **check-refs:** skip agents/council-responses/ like council-sessions/ ([d18551e](https://github.com/event4u-app/agent-config/commit/d18551e896d747533f2aa4465b390b291c931c4a))
|
|
344
|
+
* **check-refs:** skip agents/council-responses/ like council-sessions/ ([4faf5f8](https://github.com/event4u-app/agent-config/commit/4faf5f82c380222281b38213c38399187757840b))
|
|
345
|
+
* **scope-control:** trim authoring section to fit kernel ceiling ([b436d0a](https://github.com/event4u-app/agent-config/commit/b436d0a8840b0498688ed9efe28eb76bbfc08a5a))
|
|
346
|
+
* **roadmap:** suppress council-reference lint on dream-skill roadmap ([c355ca5](https://github.com/event4u-app/agent-config/commit/c355ca5d8b4e7e5f181f31efe057e2c0d5ff63eb))
|
|
347
|
+
|
|
348
|
+
### Documentation
|
|
349
|
+
|
|
350
|
+
* **roadmap:** close out dream-skill adoption — Phase 3 cancelled-deferred, archive ([63bedd0](https://github.com/event4u-app/agent-config/commit/63bedd02c7686e183acadebff742423ab0c258a6))
|
|
351
|
+
* **roadmap:** mark Phase 2 partial shipped, B1 + Phase 3 deferred with rationale ([620d7f0](https://github.com/event4u-app/agent-config/commit/620d7f09372b866659f0a41f1690fdab904777bb))
|
|
352
|
+
* **memory:** document priority enum and ts_week jitter convention ([f9f65d4](https://github.com/event4u-app/agent-config/commit/f9f65d4d9d699d7b65c496745e440f3fa7de1c54))
|
|
353
|
+
|
|
354
|
+
### Chores
|
|
355
|
+
|
|
356
|
+
* **roadmap:** mark Phase 1 of dream-skill adoption complete ([b46ce4c](https://github.com/event4u-app/agent-config/commit/b46ce4ca7737fd9f4d29692837680023d3fbf68d))
|
|
357
|
+
* **meta:** regenerate ownership matrix after scope-control trim ([db14110](https://github.com/event4u-app/agent-config/commit/db14110b0aebf9acc178cd997d1e11d0d91fd382))
|
|
358
|
+
* **meta:** regenerate ownership matrix ([a23604e](https://github.com/event4u-app/agent-config/commit/a23604ef031daf0ec5e9dfdce30baf3c0293340d))
|
|
359
|
+
* **rules:** harden against unsolicited implementation + horizon opt-in ([00b5fa9](https://github.com/event4u-app/agent-config/commit/00b5fa96b93b41943559c4dac775069a2e14b0e3))
|
|
360
|
+
|
|
361
|
+
Tests: 2621 (+15 since 1.35.0)
|
|
362
|
+
|
|
321
363
|
## [1.35.0](https://github.com/event4u-app/agent-config/compare/1.34.0...1.35.0) (2026-05-10)
|
|
322
364
|
|
|
323
365
|
### 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,9 +96,9 @@ 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** |
|
|
101
|
+
| **Commands** | 104 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
|
|
102
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 |
|
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,6 +35,7 @@ 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. |
|
|
@@ -54,6 +55,7 @@ are excluded.
|
|
|
54
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. |
|
|
55
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'. |
|
|
56
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'. |
|
|
57
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'. |
|
|
58
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. |
|
|
59
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. |
|
|
@@ -88,6 +90,7 @@ are excluded.
|
|
|
88
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. |
|
|
89
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. |
|
|
90
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'. |
|
|
91
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. |
|
|
92
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. |
|
|
93
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. |
|
|
@@ -97,6 +100,7 @@ are excluded.
|
|
|
97
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. |
|
|
98
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. |
|
|
99
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'. |
|
|
100
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. |
|
|
101
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. |
|
|
102
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. |
|
|
@@ -179,6 +183,7 @@ are excluded.
|
|
|
179
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'. |
|
|
180
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 |
|
|
181
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'. |
|
|
182
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'. |
|
|
183
188
|
|
|
184
189
|
## Rules (57)
|
|
@@ -243,7 +248,7 @@ are excluded.
|
|
|
243
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 |
|
|
244
249
|
| rule | [`verify-before-complete`](../.agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
|
|
245
250
|
|
|
246
|
-
## Commands (
|
|
251
|
+
## Commands (104)
|
|
247
252
|
|
|
248
253
|
| kind | name | cluster | description |
|
|
249
254
|
|---|---|---|---|
|
|
@@ -304,9 +309,10 @@ are excluded.
|
|
|
304
309
|
| command | [`judge`](../.agent-src/commands/judge.md) | cluster: judge | Judge orchestrator — routes to solo, steps, on-diff |
|
|
305
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) |
|
|
306
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. |
|
|
307
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. |
|
|
308
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. |
|
|
309
|
-
| 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 |
|
|
310
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) |
|
|
311
317
|
| command | [`module:create`](../.agent-src/commands/module/create.md) | cluster: module | Create a new module from .module-template with interactive setup |
|
|
312
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 |
|
|
@@ -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` |
|