@event4u/agent-config 2.21.0 → 2.23.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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: adversarial-review
3
- description: "ONLY when user explicitly requests adversarial review, devil's advocate analysis, stress-testing a plan, or 'poke holes in this' — NOT for regular code review or design feedback."
3
+ description: "ONLY when user requests adversarial review, devil's advocate, stress-test, OR honest critique of finished work ('poke holes', 'be brutal', 'was hältst du davon') — NOT for routine code/design review."
4
4
  personas:
5
5
  - critical-challenger
6
6
  source: package
@@ -16,6 +16,7 @@ Use this skill when:
16
16
  - You've completed a plan, design, or proposed fix and are about to present it.
17
17
  - The change is non-trivial (affects multiple files, changes behavior, touches critical paths).
18
18
  - You're about to recommend an architecture or design decision.
19
+ - The user submits **finished work** (draft, post, naming decision, design proposal) and asks for an honest critical take — "what do you actually think?", "be brutal", "was hältst du wirklich davon". The flow is the same Attack-Defend-Revise loop, but on the user's artifact rather than the agent's plan.
19
20
 
20
21
  Do NOT use when:
21
22
  - The task is trivial (renaming, formatting, simple config change).
@@ -64,11 +64,12 @@ Document it in `philosophy.md` under `## Subtle reference`.
64
64
  Produce `agents/design-assets/{slug}/{slug}.{pdf|png}`:
65
65
 
66
66
  1. Pick the execution tool (Pillow, matplotlib, SVG, or framework-native)
67
- 2. Limited palette2–5 colors, intentional and cohesive
68
- 3. Geometric or organic forms per philosophy
69
- 4. Text sparse, design-forward, integrated as visual element; never overlapping, never falling off canvas
70
- 5. Marginsevery element contained, breathing room
71
- 6. Repeating patterns, layered elements, systematic markers as the philosophy permits
67
+ 2. **Font selection**pick a font that earns the philosophy. Inspect a working dir (e.g. `agents/design-assets/{slug}/fonts/` — create if missing) and place the chosen file there before render. System defaults (Arial, Helvetica, DejaVu, the matplotlib default sans) are the AI-template tell; reach for them only as deliberate fallback, never as the unexamined default
68
+ 3. Limited palette 2–5 colors, intentional and cohesive
69
+ 4. Geometric or organic forms per philosophy
70
+ 5. Textsparse, design-forward, integrated as visual element; never overlapping, never falling off canvas
71
+ 6. Margins every element contained, breathing room
72
+ 7. Repeating patterns, layered elements, systematic markers as the philosophy permits
72
73
 
73
74
  ### 5. Refinement pass
74
75
 
@@ -103,10 +104,14 @@ If the user requests a series, treat each page as a story beat — distinct but
103
104
  * **No artist mimicry** — copying a living artist's signature style is copyright risk and breaks the original-work mandate. Propose an original direction.
104
105
  * **Text discipline** — most pieces fail because text creeps in as paragraphs. Words are visual accents, not explanation.
105
106
  * **One canvas** — single page unless multi-page is explicitly requested.
106
- * **Font availability** — the environment may not ship your target font. Pick a fallback before render time, or download into the working dir first.
107
+ * **Font availability** — the environment may not ship your target font. Procedure step 4.2 governs selection; pick a fallback before render time and place the file in the working fonts dir.
107
108
  * **Output location** — always `agents/design-assets/{slug}/`. Never write binary artifacts to the repo root or to source-of-truth dirs.
108
109
  * **Refinement loop is real** — first render is the draft, not the deliverable.
109
110
 
111
+ ## Craftsmanship standard
112
+
113
+ The deliverable is judged against human-crafted work, not against AI-generated comparables. Visible deliberation, intentional asymmetry, and palette restraint are the markers; default templates, generic gradients, and centered safe layouts are the failure mode. If the artifact would pass for "auto-generated stock visual", it has not earned its place — refine until intent is legible.
114
+
110
115
  ## Frugality Standards
111
116
 
112
117
  Apply the [Frugality Charter](../../contexts/contracts/frugality-charter.md).
@@ -199,6 +199,14 @@ Step indicator (1 — 2 — 3)
199
199
  5. **Loading states** — Skeleton screens or spinners, never blank screens
200
200
  6. **Error recovery** — Clear error messages with suggested actions
201
201
 
202
+ ## Aesthetic direction
203
+
204
+ Audit-pinned tokens and components always take precedence (see `existing-ui-audit`). When the audit pins an aesthetic, honor it without deviation. When the audit shows **no pinned aesthetic** — greenfield surface, marketing landing page, brand-new feature without design-system precedent — the design brief is allowed (and expected) to commit to a deliberate direction instead of defaulting to safe centered hero + 3-column features + CTA.
205
+
206
+ Pick one direction up front and let composition, typography, and color follow from it. Avoid the "neutral AI default": uniform grid, system fonts as the visible body face, purple-to-blue gradients on white, predictable spacing. A direction that fits the brand intent (editorial / brutalist / refined / playful / retro / maximal / minimal / etc.) and is consistent across the page beats hedging.
207
+
208
+ Surface the chosen direction in the design brief as a one-line statement (e.g. `aesthetic: editorial-magazine — asymmetric grid, serif display + sans body, generous gutters`). The apply step (`react-shadcn-ui` / `blade-ui` / `livewire` / `flux`) reads this line and matches typography, spacing, and motion to it; if no line is present, the apply step uses project defaults.
209
+
202
210
  ## Procedure
203
211
 
204
212
  When `directives/ui/design.py` (or any caller) cites this skill:
@@ -29,14 +29,30 @@ domain: product
29
29
 
30
30
  1. **Deconstruct** — extract core intent, key entities, output shape, constraints; map what's provided vs missing.
31
31
  2. **Diagnose** — audit clarity gaps, ambiguity, missing specificity, missing structure; flag unstated assumptions.
32
- 3. **Develop** — pick techniques by request type:
33
- - *Creative* → multi-perspective + tone anchoring
34
- - *Technical* → constraint-based + precision focus
35
- - *Educational* → few-shot examples + clear structure
36
- - *Complex* → chain-of-thought + systematic framing
32
+ 3. **Develop** — pick technique + template by request type:
33
+ - *Creative* → multi-perspective + tone anchoring (template: **CO-STAR** or **CRISPE**)
34
+ - *Technical* → constraint-based + precision focus (template: **RTF** or **File-Scope**)
35
+ - *Educational* → few-shot examples + clear structure (template: **Few-Shot** or **RISEN**)
36
+ - *Complex / multi-step* → chain-of-thought + systematic framing (template: **CoT** or **ReAct**)
37
+ - *Image AI (Midjourney / SD / DALL·E)* → **Visual Descriptor** or **Reference-Image-Edit**
37
38
  - Assign an AI role/expertise; layer context; add logical structure.
39
+ - Full template catalogue + when-to-pick rubric: [`docs/guidelines/prompt-templates.md`](../../../docs/guidelines/prompt-templates.md).
38
40
  4. **Deliver** — output the optimized prompt + a short "what changed" + (DETAIL only) techniques applied + one pro-tip.
39
41
 
