@event4u/agent-config 2.11.0 → 2.13.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/council/analysis.md +142 -0
- package/.agent-src/commands/council/debate.md +129 -0
- package/.agent-src/commands/council/default.md +8 -0
- package/.agent-src/commands/council/design.md +16 -12
- package/.agent-src/commands/council/optimize.md +16 -15
- package/.agent-src/commands/council/pr.md +12 -12
- package/.agent-src/commands/council.md +48 -2
- package/.agent-src/personas/advisors/contrarian.md +95 -0
- package/.agent-src/personas/advisors/executor.md +99 -0
- package/.agent-src/personas/advisors/expansionist.md +98 -0
- package/.agent-src/personas/advisors/first-principles.md +98 -0
- package/.agent-src/personas/advisors/outsider.md +102 -0
- package/.agent-src/rules/copilot-routing.md +19 -0
- package/.agent-src/rules/devcontainer-routing.md +20 -0
- package/.agent-src/rules/laravel-routing.md +20 -0
- package/.agent-src/rules/symfony-routing.md +20 -0
- package/.agent-src/skills/ai-council/SKILL.md +180 -2
- package/.agent-src/skills/canvas-design/SKILL.md +132 -0
- package/.agent-src/skills/canvas-design/evals/triggers.json +16 -0
- package/.agent-src/skills/copilot-config/SKILL.md +1 -1
- package/.agent-src/skills/devcontainer/SKILL.md +1 -1
- package/.agent-src/skills/doc-coauthoring/SKILL.md +129 -0
- package/.agent-src/skills/doc-coauthoring/evals/triggers.json +16 -0
- package/.agent-src/skills/laravel/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-core/SKILL.md +1 -1
- package/.agent-src/skills/project-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +101 -16
- package/.agent-src/skills/sql-writing/SKILL.md +1 -1
- package/.agent-src/skills/symfony-workflow/SKILL.md +1 -1
- package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.claude-plugin/marketplace.json +5 -1
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +78 -0
- package/CONTRIBUTING.md +5 -0
- package/README.md +3 -3
- package/config/agent-settings.template.yml +5 -84
- package/docs/architecture/multi-tool-projection.md +53 -0
- package/docs/architecture/{compression.md → source-projection.md} +21 -3
- package/docs/architecture.md +6 -6
- package/docs/catalog.md +21 -11
- package/docs/contracts/adr-architectural-consensus-mechanism.md +67 -0
- package/docs/contracts/adr-level-6-productization.md +2 -2
- package/docs/contracts/ai-council-config.md +186 -0
- package/docs/contracts/command-clusters.md +57 -1
- package/docs/contracts/multi-tool-projection-fidelity.md +109 -0
- package/docs/getting-started.md +2 -2
- package/package.json +1 -1
- package/scripts/_archive/README.md +59 -0
- package/scripts/ai_council/_default_prices.py +10 -1
- package/scripts/ai_council/advisors.py +148 -0
- package/scripts/ai_council/clients.py +189 -4
- package/scripts/ai_council/config.py +368 -0
- package/scripts/ai_council/consensus.py +290 -0
- package/scripts/ai_council/orchestrator.py +634 -16
- package/scripts/ai_council/prompts.py +335 -0
- package/scripts/check_compressed_paths.py +6 -1
- package/scripts/check_references.py +25 -0
- package/scripts/ci_time_ratio.py +168 -0
- package/scripts/council_cli.py +1007 -32
- package/scripts/measure_projection_bytes.py +159 -0
- package/scripts/measure_roadmap_trajectory.py +112 -0
- package/scripts/probe_projection_fidelity.py +202 -0
- package/scripts/run_skill_evals.py +185 -0
- package/scripts/schemas/skill.schema.json +4 -0
- package/scripts/score_skill_selection.py +198 -0
- package/scripts/skill_collision_clusters.py +162 -0
- package/scripts/skill_linter.py +71 -1
- /package/scripts/{_backfill_skill_domains.py → _archive/_backfill_skill_domains.py} +0 -0
- /package/scripts/{_bootstrap_tier_frontmatter.py → _archive/_bootstrap_tier_frontmatter.py} +0 -0
- /package/scripts/{_p43_bodies.py → _archive/_p43_bodies.py} +0 -0
- /package/scripts/{_p43_compress.py → _archive/_p43_compress.py} +0 -0
- /package/scripts/{_p4_migrate.py → _archive/_p4_migrate.py} +0 -0
- /package/scripts/{_phase2_shim_helper.py → _archive/_phase2_shim_helper.py} +0 -0
- /package/scripts/{_pilot_council_question.py → _archive/_pilot_council_question.py} +0 -0
|
@@ -3,6 +3,7 @@ name: skill-writing
|
|
|
3
3
|
description: "Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'."
|
|
4
4
|
source: project
|
|
5
5
|
domain: process
|
|
6
|
+
meta_skill: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# skill-writing
|
|
@@ -62,22 +63,25 @@ Ask: **"Does the model need this to do its job correctly?"**
|
|
|
62
63
|
|
|
63
64
|
### Skills and commands share the `.claude/skills/` namespace
|
|
64
65
|
|
|
65
|
-
Skills
|
|
66
|
-
|
|
67
|
-
`.claude/skills/` (`scripts/compress.py` →
|
|
68
|
-
`generate_claude_commands`). Claude treats
|
|
69
|
-
skills.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
*
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
Skills in `.agent-src.uncompressed/skills/{name}/SKILL.md` AND commands in
|
|
67
|
+
`.agent-src.uncompressed/commands/{name}.md` both project into
|
|
68
|
+
`.claude/skills/` (see `scripts/compress.py` →
|
|
69
|
+
`generate_claude_skills` + `generate_claude_commands`). Claude treats
|
|
70
|
+
the whole directory as native skills.
|
|
71
|
+
|
|
72
|
+
Implications for skill authors:
|
|
73
|
+
|
|
74
|
+
* If a same-name command already exists, the skill takes priority and
|
|
75
|
+
the command is skipped (`generate_claude_commands` honors this).
|
|
76
|
+
Don't reuse a command's slug for a skill unless the command should
|
|
77
|
+
retire.
|
|
78
|
+
* Both artifacts compete on `description` for routing. A weak skill
|
|
79
|
+
description is shadowed by a stronger same-domain command — and vice
|
|
80
|
+
versa. Make trigger phrasing precise (§ 1b below).
|
|
81
|
+
* When the workflow has both a "user types `/foo`" path AND a "model
|
|
82
|
+
picks this up from intent" path, author the skill first and let the
|
|
83
|
+
command delegate (`skills:` frontmatter). Two artifacts with the same
|
|
84
|
+
trigger surface fight each other in the router.
|
|
81
85
|
|
|
82
86
|
### When "Nothing" is the right answer
|
|
83
87
|
|
|
@@ -263,6 +267,87 @@ Example:
|
|
|
263
267
|
* K7: Created with analysis (not blind, expected behavior defined)
|
|
264
268
|
* Size: Within limits (see size-and-scope guideline)
|
|
265
269
|
|
|
270
|
+
### 7. Run + iterate evals (quantitative loop)
|
|
271
|
+
|
|
272
|
+
Triggers (`evals/triggers.json`) check **routing**. A separate
|
|
273
|
+
`evals/evals.json` checks **behavior** — does the skill make the agent
|
|
274
|
+
produce a better answer than baseline? Add this layer for any skill
|
|
275
|
+
where the procedure has measurable output (commands, artifacts,
|
|
276
|
+
structured text). Skip for evergreen heuristics with no falsifiable
|
|
277
|
+
output (e.g. `direct-answers`, `language-and-tone`) unless the user
|
|
278
|
+
asks for it.
|
|
279
|
+
|
|
280
|
+
**Workspace layout** (all under `.gitignore`):
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
.agent-src.uncompressed/skills/{name}/evals/
|
|
284
|
+
triggers.json # tracked — routing eval (§ 1c)
|
|
285
|
+
evals.json # tracked — behavior eval definitions
|
|
286
|
+
runs/ # gitignored — per-iteration outputs
|
|
287
|
+
{timestamp}-baseline/ # sub-agent run without the skill
|
|
288
|
+
{timestamp}-with-skill/ # sub-agent run with the skill
|
|
289
|
+
{timestamp}-benchmark.json
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**`evals.json` shape** — 3–10 scenarios, each with prompt + grading
|
|
293
|
+
rubric:
|
|
294
|
+
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"skill": "{name}",
|
|
298
|
+
"scenarios": [
|
|
299
|
+
{
|
|
300
|
+
"id": "happy-path",
|
|
301
|
+
"prompt": "<full user-shaped task that exercises the skill>",
|
|
302
|
+
"assertions": [
|
|
303
|
+
{"kind": "contains", "value": "<expected substring in output>"},
|
|
304
|
+
{"kind": "file_exists", "path": "<artifact path the skill should create>"},
|
|
305
|
+
{"kind": "rubric", "criterion": "<one-line judgement, e.g. 'output includes a numbered procedure'>"}
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
`contains` / `file_exists` grade deterministically. `rubric` items grade
|
|
313
|
+
via a fresh sub-agent reading the output against the criterion — keep
|
|
314
|
+
each criterion to one falsifiable sentence.
|
|
315
|
+
|
|
316
|
+
**Loop** (orchestrated by `scripts/run_skill_evals.py`):
|
|
317
|
+
|
|
318
|
+
1. **Scaffold** — `python3 scripts/run_skill_evals.py scaffold {skill}`
|
|
319
|
+
creates `runs/{timestamp}-{baseline,with-skill}/` and seeds each
|
|
320
|
+
scenario's `meta.json`.
|
|
321
|
+
2. **Baseline run** — spawn one sub-agent per scenario **without** the
|
|
322
|
+
skill loaded. Capture stdout + any artifacts into
|
|
323
|
+
`runs/{timestamp}-baseline/{scenario-id}/`.
|
|
324
|
+
3. **With-skill run** — same scenarios, same sub-agent harness, **with**
|
|
325
|
+
the skill loaded. Capture into `runs/{timestamp}-with-skill/{scenario-id}/`.
|
|
326
|
+
4. **Grade** — for each scenario, write a `grade.json` file with
|
|
327
|
+
per-assertion pass/fail. Deterministic assertions auto-grade;
|
|
328
|
+
rubric assertions need a grader sub-agent.
|
|
329
|
+
5. **Aggregate** — `python3 scripts/run_skill_evals.py aggregate {skill}
|
|
330
|
+
--run {timestamp}` produces `runs/{timestamp}-benchmark.json` with
|
|
331
|
+
pass-rate, timing, token deltas baseline-vs-with-skill.
|
|
332
|
+
6. **Report** — `python3 scripts/run_skill_evals.py report {skill}
|
|
333
|
+
--run {timestamp}` prints the diff. Iterate on the skill body
|
|
334
|
+
until `with-skill` outperforms `baseline` on every scenario.
|
|
335
|
+
|
|
336
|
+
The script ships with sub-agent spawning **stubbed** — the orchestration
|
|
337
|
+
layer is per-environment (Claude Code, Augment, council). Implement
|
|
338
|
+
the spawn function once for your environment, the rest of the loop
|
|
339
|
+
(aggregate / report / scaffold) works out of the box.
|
|
340
|
+
|
|
341
|
+
**Exit criterion** — every scenario passes with-skill, at least one
|
|
342
|
+
fails baseline (proves the skill earns its slot). Commit the
|
|
343
|
+
`evals.json` alongside the skill; never commit `runs/`.
|
|
344
|
+
|
|
345
|
+
Neighbors:
|
|
346
|
+
* `description-assist` — iterate on the trigger phrasing
|
|
347
|
+
* `skill-reviewer` — structural 7-Killers audit
|
|
348
|
+
* `lint-skills` — static checks (frontmatter, sections, size)
|
|
349
|
+
* `skill-improvement-pipeline` — production-learning capture
|
|
350
|
+
|
|
266
351
|
## Output format
|
|
267
352
|
|
|
268
353
|
1. Complete SKILL.md file
|
|
@@ -17,7 +17,7 @@ Do NOT use when:
|
|
|
17
17
|
|
|
18
18
|
## Procedure: Write raw SQL
|
|
19
19
|
|
|
20
|
-
1. **
|
|
20
|
+
1. **Inspect call site & choose approach** — identify every dynamic value flowing into the query, then pick: query builder when possible. Raw SQL only when query builder can't express the query.
|
|
21
21
|
2. **Parameterize** — Every variable must use `?` binding or named `:param`. Never interpolate PHP variables into SQL strings.
|
|
22
22
|
3. **Use MariaDB syntax** — Not PostgreSQL or MSSQL. Check `php/sql.md` for MariaDB-specific patterns.
|
|
23
23
|
4. **Verify** — Run EXPLAIN on complex queries. Check that no PHP interpolation (`"$var"`, `'{$var}'`) appears in SQL.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: symfony-workflow
|
|
3
|
-
description: "Writes Symfony
|
|
3
|
+
description: "Writes Symfony PHP — DI container, bundles, Doctrine, Messenger, Security voters, console commands. For Laravel / Eloquent / Artisan use `laravel`. For framework-free PHP use `php-coder`."
|
|
4
4
|
source: package
|
|
5
5
|
domain: engineering
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: universal-project-analysis
|
|
3
|
-
description: "ONLY when user
|
|
3
|
+
description: "ONLY when user asks for deep multi-pass codebase audit — orchestrator routing to `project-analysis-core` + framework-specific `project-analysis-*`. Single-pass scan → `project-analyzer`."
|
|
4
4
|
source: package
|
|
5
5
|
domain: discovery
|
|
6
6
|
---
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.py (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "2.
|
|
42
|
+
agent_config_version: "2.12.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -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": "2.
|
|
9
|
+
"version": "2.13.0",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"agent-config",
|
|
12
12
|
"skills",
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"./.claude/skills/bug-fix",
|
|
72
72
|
"./.claude/skills/bug-investigate",
|
|
73
73
|
"./.claude/skills/build-buy-partner",
|
|
74
|
+
"./.claude/skills/canvas-design",
|
|
74
75
|
"./.claude/skills/challenge-me",
|
|
75
76
|
"./.claude/skills/challenge-me-vision",
|
|
76
77
|
"./.claude/skills/challenge-me-with-docs",
|
|
@@ -104,6 +105,8 @@
|
|
|
104
105
|
"./.claude/skills/copilot-config",
|
|
105
106
|
"./.claude/skills/cost-report",
|
|
106
107
|
"./.claude/skills/council",
|
|
108
|
+
"./.claude/skills/council-analysis",
|
|
109
|
+
"./.claude/skills/council-debate",
|
|
107
110
|
"./.claude/skills/council-default",
|
|
108
111
|
"./.claude/skills/council-design",
|
|
109
112
|
"./.claude/skills/council-optimize",
|
|
@@ -126,6 +129,7 @@
|
|
|
126
129
|
"./.claude/skills/devcontainer",
|
|
127
130
|
"./.claude/skills/developer-like-execution",
|
|
128
131
|
"./.claude/skills/discovery-interview",
|
|
132
|
+
"./.claude/skills/doc-coauthoring",
|
|
129
133
|
"./.claude/skills/docker",
|
|
130
134
|
"./.claude/skills/dto-creator",
|
|
131
135
|
"./.claude/skills/e2e-heal",
|
package/AGENTS.md
CHANGED
|
@@ -18,7 +18,7 @@ task ci # full pipeline — green before PR
|
|
|
18
18
|
|
|
19
19
|
- **Package self-orientation** (beta) — identity, four-wing cognition map, repo layout, tech stack, key-rules table, telemetry, command-suggester: [`docs/contracts/package-self-orientation.md`](docs/contracts/package-self-orientation.md).
|
|
20
20
|
- **Kernel + Router** (beta) — 9 always-loaded Iron-Law rules, tier-1 / tier-2 routing, cost profiles, per-rule char caps enforced by `task lint-rule-budget`: [`kernel-membership`](docs/contracts/kernel-membership.md) + [`rule-router`](docs/contracts/rule-router.md).
|
|
21
|
-
- **Content pipelines** — A [
|
|
21
|
+
- **Content pipelines** — A [source projection](docs/architecture/source-projection.md), B [Augment projection](docs/architecture/augment-projection.md), C [multi-tool projection](docs/architecture/multi-tool-projection.md), D [Claude.ai bundle](docs/architecture/claude-bundle.md). Index: [`docs/architecture.md`](docs/architecture.md).
|
|
22
22
|
- **Editing this repo** — Iron-Law rules (portability, source-of-truth, skill-quality) + Thin-Root contract: [`augment-portability`](.agent-src/rules/augment-portability.md), [`augment-source-of-truth`](.agent-src/rules/augment-source-of-truth.md), [`skill-quality`](.agent-src/rules/skill-quality.md), [`agents-md-thin-root`](.agent-src/skills/agents-md-thin-root/SKILL.md).
|
|
23
23
|
- **Consumer story** — `npx` + `scripts/install.sh` + `.agent-settings.yml` opt-in flags, sandbox/offline install paths, verified-offline manifest: [`README.md`](README.md).
|
|
24
24
|
- **Personas** — 11 review-lens cast (6 core · 5 specialist), `personas:` vs `/mode` axes, citation map, override pattern: [`docs/personas.md`](docs/personas.md), schema [`docs/contracts/persona-schema.md`](docs/contracts/persona-schema.md) (beta).
|
package/CHANGELOG.md
CHANGED
|
@@ -429,6 +429,84 @@ our recommendation order, not its support status.
|
|
|
429
429
|
> that forces a new era split (`# Era: 2.8.x`, etc.) — see
|
|
430
430
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
431
431
|
|
|
432
|
+
## [2.13.0](https://github.com/event4u-app/agent-config/compare/2.12.0...2.13.0) (2026-05-14)
|
|
433
|
+
|
|
434
|
+
### Features
|
|
435
|
+
|
|
436
|
+
* **council:** Phase 7 — debate orchestration + CLI wiring ([647a3f0](https://github.com/event4u-app/agent-config/commit/647a3f07698792f41beb7413600d54b2321f4a96))
|
|
437
|
+
* **council:** Phase 7 — /council debate sub-command files ([abbd436](https://github.com/event4u-app/agent-config/commit/abbd43666b7e2c704ab3c46f2901f01eae446139))
|
|
438
|
+
* **council:** Phase 6 — thinking-style advisor personas ([21c8b88](https://github.com/event4u-app/agent-config/commit/21c8b88310a2a65d7ea9082da085d023f813d114))
|
|
439
|
+
* **council:** Phase 5 — Karpathy peer-review opt-in flag ([bce381a](https://github.com/event4u-app/agent-config/commit/bce381ae9c412abf501473fa4154f91d9c0befbf))
|
|
440
|
+
* **council:** analysis lens + lens-adaptive synthesis + consensus scoring ([6d7136a](https://github.com/event4u-app/agent-config/commit/6d7136ad6be31b7627a332600a7623f2cd929e76))
|
|
441
|
+
* **council:** add config loader, overlay, and 3 new provider clients ([0cb5591](https://github.com/event4u-app/agent-config/commit/0cb55914457a62b6f57744d8c8dac16bf777921d))
|
|
442
|
+
* **council:** introduce agents/.ai-council.yml as single source of truth ([043c2d2](https://github.com/event4u-app/agent-config/commit/043c2d23445f2ef7ad8aee880dc83d97c347635f))
|
|
443
|
+
* **governance:** Phase 5 — roadmap trajectory metric + architectural-consensus ADR ([926a632](https://github.com/event4u-app/agent-config/commit/926a63237c3dbe1fcfd7df05c9230809382d8790))
|
|
444
|
+
* **projection:** Phase 4 + 1.4 — multi-tool projection fidelity contract + ci-strict gate ([e18e4ad](https://github.com/event4u-app/agent-config/commit/e18e4ad73595e17889009b0123ebd000254c165b))
|
|
445
|
+
* **routing:** Phase 3 — tighten skill descriptions + 4 tier-3 routing rules for failing clusters ([2a11c70](https://github.com/event4u-app/agent-config/commit/2a11c70b274741e7d98fd814ac39c1d05a1a38c9))
|
|
446
|
+
* **governance:** Phase 1 — credibility (CONTRIBUTING preface, source-projection rename, archive 7 migration scripts) ([2e5cfe0](https://github.com/event4u-app/agent-config/commit/2e5cfe02e1b5f4218d1283108796b0ce43fd9165))
|
|
447
|
+
|
|
448
|
+
### Bug Fixes
|
|
449
|
+
|
|
450
|
+
* **docs:** drop transient council-sessions citation from multi-tool-projection ([55dbbb1](https://github.com/event4u-app/agent-config/commit/55dbbb1e599aae2d913dc56a05c9dab0014e2739))
|
|
451
|
+
* **linter:** treat ../docs/contracts/ links as out-of-scope like guidelines ([a2249b0](https://github.com/event4u-app/agent-config/commit/a2249b02b70233e2b13ccf3efeda4188686b6181))
|
|
452
|
+
* **routing:** strip transient roadmap citation from tier-3 routing rules ([2cf745c](https://github.com/event4u-app/agent-config/commit/2cf745cad9beb40c4e6e9eb7f97abbc58a94d9de))
|
|
453
|
+
|
|
454
|
+
### Documentation
|
|
455
|
+
|
|
456
|
+
* **roadmap:** rename "rule" to "invariant" for deep_min_rounds reference ([758ea46](https://github.com/event4u-app/agent-config/commit/758ea46568c23ef5518ff61d80700f7559bc54a1))
|
|
457
|
+
* **ai-council:** sync compressed SKILL.md with Phase 6 advisors section ([6d57034](https://github.com/event4u-app/agent-config/commit/6d57034c7b342abdd5d38ff300fa67c51deb3471))
|
|
458
|
+
* **council:** document master/wrapper contract for the council cluster ([7346f34](https://github.com/event4u-app/agent-config/commit/7346f34376b48c02ced3ae939dfff6ea215025ba))
|
|
459
|
+
|
|
460
|
+
### Tests
|
|
461
|
+
|
|
462
|
+
* **ai-council:** Phase 8 — negative-test backfill for config loader ([cc3a08c](https://github.com/event4u-app/agent-config/commit/cc3a08c360c94685f9a1efaaa57f84001f78788c))
|
|
463
|
+
|
|
464
|
+
### Chores
|
|
465
|
+
|
|
466
|
+
* **roadmaps:** archive step-2-ai-council-consolidation — all phases + ACs done ([c7f0c9c](https://github.com/event4u-app/agent-config/commit/c7f0c9ca7ac300023c5da0b939e0c63554dbcfed))
|
|
467
|
+
* **docs:** bump getting-started command count 106 -> 108 after council debate sub-command ([5e256d7](https://github.com/event4u-app/agent-config/commit/5e256d79d3eea3046900e8afa5be64526b4fc61d))
|
|
468
|
+
* **roadmaps:** retag complexity from "medium" to lint-valid values ([4c5457e](https://github.com/event4u-app/agent-config/commit/4c5457e271f8dcdc03943bac7adff84455388615))
|
|
469
|
+
* regenerate index + catalog for council-debate skill ([3c365a3](https://github.com/event4u-app/agent-config/commit/3c365a375da22f16f97829677c875500e40d436a))
|
|
470
|
+
* **roadmap:** mark Phases 6-7 of step-2-ai-council-consolidation complete ([7e8e557](https://github.com/event4u-app/agent-config/commit/7e8e557505bbf88b486605980a7f5ee2f97bcbb4))
|
|
471
|
+
* **roadmap:** mark Phases 1-4 of step-2-ai-council-consolidation complete ([101a5cf](https://github.com/event4u-app/agent-config/commit/101a5cf70d4fc694f85a270b2bebfb8fe545833a))
|
|
472
|
+
* **roadmap:** mark Phase 0 of step-2-ai-council-consolidation complete ([4fa2734](https://github.com/event4u-app/agent-config/commit/4fa27346c8faad54de582757ce5cfe7216041bda))
|
|
473
|
+
* **template:** bump agent_config_version pin to 2.12.0 ([e5c41fd](https://github.com/event4u-app/agent-config/commit/e5c41fd433105359d6e36b03b0de62415be212f0))
|
|
474
|
+
* regenerate agents/index.md + docs/catalog.md after rule additions ([b7fa4b6](https://github.com/event4u-app/agent-config/commit/b7fa4b6e25cbc55d8b3197f815c00530bd1eee79))
|
|
475
|
+
* **roadmap:** archive completed step-1-v2-feedback-followup (20/20 done) ([88a07ea](https://github.com/event4u-app/agent-config/commit/88a07ea9a983f0b63710e5461c8fddee36b2d378))
|
|
476
|
+
|
|
477
|
+
Tests: 3868 (+150 since 2.12.0)
|
|
478
|
+
|
|
479
|
+
## [2.12.0](https://github.com/event4u-app/agent-config/compare/2.11.0...2.12.0) (2026-05-14)
|
|
480
|
+
|
|
481
|
+
### Features
|
|
482
|
+
|
|
483
|
+
* **linter:** evals.json schema validator + meta_skill exemption ([9568510](https://github.com/event4u-app/agent-config/commit/95685109540c7f2dc2643ec24ba9d996467e0645))
|
|
484
|
+
* **skill-writing:** § 7 quantitative eval loop + run_skill_evals.py ([9eda402](https://github.com/event4u-app/agent-config/commit/9eda402dc43b8e14682787fb1cbbc9872eb16fcc))
|
|
485
|
+
* **skills:** add doc-coauthoring from Anthropic ([161b904](https://github.com/event4u-app/agent-config/commit/161b9044743753f2e54bcae45c36a29daaa8058d))
|
|
486
|
+
* **skills:** add canvas-design from Anthropic ([95c247c](https://github.com/event4u-app/agent-config/commit/95c247c08d3c6710c53bfcd7ba7a00f270e0d8d4))
|
|
487
|
+
* **check-refs:** add file/line opt-out markers ([f381bcb](https://github.com/event4u-app/agent-config/commit/f381bcb5a08818e042af35836dd2c4d8965aa98e))
|
|
488
|
+
* make ai-council max_output_tokens configurable ([5976b46](https://github.com/event4u-app/agent-config/commit/5976b4623b94277f6ba49b0e82bb36ab7d5adb50))
|
|
489
|
+
|
|
490
|
+
### Bug Fixes
|
|
491
|
+
|
|
492
|
+
* **marketplace:** register canvas-design + doc-coauthoring ([9fbfe6a](https://github.com/event4u-app/agent-config/commit/9fbfe6af83589bf45b27b72c1b818be9772ae60c))
|
|
493
|
+
|
|
494
|
+
### Documentation
|
|
495
|
+
|
|
496
|
+
* **audit:** mark forward-refs in north-star bundle as opt-out ([a1d7c21](https://github.com/event4u-app/agent-config/commit/a1d7c21df3d05c27bacf81344893c4e43ae72a06))
|
|
497
|
+
* **roadmap:** expand step-99 with Total Dominance mandate ([c46cffd](https://github.com/event4u-app/agent-config/commit/c46cffd54214a61230be27ddaae3367053be39a5))
|
|
498
|
+
* **roadmap:** add step-99 north-star restructure (meta · out-of-band) ([8dd18f9](https://github.com/event4u-app/agent-config/commit/8dd18f963742d14dd9d006237ddd93881b198a60))
|
|
499
|
+
* **audit:** correct step-3 filename reference ([ee6bd7f](https://github.com/event4u-app/agent-config/commit/ee6bd7ffc6c6cd363b6207b6ff32aa72f2bc317e))
|
|
500
|
+
* **audit:** add 2026-05-14 north-star audit + council synthesis ([589c2fb](https://github.com/event4u-app/agent-config/commit/589c2fbd3e35b57529ab0f934665d71d611012d4))
|
|
501
|
+
* add roadmaps for council, persona, ghostwriter, user-types axis ([471fae3](https://github.com/event4u-app/agent-config/commit/471fae3a46182d930fea21adb4037a41ec99dcb3))
|
|
502
|
+
* add v2 feedback follow-up roadmap ([23d17cb](https://github.com/event4u-app/agent-config/commit/23d17cb24b33e794f7c1e31e76055cc5c8f1ab6c))
|
|
503
|
+
|
|
504
|
+
### Chores
|
|
505
|
+
|
|
506
|
+
* prefix roadmaps with step-N execution sequence ([de87232](https://github.com/event4u-app/agent-config/commit/de87232213404ad104e07c5ca831d64f4a607f8e))
|
|
507
|
+
|
|
508
|
+
Tests: 3718 (+0 since 2.11.0)
|
|
509
|
+
|
|
432
510
|
## [2.11.0](https://github.com/event4u-app/agent-config/compare/2.10.0...2.11.0) (2026-05-14)
|
|
433
511
|
|
|
434
512
|
### Features
|
package/CONTRIBUTING.md
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
Thanks for considering a contribution to `event4u/agent-config`. This file
|
|
4
4
|
describes how to propose changes and what the package's conventions are.
|
|
5
5
|
|
|
6
|
+
> **This project is currently single-maintainer (`matze4u`).** Contributions
|
|
7
|
+
> are welcome; expect direct review and potentially slower response than
|
|
8
|
+
> multi-maintainer projects. The process below describes the target workflow
|
|
9
|
+
> as the contributor base grows.
|
|
10
|
+
|
|
6
11
|
## Status and scope
|
|
7
12
|
|
|
8
13
|
The package is maintained by a small team at event4u:
|
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>210 Skills</strong> · <strong>65 Rules</strong> · <strong>108 Commands</strong> · <strong>72 Guidelines</strong> · <strong>8 AI Tools</strong>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
13
|
---
|
|
@@ -524,7 +524,7 @@ kernel set: [`docs/contracts/kernel-membership.md`](docs/contracts/kernel-member
|
|
|
524
524
|
| [`/jira-ticket`](.agent-src/commands/jira-ticket.md) | Read ticket from branch, implement feature |
|
|
525
525
|
| [`/compress`](.agent-src/commands/compress.md) | Compress skills for token efficiency |
|
|
526
526
|
|
|
527
|
-
→ [Browse all
|
|
527
|
+
→ [Browse all 108 active commands](.agent-src/commands/)
|
|
528
528
|
|
|
529
529
|
---
|
|
530
530
|
|
|
@@ -556,7 +556,7 @@ slash-commands) 📌 = informational marker only (no auto-discovery
|
|
|
556
556
|
or manual wiring required)
|
|
557
557
|
|
|
558
558
|
> **What this means in practice:** Claude Code gets the full project-scoped
|
|
559
|
-
> package (rules +
|
|
559
|
+
> package (rules + 210 skills + 108 native commands); Augment Code gets the
|
|
560
560
|
> same content but only from a single global install at `~/.augment/`.
|
|
561
561
|
> Cursor, Cline, Windsurf, Gemini CLI, GitHub Copilot, Roo Code, Codex CLI,
|
|
562
562
|
> and Continue.dev only get the **rules** natively; skills and commands are
|
|
@@ -232,91 +232,12 @@ worktrees:
|
|
|
232
232
|
|
|
233
233
|
# --- AI Council (external second-opinion network) ---
|
|
234
234
|
#
|
|
235
|
-
#
|
|
236
|
-
#
|
|
237
|
-
#
|
|
238
|
-
#
|
|
235
|
+
# Configuration moved to `agents/.ai-council.yml` as of the Step-2
|
|
236
|
+
# consolidation roadmap. Consumer projects opt in by copying the
|
|
237
|
+
# reference file from the package (`agents/.ai-council.yml`) into their
|
|
238
|
+
# own `agents/` tree and flipping `enabled: true` per provider.
|
|
239
239
|
#
|
|
240
|
-
#
|
|
241
|
-
# <provider>.key (mode 0600; legacy ~/.config/agent-config/<provider>.key
|
|
242
|
-
# is read as a fallback), installed via:
|
|
243
|
-
# bash scripts/install_anthropic_key.sh
|
|
244
|
-
# bash scripts/install_openai_key.sh
|
|
245
|
-
#
|
|
246
|
-
# Cost note: every consultation makes real, paid API calls. The
|
|
247
|
-
# autonomy directive does NOT silently spend tokens — the /council
|
|
248
|
-
# command always asks before invoking, even under autonomy: on.
|
|
249
|
-
ai_council:
|
|
250
|
-
# Master switch (true, false). Default false — installing a key is
|
|
251
|
-
# not the same as wanting the agent to spend money on it.
|
|
252
|
-
enabled: false
|
|
253
|
-
|
|
254
|
-
# Default transport mode for every member (overridable per-member
|
|
255
|
-
# below, and per-invocation via `/council mode:<x>`).
|
|
256
|
-
#
|
|
257
|
-
# api = direct SDK call against the provider's API (billable).
|
|
258
|
-
# manual = copy-paste loop, user is the transport (free).
|
|
259
|
-
#
|
|
260
|
-
# Precedence: invocation flag > per-member mode > global mode > "manual".
|
|
261
|
-
mode: "manual"
|
|
262
|
-
|
|
263
|
-
# Per-member configuration. Set enabled=true on the providers you want
|
|
264
|
-
# to consult. The model field selects which model receives the query.
|
|
265
|
-
# Optional `mode:` overrides the global setting for that member only.
|
|
266
|
-
members:
|
|
267
|
-
anthropic:
|
|
268
|
-
enabled: false
|
|
269
|
-
model: "claude-sonnet-4-5"
|
|
270
|
-
# mode: "api" # uncomment to override ai_council.mode
|
|
271
|
-
openai:
|
|
272
|
-
enabled: false
|
|
273
|
-
model: "gpt-4o"
|
|
274
|
-
# mode: "manual" # uncomment to override ai_council.mode
|
|
275
|
-
|
|
276
|
-
# Default number of debate rounds per /council invocation.
|
|
277
|
-
#
|
|
278
|
-
# Round 1 sees the artefact alone. Round 2+ sees the artefact plus
|
|
279
|
-
# anonymised critiques from the previous round (provider/model
|
|
280
|
-
# identity stripped per the neutrality Iron Law). Applies identically
|
|
281
|
-
# to api and manual transports — manual mode runs round 1 across all
|
|
282
|
-
# members, the host agent consolidates, then round 2 starts with the
|
|
283
|
-
# anonymised round-1 critiques folded in.
|
|
284
|
-
#
|
|
285
|
-
# Default is 2 so council members critique each other at least once
|
|
286
|
-
# before convergence. The agent does NOT ask "how many rounds?" when
|
|
287
|
-
# the requested rounds <= min_rounds; pass `rounds:N` on the
|
|
288
|
-
# invocation (or `--rounds N` to the CLI) to override.
|
|
289
|
-
min_rounds: 2
|
|
290
|
-
|
|
291
|
-
# Higher floor for deep-reasoning artefacts (architecture review,
|
|
292
|
-
# refactoring proposals, bug-diagnosis runs). Activated when the
|
|
293
|
-
# consuming rule, skill, or command declares `council_depth: deep`
|
|
294
|
-
# in its frontmatter, or the user passes `--depth deep` to the CLI.
|
|
295
|
-
# Effective rounds = max(deep_min_rounds, min_rounds), so this floor
|
|
296
|
-
# is monotonic — lowering it below `min_rounds` has no effect.
|
|
297
|
-
# Standard tasks keep `min_rounds`; cost rises only when an artefact
|
|
298
|
-
# opts in. Set to `min_rounds` to disable the deep tier.
|
|
299
|
-
deep_min_rounds: 3
|
|
300
|
-
|
|
301
|
-
# Hard cost ceiling per /council invocation. The orchestrator pauses
|
|
302
|
-
# before any member whose projected spend would breach a cap and asks
|
|
303
|
-
# the user to continue. `max_total_usd: 0` disables the USD ceiling
|
|
304
|
-
# (token caps still apply). Total spend = rounds * single-round cost.
|
|
305
|
-
#
|
|
306
|
-
# Prices come from `agents/.agent-prices.md` (gitignored, refreshed weekly
|
|
307
|
-
# by `python3 scripts/update_prices.py`; bootstrapped from
|
|
308
|
-
# scripts/ai_council/_default_prices.py on first run).
|
|
309
|
-
cost_budget:
|
|
310
|
-
max_input_tokens: 50000
|
|
311
|
-
max_output_tokens: 20000
|
|
312
|
-
max_calls: 10
|
|
313
|
-
max_total_usd: 0.50
|
|
314
|
-
|
|
315
|
-
# Retention for council artefacts. Files older than this in
|
|
316
|
-
# `agents/council-{questions,responses,sessions}/` are pruned
|
|
317
|
-
# automatically on the next `save()` and on `task council-prune`.
|
|
318
|
-
# `0` disables pruning (keep forever — disk grows unbounded).
|
|
319
|
-
session_retention_days: 7
|
|
240
|
+
# See `docs/contracts/ai-council-config.md` for the schema.
|
|
320
241
|
|
|
321
242
|
# --- Onboarding ---
|
|
322
243
|
#
|
|
@@ -61,6 +61,56 @@ removes `.cursor/` on next `task generate-tools`.
|
|
|
61
61
|
| Stale `.windsurfrules` after rule rename | concatenation cache | `task clean-tools && task generate-tools` |
|
|
62
62
|
| Gemini CLI reads outdated content | `AGENTS.md` changed without re-symlink | `task generate-tools` |
|
|
63
63
|
|
|
64
|
+
## Per-tool projection size
|
|
65
|
+
|
|
66
|
+
The previous "0.45 % reduction" headline was a wrong-boundary
|
|
67
|
+
measurement: that figure compares `.agent-src.uncompressed/` to
|
|
68
|
+
`.agent-src/`, but the pipeline's claimed function is *projection*, not
|
|
69
|
+
byte compression. The table below is produced by
|
|
70
|
+
[`scripts/measure_projection_bytes.py --regenerate`](../../scripts/measure_projection_bytes.py)
|
|
71
|
+
with every tool ID temporarily enabled in `.agent-tools.yml`.
|
|
72
|
+
|
|
73
|
+
| Surface | Files | Symlinks | Bytes materialized | Method |
|
|
74
|
+
|---|---:|---:|---:|---|
|
|
75
|
+
| `.agent-src.uncompressed/` | 596 | 0 | 3,253,997 | verbose source (input) |
|
|
76
|
+
| `.agent-src/` | 596 | 0 | 3,242,579 | source projection (path-rewrite + `.npmignore`) |
|
|
77
|
+
| `.augment/` | 61 | 7 | 136,146 | Augment Code — copies (rules) + symlinks (skills/cmds) |
|
|
78
|
+
| `.claude/` | 0 | 395 | 0 | Claude Code — pure symlinks |
|
|
79
|
+
| `.cursor/` | 61 | 189 | 124,741 | Cursor — per-rule `.mdc` materialized + symlinks |
|
|
80
|
+
| `.clinerules/` | 0 | 61 | 0 | Cline — pure symlinks |
|
|
81
|
+
| `.windsurf/` | 61 | 106 | 125,010 | Windsurf — per-rule wave-8 `.md` + symlinks |
|
|
82
|
+
| `.windsurfrules` | 1 | 0 | 114,263 | Windsurf legacy — concatenated single file |
|
|
83
|
+
| `GEMINI.md` | 0 | 1 | 0 | Gemini CLI — symlink → `AGENTS.md` |
|
|
84
|
+
|
|
85
|
+
**What the pipeline optimises**
|
|
86
|
+
|
|
87
|
+
- **Format fidelity** — each tool receives content in the format its host
|
|
88
|
+
reads natively (Cursor `.mdc` frontmatter, Windsurf Wave-8 frontmatter,
|
|
89
|
+
Claude / Cline symlinked into the source tree, Gemini single-file).
|
|
90
|
+
- **Path stability** — surface paths match the host vendor's
|
|
91
|
+
documentation so users opt in by enabling the tool, not by remapping.
|
|
92
|
+
- **Materialization minimization** — pure-symlink tools (`.claude/`,
|
|
93
|
+
`.clinerules/`, `GEMINI.md`) contribute zero bytes; tools that need a
|
|
94
|
+
format transform materialize only the transformed rule files.
|
|
95
|
+
|
|
96
|
+
**What the pipeline does not optimise**
|
|
97
|
+
|
|
98
|
+
- **Raw byte count** — `.cursor/` and `.windsurf/` *grow* the on-disk
|
|
99
|
+
footprint by ~125 KB each because their host formats require
|
|
100
|
+
per-rule frontmatter that cannot be supplied via symlink alone.
|
|
101
|
+
`.windsurfrules` materializes the rule set a second time as a
|
|
102
|
+
concatenated single file for users who prefer that surface.
|
|
103
|
+
- **Source dedup** — the same rule body appears in `.agent-src/rules/`
|
|
104
|
+
*and* in every tool's materialized projection. This is intentional:
|
|
105
|
+
removing the duplication would push format conversion into runtime.
|
|
106
|
+
|
|
107
|
+
Re-run the measurement after every change to the projection logic:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
python3 scripts/measure_projection_bytes.py --regenerate
|
|
111
|
+
python3 scripts/measure_projection_bytes.py --json # CI-friendly
|
|
112
|
+
```
|
|
113
|
+
|
|
64
114
|
## Proving the pipeline
|
|
65
115
|
|
|
66
116
|
- [`tests/test_modern_editor_formats.py`](../../tests/test_modern_editor_formats.py)
|
|
@@ -68,5 +118,8 @@ removes `.cursor/` on next `task generate-tools`.
|
|
|
68
118
|
frontmatter; runs only when `task generate-tools` has been executed.
|
|
69
119
|
- [`tests/test_compress.py`](../../tests/test_compress.py) — covers
|
|
70
120
|
the shared compress / generate-tools entrypoint and `_filter_tool_dirs`.
|
|
121
|
+
- [`scripts/measure_projection_bytes.py`](../../scripts/measure_projection_bytes.py)
|
|
122
|
+
— per-tool byte / file / symlink count; the per-tool-size table above
|
|
123
|
+
is its output.
|
|
71
124
|
|
|
72
125
|
← [Architecture overview](../architecture.md)
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
# Pipeline A —
|
|
1
|
+
# Pipeline A — Source projection
|
|
2
2
|
|
|
3
|
-
> **Scope:** transform verbose authoring source into the
|
|
4
|
-
> distribution payload that ships in the npm package.
|
|
3
|
+
> **Scope:** transform verbose authoring source into the deterministic
|
|
4
|
+
> distribution payload that ships in the npm package. The pipeline does
|
|
5
|
+
> path-rewriting, `.npmignore`-style filtering, hash-tracking, and (on
|
|
6
|
+
> selected files) caveman-style prose compression. The *primary* function
|
|
7
|
+
> is the source-to-dist projection itself; raw byte reduction is small
|
|
8
|
+
> (~0.35 % on the source/dist boundary: 3,253,997 B → 3,242,579 B across
|
|
9
|
+
> 596 files) because most files are 1:1-projected with only frontmatter
|
|
10
|
+
> and link rewrites. Per-tool size at the downstream projection
|
|
11
|
+
> boundaries (`.augment/`, `.claude/`, `.cursor/`, `.windsurf/`,
|
|
12
|
+
> `.clinerules/`, `.windsurfrules`, `GEMINI.md`) is measured separately
|
|
13
|
+
> — see [`multi-tool-projection.md § Per-tool projection size`](multi-tool-projection.md#per-tool-projection-size)
|
|
14
|
+
> for the table produced by [`scripts/measure_projection_bytes.py`](../../scripts/measure_projection_bytes.py).
|
|
15
|
+
|
|
16
|
+
> **Historical note.** This pipeline was previously labelled
|
|
17
|
+
> "Compression". Renamed in the v2.10.0 feedback follow-up after the
|
|
18
|
+
> council pointed out that the dominant function is projection, not
|
|
19
|
+
> byte compression. The script names (`scripts/compress.py`,
|
|
20
|
+
> `scripts/compress.sh`) are kept for now to avoid a large blast-radius
|
|
21
|
+
> refactor; the prose-compression sub-step (and the `/compress` slash
|
|
22
|
+
> command for caveman text compression) still earn the legacy name.
|
|
5
23
|
|
|
6
24
|
## Input → Transform → Output
|
|
7
25
|
|
package/docs/architecture.md
CHANGED
|
@@ -10,7 +10,7 @@ Six layers, ordered from "how the package reaches a consumer" down to "what a co
|
|
|
10
10
|
Distribution → npx-only runtime · install.sh · lockfile pin ← stable
|
|
11
11
|
Governance → Kernel rules · tier-1/2 routing · command clusters ← stable
|
|
12
12
|
Router-Kernel → router.json · always-loaded Iron Laws · char caps ← stable
|
|
13
|
-
Projection →
|
|
13
|
+
Projection → Source · augment / multi-tool / cloud bundles ← stable
|
|
14
14
|
Execution Contracts → Skills · commands · work-engine · roadmap engine ← stable / beta
|
|
15
15
|
MCP Lite/Full → Hosted read-only (Lite) · local stdio (Full) ← experimental
|
|
16
16
|
```
|
|
@@ -20,7 +20,7 @@ MCP Lite/Full → Hosted read-only (Lite) · local stdio (Full)
|
|
|
20
20
|
| **Distribution** | [`installed-tools-lockfile.md`](contracts/installed-tools-lockfile.md) + the "Distribution model" subsection below | stable |
|
|
21
21
|
| **Governance** | [`command-clusters.md`](contracts/command-clusters.md) + [`command-surface-tiers.md`](contracts/command-surface-tiers.md) | stable |
|
|
22
22
|
| **Router-Kernel** | [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) | stable |
|
|
23
|
-
| **Projection** | [`architecture/
|
|
23
|
+
| **Projection** | [`architecture/source-projection.md`](architecture/source-projection.md), [`augment-projection.md`](architecture/augment-projection.md), [`multi-tool-projection.md`](architecture/multi-tool-projection.md), [`claude-bundle.md`](architecture/claude-bundle.md) | stable |
|
|
24
24
|
| **Execution Contracts** | [`implement-ticket-flow.md`](contracts/implement-ticket-flow.md), [`orchestration-dsl-v1.md`](contracts/orchestration-dsl-v1.md), [`adr-product-ui-track.md`](contracts/adr-product-ui-track.md) | stable (skills · commands) / beta (work-engine · roadmap engine) |
|
|
25
25
|
| **MCP Lite/Full** | [`mcp-phase-1-scope.md`](contracts/mcp-phase-1-scope.md), [`mcp-cloud-scope.md`](contracts/mcp-cloud-scope.md), [`mcp-beta-criteria.md`](contracts/mcp-beta-criteria.md) | experimental — promotion to beta gated on `mcp-beta-criteria.md` (six artefact gates, monitored by `agent-config doctor --check mcp-beta-readiness`) |
|
|
26
26
|
|
|
@@ -64,7 +64,7 @@ the pipeline.
|
|
|
64
64
|
|
|
65
65
|
| Pipeline | Page | Output |
|
|
66
66
|
|---|---|---|
|
|
67
|
-
| **A.**
|
|
67
|
+
| **A.** Source projection | [`architecture/source-projection.md`](architecture/source-projection.md) | `.agent-src/` |
|
|
68
68
|
| **B.** Augment projection | [`architecture/augment-projection.md`](architecture/augment-projection.md) | `.augment/` |
|
|
69
69
|
| **C.** Multi-tool projection | [`architecture/multi-tool-projection.md`](architecture/multi-tool-projection.md) | `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`, `GEMINI.md` |
|
|
70
70
|
| **D.** Claude.ai bundle | [`architecture/claude-bundle.md`](architecture/claude-bundle.md) | `dist/cloud/<skill>.zip` |
|
|
@@ -141,9 +141,9 @@ note, package-internal path-swap, description budget, and the
|
|
|
141
141
|
|
|
142
142
|
| Layer | Count | Purpose |
|
|
143
143
|
|---|---|---|
|
|
144
|
-
| **Skills** |
|
|
145
|
-
| **Rules** |
|
|
146
|
-
| **Commands** |
|
|
144
|
+
| **Skills** | 210 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
145
|
+
| **Rules** | 65 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
146
|
+
| **Commands** | 108 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
|
|
147
147
|
| **Guidelines** | 72 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
148
148
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|
|
149
149
|
| **Contexts** | 5 | Shared knowledge about the system itself |
|