42
+ ## Setting awareness
43
+
44
+ The skill reads `prompt_optimization.outbound` (or `.default` when no
45
+ outbound override is set) from `.agent-project-settings.yml`:
46
+
47
+ | Mode | Behaviour |
48
+ |---|---|
49
+ | `off` | The skill refuses; the dispatcher echoes the user's prompt verbatim with a one-line note. |
50
+ | `mini` | BASIC path only — safe defaults, no clarifying questions, no template selection (use the user's structure as-is). Hard cap: 1 turn. |
51
+ | `max` *(default)* | Full 4-D + template selection. DETAIL mode auto-detects per the table below. |
52
+
53
+ Any prompt starting with the configured `prompt_optimization.bypass_prefix`
54
+ (default `/raw`) is echoed verbatim, no shaping, no template.
55
+
40
56
  ## Modes — BASIC vs DETAIL
41
57
 
42
58
  **Auto-detect on first turn:**
@@ -100,6 +116,7 @@ Format per § Output format. Do **not** execute the optimized prompt yourself un
100
116
  - The model tends to over-engineer BASIC mode — for a one-line ask, the optimized prompt should still be short. No 800-word system prompts for "help with my resume".
101
117
  - Don't drift into German welcome text. The optimized prompt mirrors the user's source-language preference; the skill's own scaffolding stays English (per `language-and-tone` for `.md`).
102
118
  - The model tends to **mix languages** in the optimized prompt when the user wrote in German but named an English-speaking target audience — pick one language for the whole optimized prompt body (default: source-language of the rough prompt unless the user explicitly named the target audience's language).
119
+ - The model tends to inherit upstream dogma that "only 5 techniques are safe" (few-shot, role, structured-output, constraint-based, chain-of-thought). That claim travels with `nidhinjs/prompt-master` and is **rejected here** — CO-STAR, RISEN, CRISPE, ReAct, and the image-AI templates land in [`docs/guidelines/prompt-templates.md`](../../../docs/guidelines/prompt-templates.md) and are first-class. Pick by request type, not by upstream whitelist.
103
120
 
104
121
  ## Do NOT
105
122
 
@@ -107,3 +124,10 @@ Format per § Output format. Do **not** execute the optimized prompt yourself un
107
124
  - Do NOT ask more than one clarifying question per turn (`ask-when-uncertain` Iron Law).
108
125
  - Do NOT add an "I'm Lyra" preamble on every turn — the welcome belongs to the command entry point, not every reply.
109
126
  - Do NOT modify project files — this skill is conversational, no file writes, no commits.
127
+ - Do NOT restructure a prompt that starts with the configured `bypass_prefix` (default `/raw`). Echo it verbatim with a one-line note.
128
+
129
+ ## See also
130
+
131
+ - [`refine-prompt`](../refine-prompt/SKILL.md) — engine-inbound sibling; same `prompt_optimization` setting controls its mode
132
+ - [`docs/guidelines/prompt-templates.md`](../../../docs/guidelines/prompt-templates.md) — 12-template catalogue cited from Develop step
133
+ - AI Council session: `agents/council-responses/prompt-master-mini.json` (2026-05-17) — analysis behind template adoption and the 5-safe-dogma rejection <!-- council-ref-allowed: ADR decision trace -->
@@ -49,6 +49,15 @@ Do NOT use when:
49
49
  - Every interactive primitive must declare a focus-visible state via
50
50
  `focus-visible:ring-2 focus-visible:ring-ring`; that comes for free with
51
51
  the generated primitives but is easy to remove during a refactor.
52
+ - **Anti-AI-slop: shadcn-default look.** The out-of-the-box shadcn
53
+ theme + `Inter`-as-system-fallback + neutral grays reads as
54
+ template across projects. Unless `state.ui_audit.design_tokens`
55
+ pins the neutral palette as the project's identity, the polish
56
+ step should match typography and color tokens to the design
57
+ brief's `aesthetic:` line (from `fe-design` aesthetic-direction).
58
+ Theme/font drift within a single audited project breaks
59
+ consistency — variation lives between projects, not between
60
+ components in the same surface.
52
61
 
53
62
  ## Covered primitives
54
63
 
@@ -54,6 +54,50 @@ calling command (`/work`) owns prompt capture; this skill only refines.
54
54
  If `raw` is missing, empty, or whitespace-only the resolver already
55
55
  raised `PromptResolverError`. The skill never receives that input.
56
56
 
57
+ ## Modes and bypass
58
+
59
+ The skill honours `prompt_optimization.inbound` (or
60
+ `prompt_optimization.default` when no inbound override is set) from
61
+ `.agent-project-settings.yml` / `.agent-settings.yml`. Three modes:
62
+
63
+ | Mode | Behaviour |
64
+ |---|---|
65
+ | `off` | The skill is a no-op. The dispatcher writes `confidence={"band":"high","score":1.0}` directly and the engine proceeds with the literal prompt. No assumption inference, no clarifying questions. |
66
+ | `mini` | Stack-aware light shaping. Steps 1-2 run; step 3 only emits `assumes:` lines for *implicit stack constraints* (framework, package manager) detected from config files. Steps 4-5 produce 3 AC bullets max. Low-band halts ask at most one question; medium-band halts are auto-confirmed silently. |
67
+ | `max` *(default)* | Full procedure — every step 1–6 runs. Medium-band halts surface the assumption list verbatim; low-band halts ask one clarifying question. This is the existing behaviour. |
68
+
69
+ **Bypass prefix.** If the raw prompt starts with the configured
70
+ `prompt_optimization.bypass_prefix` (default `/raw`), the skill
71
+ becomes a no-op regardless of mode. The dispatcher strips the
72
+ prefix, passes the remainder through verbatim, and records
73
+ `bypass:true` in the envelope so downstream surfaces (delivery
74
+ report, `--no-prose-synthesis`) can attribute the skip.
75
+
76
+ ```
77
+ /raw migrate auth.service.ts to use jose, keep the API shape
78
+ ```
79
+
80
+ `/raw` is reserved at the prompt boundary only — it has no meaning
81
+ mid-prompt and is not stripped when it appears inside the body.
82
+
83
+ ### Stack-config read (mini / max only)
84
+
85
+ When the mode is `mini` or `max`, step 3 may read these config files
86
+ (read-only, scope-locked) to enrich the `assumes:` block:
87
+
88
+ - `package.json` — JS / TS framework detection (Next.js App vs Pages,
89
+ Remix, SvelteKit, Astro, Expo, …)
90
+ - `composer.json` — PHP framework detection (Laravel, Symfony,
91
+ framework-less)
92
+ - `pyproject.toml` / `requirements.txt` — Python framework detection
93
+ - `CLAUDE.md` / `AGENTS.md` — project-declared stack hints
94
+ - `.cursorrules` — project-declared stack hints
95
+ - `tsconfig.json` — TS path-alias / module-resolution hints
96
+
97
+ The skill MUST NOT read source files, `.env*`, secrets, or user
98
+ data. Detection lands as a single `assumes: stack=<framework>@<version>`
99
+ line; the medium-band halt is the user's chance to flip it.
100
+
57
101
  ## Procedure
58
102
 
59
103
  ### 1. Read and analyze the prompt
@@ -220,11 +264,24 @@ For `low`, the question replaces the AC list:
220
264
  `data.reconstructed_ac` and `data.assumptions`.
221
265
  - Do NOT re-derive band thresholds in prose. They live in
222
266
  `confidence.py` and only there.
267
+ - Do NOT read source files, `.env*`, secrets, or arbitrary user
268
+ files when stack-detecting in mini / max mode. The allowlist
269
+ above (`package.json`, `composer.json`, `pyproject.toml`,
270
+ `requirements.txt`, `CLAUDE.md`, `AGENTS.md`, `.cursorrules`,
271
+ `tsconfig.json`) is exhaustive.
272
+ - Do NOT strip the `bypass_prefix` mid-prompt. The prefix is only
273
+ recognised at the prompt boundary; matches inside the body stay
274
+ literal.
275
+ - Do NOT silently rewrite the prompt in `max` mode without
276
+ surfacing the assumption list on a medium-band halt. The diff
277
+ is the contract.
223
278
 
224
279
  ## See also
225
280
 
226
281
  - [`refine-ticket`](../refine-ticket/SKILL.md) — sibling for ticket-shaped input
282
+ - [`prompt-optimizer`](../prompt-optimizer/SKILL.md) — engine-outbound sibling; same `prompt_optimization` setting controls its mode
227
283
  - [`work_engine.resolvers.prompt`](../../templates/scripts/work_engine/resolvers/prompt.py) — envelope builder
228
284
  - [`work_engine.scoring.confidence`](../../templates/scripts/work_engine/scoring/confidence.py) — rubric + band thresholds
229
285
  - [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — one-question-per-turn Iron Law
230
286
  - [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md) — this skill was drafted under it
287
+ - AI Council session: `agents/council-responses/prompt-master-mini.json` (2026-05-17) — analysis behind the mini/max split and `/raw` bypass <!-- council-ref-allowed: ADR decision trace -->
@@ -117,6 +117,20 @@ Risks: <arbitrary values, !important, dark-mode gaps>
117
117
  break the design system; they accumulate silently.
118
118
  - `@apply` inside component CSS interacts with PurgeCSS — keep it
119
119
  in files Tailwind scans, not in vendor CSS.
120
+ - **Anti-AI-slop: gradients.** Unless audit-pinned or brief-explicit,
121
+ avoid the default purple-to-blue / cyan-to-pink gradients on white —
122
+ they read as auto-generated. Reach for a single accent from the
123
+ token map, or a duotone built from configured tokens.
124
+ - **Anti-AI-slop: typography.** Unless audit-pinned, avoid surfacing
125
+ the system stack (`font-sans` fallback to Arial / Helvetica / Inter
126
+ via system defaults) as the *visible* body face. If `tailwind.config`
127
+ pins a font family, use it; if not, treat the missing token as a
128
+ gap to flag, not a license to ship the OS default.
129
+ - **Anti-AI-slop: layout.** Unless audit-pinned, the centered hero +
130
+ 3-column features + CTA stack is the AI-template tell. Break the
131
+ grid intentionally (asymmetric column split, overlap, diagonal
132
+ flow) when the brief allows; cite the design brief's `aesthetic:`
133
+ line if `fe-design`'s aesthetic-direction section produced one.
120
134
 
121
135
  ## Do NOT
122
136
 
@@ -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.20.1"
42
+ agent_config_version: "2.21.0"
43
43
 
44
44
  # --- Project identity ---
45
45
  project:
@@ -152,6 +152,58 @@ quality:
152
152
  # Known: eslint, prettier, tsc, biome.
153
153
  tools: [eslint, prettier, tsc]
154
154
 
155
+ # --- Prompt optimization (engine-inbound + engine-outbound) ---
156
+ #
157
+ # Controls how aggressively the agent reshapes a free-form prompt
158
+ # *before* the engine plans (`/work "<prompt>"`) and how the
159
+ # outbound `/optimize-prompt` skill polishes a copy-and-paste
160
+ # prompt for an external AI.
161
+ #
162
+ # Single-knob model — `default:` applies to both inbound and
163
+ # outbound surfaces unless an override key is set:
164
+ #
165
+ # off — engine runs the user's literal prompt. No reconstruction,
166
+ # no AC inference, no template selection. Closest to "raw"
167
+ # behaviour; useful for power users who already write
168
+ # structured prompts.
169
+ # mini — light shaping. Inbound: `refine-prompt` runs in
170
+ # stack-aware mode (reads `package.json` / `CLAUDE.md` /
171
+ # `.cursorrules` only to infer the framework), asks at
172
+ # most 5 targeted clarifying questions, emits a structured
173
+ # 6-block prompt. Outbound: BASIC mode of `prompt-optimizer`
174
+ # (4-D pass with safe defaults, no clarifying questions).
175
+ # max — full restructure. Inbound: `refine-prompt` runs the
176
+ # 5-dimension confidence rubric + assumption inference;
177
+ # medium-band halts surface the assumption list, low-band
178
+ # asks one clarifying question. Outbound: DETAIL mode of
179
+ # `prompt-optimizer` with template selection (RTF, CO-STAR,
180
+ # RISEN, CRISPE, …) per `docs/guidelines/prompt-templates.md`.
181
+ #
182
+ # Default `max` reshapes every prompt before the engine plans —
183
+ # the AI Council (anthropic/openai, 2026-05-17) warned this risks
184
+ # latency, token cost, and loss of author intent on the inbound
185
+ # side. If that bites you, uncomment `inbound: mini` below. The
186
+ # outbound side (explicit `/optimize-prompt`) is opt-in and stays
187
+ # at `max` regardless.
188
+ #
189
+ # Bypass: any prompt starting with `bypass_prefix` skips both
190
+ # inbound and outbound shaping verbatim. `/`-prefixed slash
191
+ # commands (`/work`, `/commit`, …) and `#`-prefixed memory entries
192
+ # auto-bypass.
193
+ prompt_optimization:
194
+ default: max
195
+
196
+ # Optional per-surface overrides. Leave commented to inherit
197
+ # `default:`. Council-recommended split is `inbound: mini,
198
+ # outbound: max` — uncomment if you want fewer interceptions
199
+ # on `/work` but full polish on `/optimize-prompt`.
200
+ # inbound: mini
201
+ # outbound: max
202
+
203
+ # Prefix that skips all shaping. Must start with `/` to align
204
+ # with this project's slash-command convention. Default `/raw`.
205
+ bypass_prefix: "/raw"
206
+
155
207
  # --- Locked keys (override this file only; never locks .agent-settings.yml) ---
156
208
  #
157
209
  # List keys from this file whose values cannot be overridden by a
@@ -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.21.0",
9
+ "version": "2.23.0",
10
10
  "keywords": [
11
11
  "agent-config",
12
12
  "skills",
package/CHANGELOG.md CHANGED
@@ -695,13 +695,69 @@ our recommendation order, not its support status.
695
695
  users" tension without removing any path that an existing user
696
696
  might rely on.
697
697
 
698
- # Era: 2.17.x — current
698
+ # Era: 2.20.x — current
699
699
 
700
- > Started at `2.17.0` (2026-05-15). Full entries live inline below.
700
+ > Started at `2.20.0` (2026-05-16). Full entries live inline below.
701
701
  > The drift test caps this era at 200 lines of entry body; growth past
702
- > that forces a new era split (`# Era: 2.18.x`, etc.) — see
702
+ > that forces a new era split (`# Era: 2.21.x`, etc.) — see
703
703
  > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
704
704
 
705
+ ## [2.23.0](https://github.com/event4u-app/agent-config/compare/2.21.0...2.23.0) (2026-05-17)
706
+
707
+ ### Features
708
+
709
+ * integrate anti-AI-slop heuristics into design skills ([f157d02](https://github.com/event4u-app/agent-config/commit/f157d02e56aa4abe139eaf042ad060de4815f36b))
710
+ * add Honest Sparring Partner template and adversarial-review trigger ([122f0ad](https://github.com/event4u-app/agent-config/commit/122f0adfd3b6a334b1191e9fa58e6b3328c77365))
711
+ * **skills:** refine-prompt + prompt-optimizer honor prompt_optimization setting ([9f8f20e](https://github.com/event4u-app/agent-config/commit/9f8f20e11627342c1e656d978d7a82ea30925cf3))
712
+ * **settings:** add prompt_optimization block (off/mini/max, /raw bypass) ([c6d3715](https://github.com/event4u-app/agent-config/commit/c6d371510979d044e5724d5ed2d390be0af24562))
713
+
714
+ ### Bug Fixes
715
+
716
+ * **refs:** suppress allowed council-ref links with ADR-decision-trace markers ([053bf9a](https://github.com/event4u-app/agent-config/commit/053bf9ae9c17a470f3838e989c597d66a24ac556))
717
+ * **template:** bump agent_config_version pin to 2.21.0 ([58cc67f](https://github.com/event4u-app/agent-config/commit/58cc67f9eb4c7a3ca9b1adddbfdbefbbfe80fa3b))
718
+
719
+ ### Documentation
720
+
721
+ * **guidelines:** add prompt-templates.md (12-template catalogue) ([ec91b31](https://github.com/event4u-app/agent-config/commit/ec91b31d71d7169f2aef6184d5e5f8d01b237f9b))
722
+ * **roadmap:** close out step-16-caveman-substance (38/38, kill-criterion deferred) ([7a60f1e](https://github.com/event4u-app/agent-config/commit/7a60f1eddd66dfdf54bc2664b45c97954eb2b7e3))
723
+
724
+ ### Chores
725
+
726
+ * **index:** regenerate agents/index.md + docs/catalog.md for new guideline ([f7b47e8](https://github.com/event4u-app/agent-config/commit/f7b47e870042abb3a33d26edb0caf9d0529c7828))
727
+ * **changelog:** split era 2.17.x → pre-2.20.0 ([c842766](https://github.com/event4u-app/agent-config/commit/c8427660de6914505edf1a3d21c05ba2313ffbb7))
728
+
729
+ ### Other
730
+
731
+ * 2.22.0 ([52aa59a](https://github.com/event4u-app/agent-config/commit/52aa59a40cf12146275c3e2a19f149703c585eae))
732
+
733
+ Tests: 4559 (+0 since 2.21.0)
734
+
735
+ ## [2.22.0](https://github.com/event4u-app/agent-config/compare/2.21.0...2.22.0) (2026-05-17)
736
+
737
+ ### Features
738
+
739
+ * integrate anti-AI-slop heuristics into design skills ([f157d02](https://github.com/event4u-app/agent-config/commit/f157d02e56aa4abe139eaf042ad060de4815f36b))
740
+ * add Honest Sparring Partner template and adversarial-review trigger ([122f0ad](https://github.com/event4u-app/agent-config/commit/122f0adfd3b6a334b1191e9fa58e6b3328c77365))
741
+ * **skills:** refine-prompt + prompt-optimizer honor prompt_optimization setting ([9f8f20e](https://github.com/event4u-app/agent-config/commit/9f8f20e11627342c1e656d978d7a82ea30925cf3))
742
+ * **settings:** add prompt_optimization block (off/mini/max, /raw bypass) ([c6d3715](https://github.com/event4u-app/agent-config/commit/c6d371510979d044e5724d5ed2d390be0af24562))
743
+
744
+ ### Bug Fixes
745
+
746
+ * **refs:** suppress allowed council-ref links with ADR-decision-trace markers ([053bf9a](https://github.com/event4u-app/agent-config/commit/053bf9ae9c17a470f3838e989c597d66a24ac556))
747
+ * **template:** bump agent_config_version pin to 2.21.0 ([58cc67f](https://github.com/event4u-app/agent-config/commit/58cc67f9eb4c7a3ca9b1adddbfdbefbbfe80fa3b))
748
+
749
+ ### Documentation
750
+
751
+ * **guidelines:** add prompt-templates.md (12-template catalogue) ([ec91b31](https://github.com/event4u-app/agent-config/commit/ec91b31d71d7169f2aef6184d5e5f8d01b237f9b))
752
+ * **roadmap:** close out step-16-caveman-substance (38/38, kill-criterion deferred) ([7a60f1e](https://github.com/event4u-app/agent-config/commit/7a60f1eddd66dfdf54bc2664b45c97954eb2b7e3))
753
+
754
+ ### Chores
755
+
756
+ * **index:** regenerate agents/index.md + docs/catalog.md for new guideline ([f7b47e8](https://github.com/event4u-app/agent-config/commit/f7b47e870042abb3a33d26edb0caf9d0529c7828))
757
+ * **changelog:** split era 2.17.x → pre-2.20.0 ([c842766](https://github.com/event4u-app/agent-config/commit/c8427660de6914505edf1a3d21c05ba2313ffbb7))
758
+
759
+ Tests: 4559 (+0 since 2.21.0)
760
+
705
761
  ## [2.21.0](https://github.com/event4u-app/agent-config/compare/2.20.1...2.21.0) (2026-05-17)
706
762
 
707
763
  ### Features
@@ -793,142 +849,14 @@ Tests: 4535 (+0 since 2.20.0)
793
849
 
794
850
  Tests: 4535 (+42 since 2.19.0)
795
851
 
796
- ## [2.19.0](https://github.com/event4u-app/agent-config/compare/2.18.0...2.19.0) (2026-05-16)
797
-
798
- ### Features
799
-
800
- * **user-types:** land three seed user-types (galabau, metalworking, truck) ([361745e](https://github.com/event4u-app/agent-config/commit/361745ec88d32c7f6faa8f50ac4d350f95f6b6d1))
801
- * **refine-ticket:** add --user-type lens, orthogonal to --personas ([7d70138](https://github.com/event4u-app/agent-config/commit/7d7013840d92d53ead0b8dba15bf6613398dcd5b))
802
- * **linter:** add user-type artifact-type support ([bce874c](https://github.com/event4u-app/agent-config/commit/bce874cdb7e925585b74b478b0f4f0e4a7f40380))
803
- * **user-types:** wire compile pipeline + author scaffolding ([8637dae](https://github.com/event4u-app/agent-config/commit/8637dae4463796726b0d7e737d37169334a0283b))
804
- * **user-types:** lock schema + ADR for runtime user-type axis ([0ce1549](https://github.com/event4u-app/agent-config/commit/0ce1549a1e5037521cb06e9d1c467fa4ebf87d06))
805
- * **eval-findings:** add schema template for step-13 closure evidence ([2b2daa4](https://github.com/event4u-app/agent-config/commit/2b2daa46fbf348f5a2901b185c91901de06a1025))
806
- * **recruits:** add intake template for step-13 P1 recruit walkthroughs ([a569071](https://github.com/event4u-app/agent-config/commit/a569071853d665ca57813fc4c4676bba38716fac))
852
+ # Era: pre-2.20.0 — archived
807
853
 
808
- ### Bug Fixes
809
-
810
- * **adr:** drop transient roadmap links from user-types axis ADR ([e8d30fe](https://github.com/event4u-app/agent-config/commit/e8d30fe80c2d0b87406571b2c3dbbdd031312998))
811
- * **contracts:** clamp user-type beta-review markers to 90-day window ([25af8cc](https://github.com/event4u-app/agent-config/commit/25af8ccd650d6ea304f5060ebb55c2d034d746a2))
812
- * **refine-ticket:** sync compressed SKILL.md with --user-type persona-voice bullet ([14b9dcd](https://github.com/event4u-app/agent-config/commit/14b9dcdab69f063e1dcfc8d9070892b4d56305b1))
813
- * **refs:** inline AI Council Phase 4 convergence summary ([0e6a578](https://github.com/event4u-app/agent-config/commit/0e6a5780773fbabba6f98a01bd4b25726c996903))
814
- * **adr:** drop transient roadmap links from MCP runtime ADR ([8f2691e](https://github.com/event4u-app/agent-config/commit/8f2691e90130a9333bd9e01d0863ecb0c9f7ec97))
815
- * **template:** bump agent_config_version pin to 2.18.0 ([dd7441d](https://github.com/event4u-app/agent-config/commit/dd7441d2fc0fd785a70272b6520eb0eb29a61a66))
816
-
817
- ### Documentation
818
-
819
- * **user-types:** cross-link personas↔user-types and surface metalworking-shop example ([ac0b0ce](https://github.com/event4u-app/agent-config/commit/ac0b0ce2e356654352d3c4caf1528b3d5772047c))
820
- * **step-13:** link new recruit + eval-finding templates from prerequisites ([57b729a](https://github.com/event4u-app/agent-config/commit/57b729a236bf1b442df140fb2efbdecd9e73ffd9))
821
- * **adr:** record MCP server runtime as Anthropic Python SDK ([5f5d689](https://github.com/event4u-app/agent-config/commit/5f5d6895d4369b313e1a5058eca21807e5566cfd))
822
-
823
- ### Tests
824
-
825
- * **user-types:** add coverage audit script + tests ([ca403bb](https://github.com/event4u-app/agent-config/commit/ca403bb714fd505f539715fe25b7948714d0ee66))
826
- * **user-types:** lock schema, lint, and composition contracts ([cfeb48a](https://github.com/event4u-app/agent-config/commit/cfeb48a9d04956ff9d6744383b44bcabeaa57702))
827
-
828
- ### Chores
829
-
830
- * **roadmap:** close step-6 user-types axis and refresh progress dashboard ([2f50a96](https://github.com/event4u-app/agent-config/commit/2f50a96eeec1ea1bf832ed560553d4e940a94812))
831
- * **roadmap:** close step-14 phases 1+2 against shipped MCP server ([2dcf04b](https://github.com/event4u-app/agent-config/commit/2dcf04bdf5f71bd546b7ec9cf27bbbb7fc6d0ec4))
832
-
833
- Tests: 4493 (+17 since 2.18.0)
834
-
835
- ## [2.18.0](https://github.com/event4u-app/agent-config/compare/2.17.0...2.18.0) (2026-05-16)
836
-
837
- ### Features
838
-
839
- * **lint:** user-type axis frontmatter audit + task wiring ([322bf1d](https://github.com/event4u-app/agent-config/commit/322bf1dc805550cb8c234808bde4235aaf0ba39e))
840
- * **mcp:** filter skill prompts by personal.user_type ([0b09911](https://github.com/event4u-app/agent-config/commit/0b09911ea6ed2870b12b52ee67a922c3df1f919c))
841
- * **install:** wire --user-type flag across install entrypoints ([6589c6b](https://github.com/event4u-app/agent-config/commit/6589c6bce4682d521c12727adc4903e7333a421d))
842
- * **install:** add user_type schema + template placeholder + ADR ([3ede84d](https://github.com/event4u-app/agent-config/commit/3ede84d79ce0d3612ae6d2a862ae239cb01f8762))
843
-
844
- ### Documentation
845
-
846
- * **roadmaps:** close step-9 user-types axis + flip parent step-12 ([f1926dc](https://github.com/event4u-app/agent-config/commit/f1926dc6905128bfcb909dc03e47a37c7754e4e3))
847
-
848
- ### Tests
849
-
850
- * **install:** cover --user-type + sync user_type preservation ([349478f](https://github.com/event4u-app/agent-config/commit/349478fccc608a2a9818585f7c2a43368ee076c0))
851
-
852
- ### Chores
853
-
854
- * **docs:** drop broken step-12 link from getting-started-by-role ([351505a](https://github.com/event4u-app/agent-config/commit/351505a8fbc6626db5dd26cea494d2a4dbaead89))
855
- * **contracts:** inline council verdict + pragma roadmap source-trails ([4442030](https://github.com/event4u-app/agent-config/commit/4442030543b02511ced3643d9c6062e0722448d9))
856
- * **contracts:** drop transient roadmap refs from stable artifacts ([ecad21e](https://github.com/event4u-app/agent-config/commit/ecad21e16b7269257ba95d104b2dce06a9f140a5))
857
- * **contracts:** align keep-beta-until with 90-day window cap ([5c87588](https://github.com/event4u-app/agent-config/commit/5c8758854d19f5790b21bba41c4631e8460caa5e))
858
- * **roadmaps:** retag step-13/14 complexity to lightweight ([e87cd35](https://github.com/event4u-app/agent-config/commit/e87cd35483cb16eb39574a10318c2f9cb720e9a7))
859
- * **template:** bump agent_config_version pin to 2.17.0 ([f6bb24e](https://github.com/event4u-app/agent-config/commit/f6bb24e1267623bd49dffd1deb0c9ae071ea4906))
860
- * **index:** regenerate index after upstream privacy-review desc edit ([fd7fe24](https://github.com/event4u-app/agent-config/commit/fd7fe248b2297021912ec41aff5dd5b1596c9989))
861
-
862
- Tests: 4476 (+17 since 2.17.0)
863
-
864
- ## [2.17.0](https://github.com/event4u-app/agent-config/compare/2.16.0...2.17.0) (2026-05-15)
865
-
866
- ### Features
867
-
868
- * **user-types:** seed install-time axis directory with 7 user-type YAMLs ([d3264a5](https://github.com/event4u-app/agent-config/commit/d3264a5fd2e76e671b415c4a40279427d738c21c))
869
- * **eval:** measure skill-count reduction per user-type (step-12 P3) ([db74b3f](https://github.com/event4u-app/agent-config/commit/db74b3ff2f79499a29eb06ec12b64b054435e7d5))
870
- * **eval:** wire task bench + non-dev baseline 93.75% (step-12 P1) ([b3a0cde](https://github.com/event4u-app/agent-config/commit/b3a0cde598b592de7150bc118190083f181a7279))
871
- * **install:** add --interactive flag for user-type / stack / verbosity capture ([779c368](https://github.com/event4u-app/agent-config/commit/779c3680b22ec3afdd427dfcd32ed4816d541773))
872
- * **schema:** add recommended_for_user_types to skill schema + tag 32 skills ([afb90af](https://github.com/event4u-app/agent-config/commit/afb90af34118036902fb9d2054b1b8c743e650aa))
873
- * **rules:** add 12 domain-safety rules (PII, disclaimers, retention) ([dc9d7f7](https://github.com/event4u-app/agent-config/commit/dc9d7f70644d1b41df7af43f0acfeb8105472345))
874
- * **eval:** add non-dev evaluation corpus for step-12 phase 1 ([9d4881e](https://github.com/event4u-app/agent-config/commit/9d4881e9c366c701f44fcfc9ac3c689665ec91ad))
875
- * **ghostwriter:** enforce alias validation in lint_ghostwriter_source ([3862a08](https://github.com/event4u-app/agent-config/commit/3862a08194037433a721f58795bbc1a60a86b5d8))
876
- * **ghostwriter:** resolve --as=<value> against aliases in write command ([5ae4933](https://github.com/event4u-app/agent-config/commit/5ae493334bd41956a839fd88f0036d6098fb0884))
877
- * **ghostwriter:** add aliases schema + consumer settings toggle ([0d551c9](https://github.com/event4u-app/agent-config/commit/0d551c9818e40fec9fdc3320f1c5d615902f0e7f))
878
- * **ghostwriter:** /ghostwriter:list, :show, :delete maintenance commands ([0cdc009](https://github.com/event4u-app/agent-config/commit/0cdc009c60082d323efe6e495ab84bb4ad6cb48f))
879
- * **ghostwriter:** /post-as cluster (me · ghostwriter) + sync artifacts ([f6aca57](https://github.com/event4u-app/agent-config/commit/f6aca57a178d22cc865a1a0f81065fbae11b3dd1))
880
- * **ghostwriter:** /ghostwriter:write command + disclosure footer ([2f7349e](https://github.com/event4u-app/agent-config/commit/2f7349ec7b40580ab2b9a3b5d19059cd3f750503))
881
- * **ghostwriter:** /ghostwriter cluster dispatcher + /ghostwriter:fetch ([c4d9c09](https://github.com/event4u-app/agent-config/commit/c4d9c09609ddc3de063126ba8c5549069cc49595))
882
- * **ghostwriter:** consumer-side README + gitignore-by-default block ([4ffcb01](https://github.com/event4u-app/agent-config/commit/4ffcb017149cba4ee3207bcfb537e42626831276))
883
- * **ghostwriter:** add package-side fictional fixture + README ([c3daeea](https://github.com/event4u-app/agent-config/commit/c3daeea34dfbcf460930d115053ae439055c87d6))
884
-
885
- ### Bug Fixes
886
-
887
- * **rules:** trim 8 domain-safety descriptions to ≤150 chars ([1f095c1](https://github.com/event4u-app/agent-config/commit/1f095c1c140d2f071a1b6143283b946e94c0d209))
888
- * **contracts:** scrub roadmap refs from router-blending + universal-skills ([36dc8a4](https://github.com/event4u-app/agent-config/commit/36dc8a44012b4cad431c2d46223a738bf476f0a8))
889
- * **contracts:** keep-beta-until within 90-day window (2026-08-13) ([c6f1082](https://github.com/event4u-app/agent-config/commit/c6f108246b48fafad9fd564d1e4d4a493642bc91))
890
- * **schema:** allow applies_to_user_types in rule frontmatter ([80f73f6](https://github.com/event4u-app/agent-config/commit/80f73f639dcb0c8d347b4ccda88ad52ed091747e))
891
-
892
- ### Documentation
893
-
894
- * **roadmaps:** step-12 closure run #2 — author step-9/13/14, flip in-scope, defer external ([6191506](https://github.com/event4u-app/agent-config/commit/6191506a7d70472d164385b4a7b3ab514bd5deb1))
895
- * **roadmaps:** step-12 autonomous closure (Phases 0/1/3/5/7 closed) ([32f3177](https://github.com/event4u-app/agent-config/commit/32f317725f2a5000be0caf64d21d40103ec0be86))
896
- * **announcements:** draft non-dev launch posts + case-study tpl (step-12 P7) ([d624ad6](https://github.com/event4u-app/agent-config/commit/d624ad65392d1994fc65dd1b6b7d33ba18fc80f1))
897
- * **roadmaps:** close step-12 P6 L113 (GitHub repo metadata applied) ([b7099ee](https://github.com/event4u-app/agent-config/commit/b7099ee493d483e3aec07c6d33e767dbf99edc4d))
898
- * **roadmaps:** step-12 final-push annotations + closure report ([0c0e575](https://github.com/event4u-app/agent-config/commit/0c0e5752300a25dfdf1cf09569df2dc37eaf5f6e))
899
- * **contracts:** add init-telemetry v1 wire contract (step-12 P7 L127) ([dc9ea0a](https://github.com/event4u-app/agent-config/commit/dc9ea0a44b801a821ab3a6309c64fadf990eec3a))
900
- * **roadmaps:** step-12 closure report — terminal in-branch state ([70cc0f8](https://github.com/event4u-app/agent-config/commit/70cc0f8adc6485a61c4f1c75ff8bf926f22f1aad))
901
- * **readme:** drop duplicate Laravel-featured-domain section (5 lines) ([a7c332b](https://github.com/event4u-app/agent-config/commit/a7c332bdf61ccb2de358c65f14cb62caf24008bd))
902
- * **contracts:** add stability frontmatter to router-blending + universal-skills ([3273392](https://github.com/event4u-app/agent-config/commit/3273392a9d87d82dd8baad8fc8a61914ffa2bed6))
903
- * **readme:** reframe identity as Universal AI Agent OS ([4b2a328](https://github.com/event4u-app/agent-config/commit/4b2a3282a08ce4c568722597741931c47d21a6b8))
904
- * **readme:** trim README under 750-line floor, extract docs/safety.md ([2b74b1b](https://github.com/event4u-app/agent-config/commit/2b74b1bffed90ea5495fb96de6d9cce2db9415fb))
905
- * **readme:** add data governance & domain safety section ([8aa2b8e](https://github.com/event4u-app/agent-config/commit/8aa2b8edef5a29a3bcbef810c23083c4cfb4e237))
906
- * add role-based + laravel getting-started + CI link check ([ea65555](https://github.com/event4u-app/agent-config/commit/ea655557c785631df83766dd1d63458bf83c876f))
907
- * **ghostwriter:** cross-links, command counts, beta dates, roadmap-ref cleanup ([b8d0fb8](https://github.com/event4u-app/agent-config/commit/b8d0fb8ec230aa5992aedc00d78b0aa56e8ce430))
908
- * **contracts:** write-engine v1 + register /post-as cluster ([94d0cd8](https://github.com/event4u-app/agent-config/commit/94d0cd89d046251ffed6a8c42f415a5c47451503))
909
- * **roadmaps:** mark step-4 Phase 2 complete + regenerate progress ([7ec448d](https://github.com/event4u-app/agent-config/commit/7ec448dc872072ad93921dc0b9b166e5bf122237))
910
- * **contracts:** register /ghostwriter cluster (fetch · write · list · show · delete) ([01b4525](https://github.com/event4u-app/agent-config/commit/01b4525e3272dfb089bdac215f52a6175b9ab47e))
911
- * **roadmaps:** mark step-4 Phase 1 complete + regenerate progress ([5a574e2](https://github.com/event4u-app/agent-config/commit/5a574e27337fc598935281cda331cca0ecc34324))
912
- * **contracts:** lock ghostwriter v1 schema with verification + attestation fields ([421fc2e](https://github.com/event4u-app/agent-config/commit/421fc2e5fee09834590ca2594bf06875e38acfb3))
913
-
914
- ### Build
915
-
916
- * **ghostwriter:** wire lint + copy-as-is sync for package fixtures ([c5a3c79](https://github.com/event4u-app/agent-config/commit/c5a3c791bf51ceb23fde186d3b2f60675107c923))
917
-
918
- ### Chores
919
-
920
- * **scripts:** draft update-github-metadata.sh (step-12 P6 L113) ([2a2c5c2](https://github.com/event4u-app/agent-config/commit/2a2c5c20cadb4ba653a5660797b28add7dfc43a6))
921
- * **index:** regen index + catalog after description trimming ([f4915e4](https://github.com/event4u-app/agent-config/commit/f4915e47172a7b4482a5440f17d543072c90c303))
922
- * **compression:** propagate trimmed descriptions to .agent-src + hashes ([0a9352d](https://github.com/event4u-app/agent-config/commit/0a9352d7d20856301746a5839d25e2d52398920b))
923
- * **ownership:** regen file-ownership matrix ([bc13dd2](https://github.com/event4u-app/agent-config/commit/bc13dd2fe67d5c571f05964b84702cb6d7b193c2))
924
- * **index:** regen agents/index.md + docs/catalog.md ([20fefb0](https://github.com/event4u-app/agent-config/commit/20fefb043a25034a715cb7e76ec6174831357061))
925
- * **roadmaps:** step-12 phases 3 / 5 / 6 done + regen dashboard ([f07a0b1](https://github.com/event4u-app/agent-config/commit/f07a0b15cbe784eb17b9b75d06cae91e726b08f8))
926
- * **generated:** add 12 domain-safety rule symlinks to .claude/rules ([b95364a](https://github.com/event4u-app/agent-config/commit/b95364ae8e52a582ecb8c2598402782e06bfa83d))
927
- * **roadmap:** close step-12 Phase 4 — domain safety rules shipped ([b02290f](https://github.com/event4u-app/agent-config/commit/b02290f50b034ede8f725b9558d1060578024855))
928
- * **roadmaps:** add step-12 universal-os-reframe + regen dashboard ([89e06ca](https://github.com/event4u-app/agent-config/commit/89e06caf5ae21d21fa7f2705720e53888eb53c69))
929
- * **ghostwriter:** close out step-4 — archive roadmap, regen index + ownership matrix, bump template version ([70521c4](https://github.com/event4u-app/agent-config/commit/70521c41bc9305f5d39a7f8f7775388b724c56a6))
930
-
931
- Tests: 4459 (+54 since 2.16.0)
854
+ > All entries from `2.19.0` through `2.17.0` live in
855
+ > [`docs/archive/CHANGELOG-pre-2.20.0.md`](docs/archive/CHANGELOG-pre-2.20.0.md).
856
+ > The archive is read-only; git tags `2.19.0` and prior remain the
857
+ > canonical source for what shipped. Splitting these out of the main
858
+ > file keeps the active era under the 200-line drift cap enforced by
859
+ > `tests/test_changelog_eras.py`.
932
860
 
933
861
  # Era: pre-2.17.0 — archived
934
862
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Agent Config — Universal AI Agent OS
4
4
 
5
- [![Skills](https://img.shields.io/badge/Skills-211-1f6feb?style=flat-square)](.augment/skills/) [![Rules](https://img.shields.io/badge/Rules-79-d73a49?style=flat-square)](.augment/rules/) [![Commands](https://img.shields.io/badge/Commands-124-2da44e?style=flat-square)](.augment/commands/) [![Guidelines](https://img.shields.io/badge/Guidelines-72-8957e5?style=flat-square)](docs/guidelines/) [![Personas](https://img.shields.io/badge/Personas-22-bf8700?style=flat-square)](docs/personas.md) [![Advisors](https://img.shields.io/badge/Advisors-5-fb8500?style=flat-square)](docs/profiles.md) [![AI Tools](https://img.shields.io/badge/AI%20Tools-8-1abc9c?style=flat-square)](docs/architecture.md) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
5
+ [![Skills](https://img.shields.io/badge/Skills-211-1f6feb?style=flat-square)](.augment/skills/) [![Rules](https://img.shields.io/badge/Rules-79-d73a49?style=flat-square)](.augment/rules/) [![Commands](https://img.shields.io/badge/Commands-124-2da44e?style=flat-square)](.augment/commands/) [![Guidelines](https://img.shields.io/badge/Guidelines-73-8957e5?style=flat-square)](docs/guidelines/) [![Personas](https://img.shields.io/badge/Personas-22-bf8700?style=flat-square)](docs/personas.md) [![Advisors](https://img.shields.io/badge/Advisors-5-fb8500?style=flat-square)](docs/profiles.md) [![AI Tools](https://img.shields.io/badge/AI%20Tools-8-1abc9c?style=flat-square)](docs/architecture.md) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
6
6
 
7
7
  > **A deterministic orchestration contract for AI agents — audited skills, governance rules, replayable state — usable by developers, founders, and creators alike.**
8
8
 
@@ -144,7 +144,7 @@ note, package-internal path-swap, description budget, and the
144
144
  | **Skills** | 211 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
145
145
  | **Rules** | 79 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
146
146
  | **Commands** | 124 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
147
- | **Guidelines** | 72 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
147
+ | **Guidelines** | 73 | 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 |
150
150
 
@@ -0,0 +1,159 @@
1
+ # Changelog Archive — pre-2.20.0
2
+
3
+ > Frozen snapshot of `event4u/agent-config` changelog entries from
4
+ > `2.17.0` through `2.19.0`, split out of the main
5
+ > [`CHANGELOG.md`](../../CHANGELOG.md) on 2026-05-17 once the active
6
+ > era's body crossed the 200-line drift cap enforced by
7
+ > `tests/test_changelog_eras.py`.
8
+ >
9
+ > **Read-only.** New entries land in `CHANGELOG.md` § "Era: 2.20.x".
10
+ > Entries here are not amended — git tags `2.17.0`, `2.18.0`, and
11
+ > `2.19.0` remain the canonical sources for what shipped.
12
+ >
13
+ > Entry shape follows the conventions documented in
14
+ > [`docs/contracts/CHANGELOG-conventions.md`](../contracts/CHANGELOG-conventions.md).
15
+ > Earlier eras live in
16
+ > [`CHANGELOG-pre-2.17.0.md`](CHANGELOG-pre-2.17.0.md),
17
+ > [`CHANGELOG-pre-2.16.0.md`](CHANGELOG-pre-2.16.0.md),
18
+ > [`CHANGELOG-pre-2.15.0.md`](CHANGELOG-pre-2.15.0.md),
19
+ > [`CHANGELOG-pre-2.11.0.md`](CHANGELOG-pre-2.11.0.md),
20
+ > [`CHANGELOG-pre-2.7.0.md`](CHANGELOG-pre-2.7.0.md), and
21
+ > [`CHANGELOG-pre-2.2.0.md`](CHANGELOG-pre-2.2.0.md).
22
+
23
+ ## [2.19.0](https://github.com/event4u-app/agent-config/compare/2.18.0...2.19.0) (2026-05-16)
24
+
25
+ ### Features
26
+
27
+ * **user-types:** land three seed user-types (galabau, metalworking, truck) ([361745e](https://github.com/event4u-app/agent-config/commit/361745ec88d32c7f6faa8f50ac4d350f95f6b6d1))
28
+ * **refine-ticket:** add --user-type lens, orthogonal to --personas ([7d70138](https://github.com/event4u-app/agent-config/commit/7d7013840d92d53ead0b8dba15bf6613398dcd5b))
29
+ * **linter:** add user-type artifact-type support ([bce874c](https://github.com/event4u-app/agent-config/commit/bce874cdb7e925585b74b478b0f4f0e4a7f40380))
30
+ * **user-types:** wire compile pipeline + author scaffolding ([8637dae](https://github.com/event4u-app/agent-config/commit/8637dae4463796726b0d7e737d37169334a0283b))
31
+ * **user-types:** lock schema + ADR for runtime user-type axis ([0ce1549](https://github.com/event4u-app/agent-config/commit/0ce1549a1e5037521cb06e9d1c467fa4ebf87d06))
32
+ * **eval-findings:** add schema template for step-13 closure evidence ([2b2daa4](https://github.com/event4u-app/agent-config/commit/2b2daa46fbf348f5a2901b185c91901de06a1025))
33
+ * **recruits:** add intake template for step-13 P1 recruit walkthroughs ([a569071](https://github.com/event4u-app/agent-config/commit/a569071853d665ca57813fc4c4676bba38716fac))
34
+
35
+ ### Bug Fixes
36
+
37
+ * **adr:** drop transient roadmap links from user-types axis ADR ([e8d30fe](https://github.com/event4u-app/agent-config/commit/e8d30fe80c2d0b87406571b2c3dbbdd031312998))
38
+ * **contracts:** clamp user-type beta-review markers to 90-day window ([25af8cc](https://github.com/event4u-app/agent-config/commit/25af8ccd650d6ea304f5060ebb55c2d034d746a2))
39
+ * **refine-ticket:** sync compressed SKILL.md with --user-type persona-voice bullet ([14b9dcd](https://github.com/event4u-app/agent-config/commit/14b9dcdab69f063e1dcfc8d9070892b4d56305b1))
40
+ * **refs:** inline AI Council Phase 4 convergence summary ([0e6a578](https://github.com/event4u-app/agent-config/commit/0e6a5780773fbabba6f98a01bd4b25726c996903))
41
+ * **adr:** drop transient roadmap links from MCP runtime ADR ([8f2691e](https://github.com/event4u-app/agent-config/commit/8f2691e90130a9333bd9e01d0863ecb0c9f7ec97))
42
+ * **template:** bump agent_config_version pin to 2.18.0 ([dd7441d](https://github.com/event4u-app/agent-config/commit/dd7441d2fc0fd785a70272b6520eb0eb29a61a66))
43
+
44
+ ### Documentation
45
+
46
+ * **user-types:** cross-link personas↔user-types and surface metalworking-shop example ([ac0b0ce](https://github.com/event4u-app/agent-config/commit/ac0b0ce2e356654352d3c4caf1528b3d5772047c))
47
+ * **step-13:** link new recruit + eval-finding templates from prerequisites ([57b729a](https://github.com/event4u-app/agent-config/commit/57b729a236bf1b442df140fb2efbdecd9e73ffd9))
48
+ * **adr:** record MCP server runtime as Anthropic Python SDK ([5f5d689](https://github.com/event4u-app/agent-config/commit/5f5d6895d4369b313e1a5058eca21807e5566cfd))
49
+
50
+ ### Tests
51
+
52
+ * **user-types:** add coverage audit script + tests ([ca403bb](https://github.com/event4u-app/agent-config/commit/ca403bb714fd505f539715fe25b7948714d0ee66))
53
+ * **user-types:** lock schema, lint, and composition contracts ([cfeb48a](https://github.com/event4u-app/agent-config/commit/cfeb48a9d04956ff9d6744383b44bcabeaa57702))
54
+
55
+ ### Chores
56
+
57
+ * **roadmap:** close step-6 user-types axis and refresh progress dashboard ([2f50a96](https://github.com/event4u-app/agent-config/commit/2f50a96eeec1ea1bf832ed560553d4e940a94812))
58
+ * **roadmap:** close step-14 phases 1+2 against shipped MCP server ([2dcf04b](https://github.com/event4u-app/agent-config/commit/2dcf04bdf5f71bd546b7ec9cf27bbbb7fc6d0ec4))
59
+
60
+ Tests: 4493 (+17 since 2.18.0)
61
+
62
+ ## [2.18.0](https://github.com/event4u-app/agent-config/compare/2.17.0...2.18.0) (2026-05-16)
63
+
64
+ ### Features
65
+
66
+ * **lint:** user-type axis frontmatter audit + task wiring ([322bf1d](https://github.com/event4u-app/agent-config/commit/322bf1dc805550cb8c234808bde4235aaf0ba39e))
67
+ * **mcp:** filter skill prompts by personal.user_type ([0b09911](https://github.com/event4u-app/agent-config/commit/0b09911ea6ed2870b12b52ee67a922c3df1f919c))
68
+ * **install:** wire --user-type flag across install entrypoints ([6589c6b](https://github.com/event4u-app/agent-config/commit/6589c6bce4682d521c12727adc4903e7333a421d))
69
+ * **install:** add user_type schema + template placeholder + ADR ([3ede84d](https://github.com/event4u-app/agent-config/commit/3ede84d79ce0d3612ae6d2a862ae239cb01f8762))
70
+
71
+ ### Documentation
72
+
73
+ * **roadmaps:** close step-9 user-types axis + flip parent step-12 ([f1926dc](https://github.com/event4u-app/agent-config/commit/f1926dc6905128bfcb909dc03e47a37c7754e4e3))
74
+
75
+ ### Tests
76
+
77
+ * **install:** cover --user-type + sync user_type preservation ([349478f](https://github.com/event4u-app/agent-config/commit/349478fccc608a2a9818585f7c2a43368ee076c0))
78
+
79
+ ### Chores
80
+
81
+ * **docs:** drop broken step-12 link from getting-started-by-role ([351505a](https://github.com/event4u-app/agent-config/commit/351505a8fbc6626db5dd26cea494d2a4dbaead89))
82
+ * **contracts:** inline council verdict + pragma roadmap source-trails ([4442030](https://github.com/event4u-app/agent-config/commit/4442030543b02511ced3643d9c6062e0722448d9))
83
+ * **contracts:** drop transient roadmap refs from stable artifacts ([ecad21e](https://github.com/event4u-app/agent-config/commit/ecad21e16b7269257ba95d104b2dce06a9f140a5))
84
+ * **contracts:** align keep-beta-until with 90-day window cap ([5c87588](https://github.com/event4u-app/agent-config/commit/5c8758854d19f5790b21bba41c4631e8460caa5e))
85
+ * **roadmaps:** retag step-13/14 complexity to lightweight ([e87cd35](https://github.com/event4u-app/agent-config/commit/e87cd35483cb16eb39574a10318c2f9cb720e9a7))
86
+ * **template:** bump agent_config_version pin to 2.17.0 ([f6bb24e](https://github.com/event4u-app/agent-config/commit/f6bb24e1267623bd49dffd1deb0c9ae071ea4906))
87
+ * **index:** regenerate index after upstream privacy-review desc edit ([fd7fe24](https://github.com/event4u-app/agent-config/commit/fd7fe248b2297021912ec41aff5dd5b1596c9989))
88
+
89
+ Tests: 4476 (+17 since 2.17.0)
90
+
91
+ ## [2.17.0](https://github.com/event4u-app/agent-config/compare/2.16.0...2.17.0) (2026-05-15)
92
+
93
+ ### Features
94
+
95
+ * **user-types:** seed install-time axis directory with 7 user-type YAMLs ([d3264a5](https://github.com/event4u-app/agent-config/commit/d3264a5fd2e76e671b415c4a40279427d738c21c))
96
+ * **eval:** measure skill-count reduction per user-type (step-12 P3) ([db74b3f](https://github.com/event4u-app/agent-config/commit/db74b3ff2f79499a29eb06ec12b64b054435e7d5))
97
+ * **eval:** wire task bench + non-dev baseline 93.75% (step-12 P1) ([b3a0cde](https://github.com/event4u-app/agent-config/commit/b3a0cde598b592de7150bc118190083f181a7279))
98
+ * **install:** add --interactive flag for user-type / stack / verbosity capture ([779c368](https://github.com/event4u-app/agent-config/commit/779c3680b22ec3afdd427dfcd32ed4816d541773))
99
+ * **schema:** add recommended_for_user_types to skill schema + tag 32 skills ([afb90af](https://github.com/event4u-app/agent-config/commit/afb90af34118036902fb9d2054b1b8c743e650aa))
100
+ * **rules:** add 12 domain-safety rules (PII, disclaimers, retention) ([dc9d7f7](https://github.com/event4u-app/agent-config/commit/dc9d7f70644d1b41df7af43f0acfeb8105472345))
101
+ * **eval:** add non-dev evaluation corpus for step-12 phase 1 ([9d4881e](https://github.com/event4u-app/agent-config/commit/9d4881e9c366c701f44fcfc9ac3c689665ec91ad))
102
+ * **ghostwriter:** enforce alias validation in lint_ghostwriter_source ([3862a08](https://github.com/event4u-app/agent-config/commit/3862a08194037433a721f58795bbc1a60a86b5d8))
103
+ * **ghostwriter:** resolve --as=<value> against aliases in write command ([5ae4933](https://github.com/event4u-app/agent-config/commit/5ae493334bd41956a839fd88f0036d6098fb0884))
104
+ * **ghostwriter:** add aliases schema + consumer settings toggle ([0d551c9](https://github.com/event4u-app/agent-config/commit/0d551c9818e40fec9fdc3320f1c5d615902f0e7f))
105
+ * **ghostwriter:** /ghostwriter:list, :show, :delete maintenance commands ([0cdc009](https://github.com/event4u-app/agent-config/commit/0cdc009c60082d323efe6e495ab84bb4ad6cb48f))
106
+ * **ghostwriter:** /post-as cluster (me · ghostwriter) + sync artifacts ([f6aca57](https://github.com/event4u-app/agent-config/commit/f6aca57a178d22cc865a1a0f81065fbae11b3dd1))
107
+ * **ghostwriter:** /ghostwriter:write command + disclosure footer ([2f7349e](https://github.com/event4u-app/agent-config/commit/2f7349ec7b40580ab2b9a3b5d19059cd3f750503))
108
+ * **ghostwriter:** /ghostwriter cluster dispatcher + /ghostwriter:fetch ([c4d9c09](https://github.com/event4u-app/agent-config/commit/c4d9c09609ddc3de063126ba8c5549069cc49595))
109
+ * **ghostwriter:** consumer-side README + gitignore-by-default block ([4ffcb01](https://github.com/event4u-app/agent-config/commit/4ffcb017149cba4ee3207bcfb537e42626831276))
110
+ * **ghostwriter:** add package-side fictional fixture + README ([c3daeea](https://github.com/event4u-app/agent-config/commit/c3daeea34dfbcf460930d115053ae439055c87d6))
111
+
112
+ ### Bug Fixes
113
+
114
+ * **rules:** trim 8 domain-safety descriptions to ≤150 chars ([1f095c1](https://github.com/event4u-app/agent-config/commit/1f095c1c140d2f071a1b6143283b946e94c0d209))
115
+ * **contracts:** scrub roadmap refs from router-blending + universal-skills ([36dc8a4](https://github.com/event4u-app/agent-config/commit/36dc8a44012b4cad431c2d46223a738bf476f0a8))
116
+ * **contracts:** keep-beta-until within 90-day window (2026-08-13) ([c6f1082](https://github.com/event4u-app/agent-config/commit/c6f108246b48fafad9fd564d1e4d4a493642bc91))
117
+ * **schema:** allow applies_to_user_types in rule frontmatter ([80f73f6](https://github.com/event4u-app/agent-config/commit/80f73f639dcb0c8d347b4ccda88ad52ed091747e))
118
+
119
+ ### Documentation
120
+
121
+ * **roadmaps:** step-12 closure run #2 — author step-9/13/14, flip in-scope, defer external ([6191506](https://github.com/event4u-app/agent-config/commit/6191506a7d70472d164385b4a7b3ab514bd5deb1))
122
+ * **roadmaps:** step-12 autonomous closure (Phases 0/1/3/5/7 closed) ([32f3177](https://github.com/event4u-app/agent-config/commit/32f317725f2a5000be0caf64d21d40103ec0be86))
123
+ * **announcements:** draft non-dev launch posts + case-study tpl (step-12 P7) ([d624ad6](https://github.com/event4u-app/agent-config/commit/d624ad65392d1994fc65dd1b6b7d33ba18fc80f1))
124
+ * **roadmaps:** close step-12 P6 L113 (GitHub repo metadata applied) ([b7099ee](https://github.com/event4u-app/agent-config/commit/b7099ee493d483e3aec07c6d33e767dbf99edc4d))
125
+ * **roadmaps:** step-12 final-push annotations + closure report ([0c0e575](https://github.com/event4u-app/agent-config/commit/0c0e5752300a25dfdf1cf09569df2dc37eaf5f6e))
126
+ * **contracts:** add init-telemetry v1 wire contract (step-12 P7 L127) ([dc9ea0a](https://github.com/event4u-app/agent-config/commit/dc9ea0a44b801a821ab3a6309c64fadf990eec3a))
127
+ * **roadmaps:** step-12 closure report — terminal in-branch state ([70cc0f8](https://github.com/event4u-app/agent-config/commit/70cc0f8adc6485a61c4f1c75ff8bf926f22f1aad))
128
+ * **readme:** drop duplicate Laravel-featured-domain section (5 lines) ([a7c332b](https://github.com/event4u-app/agent-config/commit/a7c332bdf61ccb2de358c65f14cb62caf24008bd))
129
+ * **contracts:** add stability frontmatter to router-blending + universal-skills ([3273392](https://github.com/event4u-app/agent-config/commit/3273392a9d87d82dd8baad8fc8a61914ffa2bed6))
130
+ * **readme:** reframe identity as Universal AI Agent OS ([4b2a328](https://github.com/event4u-app/agent-config/commit/4b2a3282a08ce4c568722597741931c47d21a6b8))
131
+ * **readme:** trim README under 750-line floor, extract docs/safety.md ([2b74b1b](https://github.com/event4u-app/agent-config/commit/2b74b1bffed90ea5495fb96de6d9cce2db9415fb))
132
+ * **readme:** add data governance & domain safety section ([8aa2b8e](https://github.com/event4u-app/agent-config/commit/8aa2b8edef5a29a3bcbef810c23083c4cfb4e237))
133
+ * add role-based + laravel getting-started + CI link check ([ea65555](https://github.com/event4u-app/agent-config/commit/ea655557c785631df83766dd1d63458bf83c876f))
134
+ * **ghostwriter:** cross-links, command counts, beta dates, roadmap-ref cleanup ([b8d0fb8](https://github.com/event4u-app/agent-config/commit/b8d0fb8ec230aa5992aedc00d78b0aa56e8ce430))
135
+ * **contracts:** write-engine v1 + register /post-as cluster ([94d0cd8](https://github.com/event4u-app/agent-config/commit/94d0cd89d046251ffed6a8c42f415a5c47451503))
136
+ * **roadmaps:** mark step-4 Phase 2 complete + regenerate progress ([7ec448d](https://github.com/event4u-app/agent-config/commit/7ec448dc872072ad93921dc0b9b166e5bf122237))
137
+ * **contracts:** register /ghostwriter cluster (fetch · write · list · show · delete) ([01b4525](https://github.com/event4u-app/agent-config/commit/01b4525e3272dfb089bdac215f52a6175b9ab47e))
138
+ * **roadmaps:** mark step-4 Phase 1 complete + regenerate progress ([5a574e2](https://github.com/event4u-app/agent-config/commit/5a574e27337fc598935281cda331cca0ecc34324))
139
+ * **contracts:** lock ghostwriter v1 schema with verification + attestation fields ([421fc2e](https://github.com/event4u-app/agent-config/commit/421fc2e5fee09834590ca2594bf06875e38acfb3))
140
+
141
+ ### Build
142
+
143
+ * **ghostwriter:** wire lint + copy-as-is sync for package fixtures ([c5a3c79](https://github.com/event4u-app/agent-config/commit/c5a3c791bf51ceb23fde186d3b2f60675107c923))
144
+
145
+ ### Chores
146
+
147
+ * **scripts:** draft update-github-metadata.sh (step-12 P6 L113) ([2a2c5c2](https://github.com/event4u-app/agent-config/commit/2a2c5c20cadb4ba653a5660797b28add7dfc43a6))
148
+ * **index:** regen index + catalog after description trimming ([f4915e4](https://github.com/event4u-app/agent-config/commit/f4915e47172a7b4482a5440f17d543072c90c303))
149
+ * **compression:** propagate trimmed descriptions to .agent-src + hashes ([0a9352d](https://github.com/event4u-app/agent-config/commit/0a9352d7d20856301746a5839d25e2d52398920b))
150
+ * **ownership:** regen file-ownership matrix ([bc13dd2](https://github.com/event4u-app/agent-config/commit/bc13dd2fe67d5c571f05964b84702cb6d7b193c2))
151
+ * **index:** regen agents/index.md + docs/catalog.md ([20fefb0](https://github.com/event4u-app/agent-config/commit/20fefb043a25034a715cb7e76ec6174831357061))
152
+ * **roadmaps:** step-12 phases 3 / 5 / 6 done + regen dashboard ([f07a0b1](https://github.com/event4u-app/agent-config/commit/f07a0b15cbe784eb17b9b75d06cae91e726b08f8))
153
+ * **generated:** add 12 domain-safety rule symlinks to .claude/rules ([b95364a](https://github.com/event4u-app/agent-config/commit/b95364ae8e52a582ecb8c2598402782e06bfa83d))
154
+ * **roadmap:** close step-12 Phase 4 — domain safety rules shipped ([b02290f](https://github.com/event4u-app/agent-config/commit/b02290f50b034ede8f725b9558d1060578024855))
155
+ * **roadmaps:** add step-12 universal-os-reframe + regen dashboard ([89e06ca](https://github.com/event4u-app/agent-config/commit/89e06caf5ae21d21fa7f2705720e53888eb53c69))
156
+ * **ghostwriter:** close out step-4 — archive roadmap, regen index + ownership matrix, bump template version ([70521c4](https://github.com/event4u-app/agent-config/commit/70521c41bc9305f5d39a7f8f7775388b724c56a6))
157
+
158
+ Tests: 4459 (+54 since 2.16.0)
159
+
package/docs/catalog.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # agent-config — Public Catalog
2
2
 
3
- Consumer-facing catalog of all **483 public artefacts** shipped by
3
+ Consumer-facing catalog of all **484 public artefacts** shipped by
4
4
  this package. Internal package-maintenance rules and deprecation shims
5
5
  are excluded.
6
6
 
@@ -433,7 +433,7 @@ are excluded.
433
433
  | 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 |
434
434
  | 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. |
435
435
 
436
- ## Guidelines (72)
436
+ ## Guidelines (73)
437
437
 
438
438
  | kind | name | category | description |
439
439
  |---|---|---|---|
@@ -508,6 +508,7 @@ are excluded.
508
508
  | guideline | [`sql`](../docs/guidelines/php/sql.md) | php | |
509
509
  | guideline | [`validations`](../docs/guidelines/php/validations.md) | php | |
510
510
  | guideline | [`websocket`](../docs/guidelines/php/websocket.md) | php | |
511
+ | guideline | [`prompt-templates`](../docs/guidelines/prompt-templates.md) | (root) | |
511
512
  | guideline | [`wing4-handoff`](../docs/guidelines/wing4-handoff.md) | (root) | |
512
513
 
513
514
  ---
@@ -10483,6 +10483,13 @@
10483
10483
  "via": "body_link",
10484
10484
  "depth": 1
10485
10485
  },
10486
+ {
10487
+ "source": ".agent-src.uncompressed/skills/refine-prompt/SKILL.md",
10488
+ "target": ".agent-src.uncompressed/skills/prompt-optimizer/SKILL.md",
10489
+ "type": "READ_ONLY",
10490
+ "via": "body_link",
10491
+ "depth": 1
10492
+ },
10486
10493
  {
10487
10494
  "source": ".agent-src.uncompressed/skills/refine-prompt/SKILL.md",
10488
10495
  "target": ".agent-src.uncompressed/skills/refine-prompt/SKILL.md",
@@ -0,0 +1,166 @@
1
+ # Prompt Templates
2
+
3
+ Reference catalogue of prompt structures the [`prompt-optimizer`](../../.agent-src.uncompressed/skills/prompt-optimizer/SKILL.md)
4
+ skill picks from during the **Develop** step of the 4-D methodology.
5
+ Cited by the [`refine-prompt`](../../.agent-src.uncompressed/skills/refine-prompt/SKILL.md)
6
+ skill in `mini` mode for stack-aware shaping.
7
+
8
+ Templates are tools, not dogma. Pick by request type, not by upstream
9
+ whitelist — see the [Rejection note](#rejection-note) at the bottom.
10
+
11
+ ## When-to-pick rubric
12
+
13
+ | Request shape | First-choice template | Fallback |
14
+ |---|---|---|
15
+ | One-shot technical change (refactor, lint fix) | **RTF** | File-Scope |
16
+ | Multi-file refactor across a codebase | **File-Scope** | RTF |
17
+ | Marketing / brand / tone-heavy copy | **CO-STAR** | CRISPE |
18
+ | Mixed-audience explainer (technical + lay) | **CRISPE** | CO-STAR |
19
+ | Step-by-step explainer / tutorial | **RISEN** | Few-Shot |
20
+ | Pattern-heavy task (classification, extraction) | **Few-Shot** | RISEN |
21
+ | Multi-step reasoning or math | **CoT** | ReAct |
22
+ | Tool-using agent (web search, file ops) | **ReAct** | CoT |
23
+ | Image AI (Midjourney, SD, DALL·E) | **Visual Descriptor** | Reference-Image-Edit |
24
+ | Image edit from a source image | **Reference-Image-Edit** | Visual Descriptor |
25
+ | ComfyUI / node-graph image workflows | **ComfyUI** | Visual Descriptor |
26
+ | Reverse-engineer an existing good prompt | **Prompt Decompiler** | — |
27
+ | Honest critical feedback on a finished artifact (post, design, naming, proposal) — any domain | **Honest Sparring Partner** | CRISPE |
28
+
29
+ ## Text templates
30
+
31
+ ### RTF — Role · Task · Format
32
+ Smallest viable structure. Three lines: who the AI is, what to do,
33
+ how the output should look. Best for one-shot technical asks.
34
+
35
+ ### CO-STAR — Context · Objective · Style · Tone · Audience · Response
36
+ Six-slot structure originally from the Singapore GovTech prompt
37
+ study. Best for copy where audience and tone carry the message.
38
+
39
+ ### RISEN — Role · Input · Steps · Expectation · Narrowing
40
+ Step-explicit shape. Best for tutorials, walkthroughs, and any
41
+ output where the reader follows the prompt's structure.
42
+
43
+ ### CRISPE — Capacity · Role · Insight · Statement · Personality · Experiment
44
+ Six-slot, persona-heavy. Best when the *voice* matters more than
45
+ the structure (creative writing, explainers with a strong narrator).
46
+
47
+ ### CoT — Chain-of-Thought
48
+ Append "Think step by step" or "Reason aloud before answering" to
49
+ any base template. Best for multi-step reasoning, math, planning.
50
+ Pairs well with RTF or RISEN.
51
+
52
+ ### Few-Shot
53
+ Two to five worked examples inline before the actual ask. Best for
54
+ classification, extraction, format-mimicking. Costs tokens — keep
55
+ examples minimal and representative.
56
+
57
+ ### File-Scope
58
+ Codebase-aware variant of RTF. Names the files in scope, the
59
+ allowed-edit list, and the "do not touch" list explicitly. Best for
60
+ agent-driven refactors where blast radius matters.
61
+
62
+ ```
63
+ Role: senior TypeScript engineer
64
+ Files in scope: src/auth/*.ts, tests/auth/*.ts
65
+ Do not modify: src/db/*, package.json, tsconfig.json
66
+ Task: migrate from jsonwebtoken to jose; keep the exported API stable
67
+ Format: unified diff
68
+ ```
69
+
70
+ ### ReAct — Reason + Act
71
+ Interleaved thought / action / observation loop. Best for agents
72
+ with tools — web search, file ops, shell. Each cycle:
73
+
74
+ ```
75
+ Thought: <why I need this next step>
76
+ Action: <tool call>
77
+ Observation: <result>
78
+ ... repeat ...
79
+ Final Answer: <synthesis>
80
+ ```
81
+
82
+ ### Honest Sparring Partner
83
+ Domain-agnostic stance template for getting honest critical feedback on
84
+ a finished artifact — blog post, design draft, naming decision, business
85
+ proposal, care-plan, marketing copy. Works for any role (engineer,
86
+ graphic designer, nurse, founder) because the role slot is filled by
87
+ the user's actual profession, not hard-coded.
88
+
89
+ Five-slot shape:
90
+
91
+ ```
92
+ Role: <user's domain> — e.g. graphic designer, geriatric nurse, founder
93
+ Stance: honest sparring partner, not yes-man. Push back when something
94
+ is weak; acknowledge when something is solid; stay silent when
95
+ there is nothing substantive to add. No flattery openings, no
96
+ artificial criticism for its own sake.
97
+ Context-fit: ask ONE clarifying question only if real context is missing
98
+ (role, audience, constraint). Otherwise answer directly.
99
+ Artifact: <the finished thing — paste, link, or describe>
100
+ Ask: <what kind of reaction the user wants — "does the argument hold?",
101
+ "is the naming clear?", "would this land with audience X?">
102
+ ```
103
+
104
+ **Anti-pattern this rejects:** "what do you honestly think?" prompts that
105
+ either default to praise ("looks great!") or default to manufactured
106
+ criticism ("here are 5 problems...") regardless of whether the work
107
+ warrants either reaction. The stance slot makes the honest-when-warranted
108
+ contract explicit.
109
+
110
+ **Package equivalents** — inside this agent-config, the
111
+ [`adversarial-review`](../../.agent-src.uncompressed/skills/adversarial-review/SKILL.md)
112
+ skill implements the same stance via an Attack-Defend-Revise loop and is
113
+ the right tool when the user submits finished work for a critical take.
114
+ This template is for **end-users prompting their own LLM** (ChatGPT,
115
+ Claude, Gemini) outside this package.
116
+
117
+ ## Image templates
118
+
119
+ ### Visual Descriptor
120
+ Subject · style · composition · lighting · medium · mood · technical
121
+ parameters (aspect ratio, resolution). Best for Midjourney, Stable
122
+ Diffusion, DALL·E from a blank canvas.
123
+
124
+ ### Reference-Image-Edit
125
+ Source image reference + change set + preservation set. Names what
126
+ to change, what to keep, and the desired output framing. Best for
127
+ inpainting, style transfer, character consistency.
128
+
129
+ ### ComfyUI
130
+ Node-graph-aware. Names the workflow nodes (KSampler, CLIPTextEncode,
131
+ VAEDecode) and the parameter intent per node rather than the
132
+ parameter values. Best for advanced SD pipelines.
133
+
134
+ ## Reverse template
135
+
136
+ ### Prompt Decompiler
137
+ Given an existing good output, reconstruct the prompt that would
138
+ produce it. Used to mine prompts from public LLM artifacts. Not a
139
+ shaping template — a forensic one.
140
+
141
+ ## Rejection note
142
+
143
+ Upstream `nidhinjs/prompt-master` claims that only five techniques
144
+ are "safe" for production prompting:
145
+
146
+ - few-shot
147
+ - role assignment
148
+ - structured output
149
+ - constraint-based
150
+ - chain-of-thought
151
+
152
+ This package **rejects** that whitelist. CO-STAR, RISEN, CRISPE,
153
+ ReAct, and the image-AI templates above are first-class. The
154
+ "5 safe" framing came from a single benchmark on a single LLM
155
+ generation — it does not generalise. See AI Council session
156
+ `agents/council-responses/prompt-master-mini.json` (2026-05-17) for the analysis behind this rejection. <!-- council-ref-allowed: ADR decision trace -->
157
+
158
+ The right gate is request-type fit, not technique-whitelist
159
+ membership.
160
+
161
+ ## See also
162
+
163
+ - [`prompt-optimizer`](../../.agent-src.uncompressed/skills/prompt-optimizer/SKILL.md) — engine-outbound; cites this catalogue in its Develop step
164
+ - [`refine-prompt`](../../.agent-src.uncompressed/skills/refine-prompt/SKILL.md) — engine-inbound; uses templates in `mini` mode for stack-aware shaping
165
+ - [`prompt-engineering-patterns`](../../.agent-src.uncompressed/skills/prompt-engineering-patterns/SKILL.md) — production-LLM prompt patterns (sibling skill, not a catalogue)
166
+ - AI Council session: `agents/council-responses/prompt-master-mini.json` (2026-05-17) <!-- council-ref-allowed: ADR decision trace -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event4u/agent-config",
3
- "version": "2.21.0",
3
+ "version": "2.23.0",
4
4
  "description": "Shared agent configuration \u2014 skills, rules, commands, guidelines, and templates for AI coding tools",
5
5
  "license": "MIT",
6
6
  "private": false,