@event4u/agent-config 1.33.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/.agent-src/commands/review-changes.md +13 -8
  2. package/.agent-src/personas/README.md +12 -21
  3. package/.agent-src/personas/_template-specialist/persona.md +89 -0
  4. package/.agent-src/personas/backend-architect.md +96 -0
  5. package/.agent-src/personas/eloquent-tamer.md +96 -0
  6. package/.agent-src/personas/frontend-engineer.md +100 -0
  7. package/.agent-src/personas/qa.md +27 -2
  8. package/.agent-src/personas/security-engineer.md +100 -0
  9. package/.agent-src/skills/accessibility-auditor/SKILL.md +132 -0
  10. package/.agent-src/skills/adr-create/SKILL.md +1 -0
  11. package/.agent-src/skills/adversarial-review/SKILL.md +1 -0
  12. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -0
  13. package/.agent-src/skills/agents-md-thin-root/SKILL.md +1 -0
  14. package/.agent-src/skills/ai-council/SKILL.md +1 -0
  15. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -0
  16. package/.agent-src/skills/analysis-skill-router/SKILL.md +1 -0
  17. package/.agent-src/skills/api-design/SKILL.md +3 -0
  18. package/.agent-src/skills/api-endpoint/SKILL.md +1 -0
  19. package/.agent-src/skills/api-testing/SKILL.md +1 -0
  20. package/.agent-src/skills/architecture-review-lens/SKILL.md +137 -0
  21. package/.agent-src/skills/artisan-commands/SKILL.md +1 -0
  22. package/.agent-src/skills/async-python-patterns/SKILL.md +1 -0
  23. package/.agent-src/skills/authz-review/SKILL.md +4 -0
  24. package/.agent-src/skills/aws-infrastructure/SKILL.md +1 -0
  25. package/.agent-src/skills/blade-ui/SKILL.md +1 -0
  26. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +3 -0
  27. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -0
  28. package/.agent-src/skills/check-refs/SKILL.md +1 -0
  29. package/.agent-src/skills/code-refactoring/SKILL.md +1 -0
  30. package/.agent-src/skills/code-review/SKILL.md +1 -0
  31. package/.agent-src/skills/command-routing/SKILL.md +1 -0
  32. package/.agent-src/skills/command-writing/SKILL.md +1 -0
  33. package/.agent-src/skills/composer-packages/SKILL.md +1 -0
  34. package/.agent-src/skills/context-authoring/SKILL.md +1 -0
  35. package/.agent-src/skills/context-document/SKILL.md +1 -0
  36. package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -0
  37. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +1 -0
  38. package/.agent-src/skills/copilot-config/SKILL.md +1 -0
  39. package/.agent-src/skills/dashboard-design/SKILL.md +1 -0
  40. package/.agent-src/skills/data-flow-mapper/SKILL.md +1 -0
  41. package/.agent-src/skills/database/SKILL.md +3 -0
  42. package/.agent-src/skills/dcf-modeling/SKILL.md +1 -0
  43. package/.agent-src/skills/decision-record/SKILL.md +143 -0
  44. package/.agent-src/skills/deep-reading-analyst/SKILL.md +1 -0
  45. package/.agent-src/skills/defense-in-depth/SKILL.md +1 -0
  46. package/.agent-src/skills/dependency-upgrade/SKILL.md +1 -0
  47. package/.agent-src/skills/description-assist/SKILL.md +1 -0
  48. package/.agent-src/skills/design-review/SKILL.md +1 -0
  49. package/.agent-src/skills/devcontainer/SKILL.md +1 -0
  50. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -0
  51. package/.agent-src/skills/docker/SKILL.md +1 -0
  52. package/.agent-src/skills/dto-creator/SKILL.md +1 -0
  53. package/.agent-src/skills/eloquent/SKILL.md +3 -0
  54. package/.agent-src/skills/error-handling-patterns/SKILL.md +1 -0
  55. package/.agent-src/skills/estimate-ticket/SKILL.md +1 -0
  56. package/.agent-src/skills/existing-ui-audit/SKILL.md +3 -0
  57. package/.agent-src/skills/fe-design/SKILL.md +4 -1
  58. package/.agent-src/skills/feature-planning/SKILL.md +1 -0
  59. package/.agent-src/skills/file-editor/SKILL.md +1 -0
  60. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +1 -0
  61. package/.agent-src/skills/flux/SKILL.md +1 -0
  62. package/.agent-src/skills/form-handler/SKILL.md +145 -0
  63. package/.agent-src/skills/funnel-analysis/SKILL.md +1 -0
  64. package/.agent-src/skills/git-workflow/SKILL.md +1 -0
  65. package/.agent-src/skills/github-ci/SKILL.md +1 -0
  66. package/.agent-src/skills/grafana/SKILL.md +1 -0
  67. package/.agent-src/skills/guideline-writing/SKILL.md +1 -0
  68. package/.agent-src/skills/incident-commander/SKILL.md +140 -0
  69. package/.agent-src/skills/jira-integration/SKILL.md +1 -0
  70. package/.agent-src/skills/jobs-events/SKILL.md +1 -0
  71. package/.agent-src/skills/judge-bug-hunter/SKILL.md +1 -0
  72. package/.agent-src/skills/judge-code-quality/SKILL.md +1 -0
  73. package/.agent-src/skills/judge-security-auditor/SKILL.md +3 -0
  74. package/.agent-src/skills/judge-test-coverage/SKILL.md +1 -0
  75. package/.agent-src/skills/laravel/SKILL.md +1 -0
  76. package/.agent-src/skills/laravel-horizon/SKILL.md +1 -0
  77. package/.agent-src/skills/laravel-mail/SKILL.md +1 -0
  78. package/.agent-src/skills/laravel-middleware/SKILL.md +1 -0
  79. package/.agent-src/skills/laravel-notifications/SKILL.md +1 -0
  80. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -0
  81. package/.agent-src/skills/laravel-pulse/SKILL.md +1 -0
  82. package/.agent-src/skills/laravel-reverb/SKILL.md +1 -0
  83. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -0
  84. package/.agent-src/skills/laravel-validation/SKILL.md +1 -0
  85. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +1 -0
  86. package/.agent-src/skills/lint-skills/SKILL.md +1 -0
  87. package/.agent-src/skills/livewire/SKILL.md +1 -0
  88. package/.agent-src/skills/livewire-architect/SKILL.md +158 -0
  89. package/.agent-src/skills/logging-monitoring/SKILL.md +1 -0
  90. package/.agent-src/skills/markitdown/SKILL.md +1 -0
  91. package/.agent-src/skills/mcp/SKILL.md +1 -0
  92. package/.agent-src/skills/mcp-builder/SKILL.md +1 -0
  93. package/.agent-src/skills/md-language-check/SKILL.md +1 -0
  94. package/.agent-src/skills/merge-conflicts/SKILL.md +1 -0
  95. package/.agent-src/skills/migration-architect/SKILL.md +119 -0
  96. package/.agent-src/skills/migration-creator/SKILL.md +1 -0
  97. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +2 -1
  98. package/.agent-src/skills/module-management/SKILL.md +1 -0
  99. package/.agent-src/skills/multi-tenancy/SKILL.md +1 -0
  100. package/.agent-src/skills/okr-tree-modeling/SKILL.md +1 -0
  101. package/.agent-src/skills/openapi/SKILL.md +1 -0
  102. package/.agent-src/skills/override-management/SKILL.md +1 -0
  103. package/.agent-src/skills/performance/SKILL.md +1 -0
  104. package/.agent-src/skills/performance-analysis/SKILL.md +1 -0
  105. package/.agent-src/skills/persona-writing/SKILL.md +1 -0
  106. package/.agent-src/skills/pest-testing/SKILL.md +1 -0
  107. package/.agent-src/skills/php-coder/SKILL.md +1 -0
  108. package/.agent-src/skills/php-debugging/SKILL.md +1 -0
  109. package/.agent-src/skills/php-service/SKILL.md +1 -0
  110. package/.agent-src/skills/playwright-architect/SKILL.md +141 -0
  111. package/.agent-src/skills/playwright-testing/SKILL.md +1 -0
  112. package/.agent-src/skills/po-discovery/SKILL.md +127 -0
  113. package/.agent-src/skills/project-analysis-core/SKILL.md +1 -0
  114. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +1 -0
  115. package/.agent-src/skills/project-analysis-laravel/SKILL.md +1 -0
  116. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +1 -0
  117. package/.agent-src/skills/project-analysis-node-express/SKILL.md +1 -0
  118. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -0
  119. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -0
  120. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +1 -0
  121. package/.agent-src/skills/project-analyzer/SKILL.md +1 -0
  122. package/.agent-src/skills/project-docs/SKILL.md +1 -0
  123. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -0
  124. package/.agent-src/skills/prompt-optimizer/SKILL.md +1 -0
  125. package/.agent-src/skills/quality-tools/SKILL.md +1 -0
  126. package/.agent-src/skills/react-native-setup/SKILL.md +1 -0
  127. package/.agent-src/skills/react-shadcn-ui/SKILL.md +1 -0
  128. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -0
  129. package/.agent-src/skills/readme-writing/SKILL.md +1 -0
  130. package/.agent-src/skills/readme-writing-package/SKILL.md +1 -0
  131. package/.agent-src/skills/receiving-code-review/SKILL.md +1 -0
  132. package/.agent-src/skills/refine-prompt/SKILL.md +1 -0
  133. package/.agent-src/skills/refine-ticket/SKILL.md +1 -0
  134. package/.agent-src/skills/repomix-packer/SKILL.md +1 -0
  135. package/.agent-src/skills/requesting-code-review/SKILL.md +1 -0
  136. package/.agent-src/skills/review-routing/SKILL.md +1 -0
  137. package/.agent-src/skills/rice-prioritization/SKILL.md +1 -0
  138. package/.agent-src/skills/risk-officer/SKILL.md +141 -0
  139. package/.agent-src/skills/roadmap-management/SKILL.md +1 -0
  140. package/.agent-src/skills/roadmap-writing/SKILL.md +1 -0
  141. package/.agent-src/skills/rtk-output-filtering/SKILL.md +1 -0
  142. package/.agent-src/skills/rule-writing/SKILL.md +1 -0
  143. package/.agent-src/skills/script-writing/SKILL.md +1 -0
  144. package/.agent-src/skills/secrets-management/SKILL.md +1 -0
  145. package/.agent-src/skills/security/SKILL.md +1 -0
  146. package/.agent-src/skills/security-audit/SKILL.md +1 -0
  147. package/.agent-src/skills/sentry-integration/SKILL.md +1 -0
  148. package/.agent-src/skills/sequential-thinking/SKILL.md +1 -0
  149. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +1 -0
  150. package/.agent-src/skills/skill-management/SKILL.md +1 -0
  151. package/.agent-src/skills/skill-reviewer/SKILL.md +1 -0
  152. package/.agent-src/skills/skill-writing/SKILL.md +1 -0
  153. package/.agent-src/skills/sql-writing/SKILL.md +1 -0
  154. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +149 -0
  155. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -0
  156. package/.agent-src/skills/systematic-debugging/SKILL.md +1 -0
  157. package/.agent-src/skills/tailwind-engineer/SKILL.md +130 -0
  158. package/.agent-src/skills/tech-debt-tracker/SKILL.md +152 -0
  159. package/.agent-src/skills/technical-specification/SKILL.md +1 -0
  160. package/.agent-src/skills/terraform/SKILL.md +1 -0
  161. package/.agent-src/skills/terragrunt/SKILL.md +1 -0
  162. package/.agent-src/skills/test-driven-development/SKILL.md +1 -0
  163. package/.agent-src/skills/test-performance/SKILL.md +1 -0
  164. package/.agent-src/skills/testing-anti-patterns/SKILL.md +1 -0
  165. package/.agent-src/skills/threat-modeling/SKILL.md +3 -0
  166. package/.agent-src/skills/token-optimizer/SKILL.md +1 -0
  167. package/.agent-src/skills/traefik/SKILL.md +1 -0
  168. package/.agent-src/skills/ui-component-architect/SKILL.md +153 -0
  169. package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -0
  170. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -0
  171. package/.agent-src/skills/upstream-contribute/SKILL.md +1 -0
  172. package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  173. package/.agent-src/skills/validate-feature-fit/SKILL.md +1 -0
  174. package/.agent-src/skills/verify-completion-evidence/SKILL.md +1 -0
  175. package/.agent-src/skills/websocket/SKILL.md +1 -0
  176. package/.claude-plugin/marketplace.json +15 -1
  177. package/AGENTS.md +1 -0
  178. package/CHANGELOG.md +41 -0
  179. package/README.md +2 -2
  180. package/docs/architecture.md +1 -1
  181. package/docs/catalog.md +17 -3
  182. package/docs/contracts/file-ownership-matrix.json +506 -0
  183. package/docs/contracts/persona-schema.md +136 -0
  184. package/docs/contracts/skill-domains.md +143 -0
  185. package/docs/decisions/ADR-005-subagent-worktrees.md +120 -0
  186. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +114 -0
  187. package/docs/decisions/INDEX.md +3 -0
  188. package/docs/personas.md +115 -0
  189. package/package.json +1 -1
  190. package/scripts/_backfill_skill_domains.py +140 -0
  191. package/scripts/_emit_domain_table.py +35 -0
  192. package/scripts/install-hooks.sh +21 -4
  193. package/scripts/lint_skill_tools.py +168 -0
  194. package/scripts/schemas/skill.schema.json +6 -1
  195. package/scripts/skill_linter.py +19 -4
  196. package/scripts/skill_tools/__init__.py +22 -0
  197. package/scripts/skill_tools/audit_persona_coverage.py +147 -0
  198. package/scripts/skill_tools/run_block_d_eval.py +129 -0
  199. package/scripts/skill_tools/score_skill_relevance.py +169 -0
  200. package/scripts/skill_tools/suggest_skill_for_task.py +113 -0
@@ -0,0 +1,136 @@
1
+ ---
2
+ stability: beta
3
+ ---
4
+
5
+ # Persona Schema — two-tier (Core / Specialist)
6
+
7
+ > **Status:** active · **Stability:** beta · **Owner:** road-to-better-skills-and-profiles Block A
8
+ > · **Linter:** `scripts/skill_linter.py § lint_persona`
9
+ > · **Source-of-truth dir:** `.agent-src.uncompressed/personas/`
10
+ > · **Council verdict:** iter-1 A-OQ1 (c) — hybrid
11
+
12
+ Locks the canonical persona shape: a uniform frontmatter across both
13
+ tiers, a 5-section spine for Core, and a 7-section spine for Specialist
14
+ (Core-5 + Critical Rules + Workflows). Existing Core personas are
15
+ **not migrated** — the schema accepts the v1 shape that already ships.
16
+
17
+ ## § 1 — Frontmatter (uniform across tiers)
18
+
19
+ | Key | Type | Required | Notes |
20
+ |---|---|---|---|
21
+ | `id` | string | yes | lowercase-hyphenated, must match filename stem |
22
+ | `role` | string | yes | human-readable role name |
23
+ | `description` | string | yes | one sentence, ≤ 160 chars |
24
+ | `tier` | enum | yes | `core` \| `specialist` |
25
+ | `mode` | string | optional | advisory link to a role-contract workflow mode |
26
+ | `version` | string | yes | semver; bump on breaking changes |
27
+ | `source` | enum | yes | `package` \| `project` |
28
+
29
+ `personas:` is the consumer-side citation key (used in skill
30
+ frontmatter); it is **not** part of a persona's own frontmatter.
31
+
32
+ ## § 2 — Tier definitions
33
+
34
+ ### `core` — always-loaded cast
35
+
36
+ The six lenses every multi-lens skill leans on by default:
37
+ `developer` · `senior-engineer` · `product-owner` · `stakeholder`
38
+ · `critical-challenger` · `ai-agent`. Stable v1 shape; council
39
+ verdict explicitly forbids migration to the 7-section spine — it
40
+ would dilute the always-loaded cost without adding signal.
41
+
42
+ ### `specialist` — opt-in lens
43
+
44
+ Domain-narrow voices a skill cites only when its specific axis is in
45
+ play (e.g. `qa` for testability, `backend-architect` for system
46
+ boundaries). Specialists carry the 7-section spine because their
47
+ narrower scope justifies — and benefits from — explicit Critical
48
+ Rules and Workflows blocks (pattern adopted from
49
+ `alirezarezvani/claude-skills`).
50
+
51
+ ## § 3 — Required sections per tier
52
+
53
+ ### Core (5 sections, ≤ 120 lines)
54
+
55
+ 1. **Focus** — one paragraph, the lens.
56
+ 2. **Mindset** — bullets, default assumptions and skepticism.
57
+ 3. **Unique Questions** — ≥ 3 questions no other persona asks verbatim.
58
+ 4. **Output Expectations** — how findings are phrased.
59
+ 5. **Anti-Patterns** — what this persona must refuse to do.
60
+
61
+ ### Specialist (7 sections, ≤ 100 lines)
62
+
63
+ 1. **Focus**
64
+ 2. **Mindset**
65
+ 3. **Unique Questions** — ≥ 3, same heuristic
66
+ 4. **Output Expectations**
67
+ 5. **Anti-Patterns**
68
+ 6. **Critical Rules** — non-negotiable invariants this lens enforces
69
+ (e.g. "every new branch needs a failing test before the fix").
70
+ Bulleted, declarative, ≤ 8 items.
71
+ 7. **Workflows** — concrete review / inspection steps the persona
72
+ runs against the skill's input. Numbered, deterministic, ≤ 6 steps.
73
+
74
+ `Composes well with` is permitted as an additional section in either
75
+ tier (kept for v1 personas that ship it; not required, not budget-counted
76
+ beyond the global line cap).
77
+
78
+ ## § 4 — Size budgets
79
+
80
+ | Tier | Section count | Line cap | Rationale |
81
+ |---|---|---|---|
82
+ | `core` | 5 | ≤ 120 | always-loaded, stay lean |
83
+ | `specialist` | 7 | ≤ 100 | opt-in, denser per section |
84
+
85
+ The line cap is enforced by `lint-skills` against the full file
86
+ including frontmatter and trailing blank line.
87
+
88
+ ## § 5 — Schema enforcement
89
+
90
+ The linter (A2 work) enforces:
91
+
92
+ - frontmatter shape (table in § 1)
93
+ - tier enum
94
+ - required sections per tier (§ 3)
95
+ - size budget per tier (§ 4)
96
+ - ≥ 3 bullets in `Unique Questions`
97
+ - `id` matches filename stem
98
+ - description ≤ 160 chars
99
+
100
+ Specialist authors must use the template at
101
+ `.agent-src.uncompressed/personas/_template-specialist/persona.md`.
102
+ Core authors continue to use
103
+ `.agent-src.uncompressed/templates/persona.md` (unchanged).
104
+
105
+ ## § 6 — Persona inventory (v1 snapshot)
106
+
107
+ | ID | Tier | Mode | Status |
108
+ |---|---|---|---|
109
+ | `developer` | core | developer | shipped |
110
+ | `senior-engineer` | core | reviewer | shipped |
111
+ | `product-owner` | core | product-owner | shipped |
112
+ | `stakeholder` | core | planner | shipped |
113
+ | `critical-challenger` | core | reviewer | shipped |
114
+ | `ai-agent` | core | developer | shipped |
115
+ | `qa` | specialist | tester | shipped (existing 6-section shape; A-track migration to 7-section spine planned alongside A3 batch) |
116
+
117
+ A3 adds four specialists drafted natively against the 7-section
118
+ spine: `backend-architect` · `eloquent-tamer` · `security-engineer`
119
+ · `frontend-engineer`.
120
+
121
+ ## § 7 — Versioning
122
+
123
+ Section rename / add / remove → ADR + linter update + persona migrations
124
+ in the same PR. Tier rename or new tier is breaking and requires a
125
+ major version bump in the package release notes. Size-cap tightening
126
+ is breaking when it forces existing personas to lose content; size-cap
127
+ loosening is non-breaking.
128
+
129
+ ## See also
130
+
131
+ - [`skill-domains`](skill-domains.md) — sister taxonomy for skills
132
+ - [`role-contracts`](../guidelines/agent-infra/role-contracts.md) — workflow-mode axis personas compose with
133
+ - `.agent-src.uncompressed/personas/README.md` — authoring entry point + Core-6 cast
134
+ - `.agent-src.uncompressed/personas/_template-specialist/persona.md` — specialist starter
135
+ - `.agent-src.uncompressed/templates/persona.md` — core starter (v1, unchanged)
136
+ - `road-to-better-skills-and-profiles.md` — Block A (schema lock + extension)
@@ -0,0 +1,143 @@
1
+ ---
2
+ stability: beta
3
+ ---
4
+
5
+ # Skill Domains — 6-domain taxonomy
6
+
7
+ > **Status:** active · **Stability:** beta · **Owner:** road-to-better-skills-and-profiles Block B
8
+ > · **Linter:** `scripts/skill_linter.py` enforces the `domain:` field against this allow-list
9
+ > · **Schema:** `scripts/schemas/skill.schema.json` § `domain`
10
+
11
+ Locks the canonical 6-domain taxonomy that classifies every skill in
12
+ `.agent-src.uncompressed/skills/`. Each skill MUST declare exactly one
13
+ `domain:` value from the allow-list below in its `SKILL.md` frontmatter.
14
+
15
+ ## § 1 — Allow-list
16
+
17
+ ```
18
+ engineering · product · quality · devops · process · discovery
19
+ ```
20
+
21
+ Unknown values fail `lint-skills`. Missing `domain:` fails `lint-skills`.
22
+ No multi-domain assignment — pick the dominant axis.
23
+
24
+ ## § 2 — Domain definitions
25
+
26
+ ### `engineering`
27
+
28
+ Application and framework code authoring — controllers, models,
29
+ services, jobs, validation, queues, mail, broadcasting, ORMs, and
30
+ language-level idioms (PHP, async patterns, error handling). The
31
+ "writing the app" axis. Where the agent ships features into the
32
+ production codebase.
33
+
34
+ **Examples:** `eloquent` · `laravel-validation` · `php-coder`
35
+
36
+ ### `product`
37
+
38
+ Discovery, refinement, and ticket / prompt shaping before code is
39
+ written. Turns a fuzzy ask into a refined backlog item, an estimated
40
+ unit of work, or a model-ready prompt. The "what should we build"
41
+ axis — upstream of engineering.
42
+
43
+ **Examples:** `refine-ticket` · `estimate-ticket` · `refine-prompt`
44
+
45
+ ### `quality`
46
+
47
+ Test authoring, review, and verification gates. Pest, Playwright,
48
+ the judge family, code review, threat modelling, security audits,
49
+ testing anti-patterns. The "is it correct, safe, and reviewable"
50
+ axis — runs alongside or after engineering.
51
+
52
+ **Examples:** `pest-testing` · `judge-bug-hunter` · `review-routing`
53
+
54
+ ### `devops`
55
+
56
+ Infrastructure, deployment, runtime, and observability. AWS, Docker,
57
+ Terraform, Terragrunt, CI pipelines, Traefik, Grafana, secrets,
58
+ DevContainers, package publishing. The "how it runs in production"
59
+ axis.
60
+
61
+ **Examples:** `terraform` · `github-ci` · `docker`
62
+
63
+ ### `process`
64
+
65
+ Workflow, orchestration, and meta-tooling. Git workflow, slash-command
66
+ routing, subagent orchestration, agent docs, skill / rule / command
67
+ authoring, learnings capture, branch finishing, PR mechanics. The
68
+ "how the agent works the codebase" axis.
69
+
70
+ **Examples:** `git-workflow` · `command-routing` · `subagent-orchestration`
71
+
72
+ ### `discovery`
73
+
74
+ Audit, diagnostic, and investigative analysis. Bug hunting, blast
75
+ radius mapping, data flow tracing, performance and security audits,
76
+ framework-specific project analysis, hypothesis-driven debugging.
77
+ The "understand what's there before changing it" axis.
78
+
79
+ **Examples:** `bug-analyzer` · `blast-radius-analyzer` · `project-analysis-laravel`
80
+
81
+ ## § 3 — Boundary heuristics (when in doubt)
82
+
83
+ - **engineering vs quality** — does the skill **write production code**
84
+ (engineering) or **assert / review** production code (quality)?
85
+ - **engineering vs devops** — does the artifact run **inside the app**
86
+ (engineering) or **around the app** (devops)?
87
+ - **product vs process** — does the skill produce a **work item**
88
+ (product) or **drive the workflow** that delivers work items
89
+ (process)?
90
+ - **discovery vs quality** — discovery **reads to understand**;
91
+ quality **reads to gate / approve**. A judge skill is `quality`; a
92
+ blast-radius skill is `discovery`.
93
+ - **discovery vs engineering** — if the skill ends in a production
94
+ edit, it's `engineering`; if it ends in a written analysis or
95
+ finding, it's `discovery`.
96
+
97
+ Tiebreaker: pick the axis that matches the skill's **primary output
98
+ artifact**, not its auxiliary side-effects.
99
+
100
+ ## § 4 — Skill assignment by domain
101
+
102
+ Snapshot from B3 back-fill (regenerate via `python3 scripts/_emit_domain_table.py`).
103
+ Source-of-truth for the assignment is each skill's `domain:` frontmatter —
104
+ this table is a derived view, kept readable for reviewers.
105
+
106
+ ### engineering (36)
107
+
108
+ `api-design`, `api-endpoint`, `artisan-commands`, `async-python-patterns`, `blade-ui`, `code-refactoring`, `composer-packages`, `database`, `dependency-upgrade`, `dto-creator`, `eloquent`, `error-handling-patterns`, `fe-design`, `flux`, `jobs-events`, `laravel`, `laravel-horizon`, `laravel-mail`, `laravel-middleware`, `laravel-notifications`, `laravel-pennant`, `laravel-pulse`, `laravel-reverb`, `laravel-scheduling`, `laravel-validation`, `livewire`, `migration-creator`, `multi-tenancy`, `openapi`, `performance`, `php-coder`, `php-debugging`, `php-service`, `react-shadcn-ui`, `sql-writing`, `websocket`
109
+
110
+ ### product (12)
111
+
112
+ `dcf-modeling`, `estimate-ticket`, `feature-planning`, `funnel-analysis`, `okr-tree-modeling`, `prompt-engineering-patterns`, `prompt-optimizer`, `refine-prompt`, `refine-ticket`, `rice-prioritization`, `technical-specification`, `unit-economics-modeling`
113
+
114
+ ### quality (25)
115
+
116
+ `adversarial-review`, `api-testing`, `authz-review`, `code-review`, `defense-in-depth`, `design-review`, `judge-bug-hunter`, `judge-code-quality`, `judge-security-auditor`, `judge-test-coverage`, `mobile-e2e-strategy`, `pest-testing`, `playwright-testing`, `quality-tools`, `readme-reviewer`, `review-routing`, `security`, `security-audit`, `skill-reviewer`, `test-driven-development`, `test-performance`, `testing-anti-patterns`, `threat-modeling`, `validate-feature-fit`, `verify-completion-evidence`
117
+
118
+ ### devops (13)
119
+
120
+ `aws-infrastructure`, `dashboard-design`, `devcontainer`, `docker`, `github-ci`, `grafana`, `logging-monitoring`, `react-native-setup`, `secrets-management`, `sentry-integration`, `terraform`, `terragrunt`, `traefik`
121
+
122
+ ### process (48)
123
+
124
+ `adr-create`, `agent-docs-writing`, `agents-md-thin-root`, `ai-council`, `check-refs`, `command-routing`, `command-writing`, `context-authoring`, `context-document`, `conventional-commits-writing`, `copilot-agents-optimization`, `copilot-config`, `description-assist`, `developer-like-execution`, `file-editor`, `finishing-a-development-branch`, `git-workflow`, `guideline-writing`, `jira-integration`, `learning-to-rule-or-skill`, `lint-skills`, `markitdown`, `mcp`, `mcp-builder`, `md-language-check`, `merge-conflicts`, `module-management`, `override-management`, `persona-writing`, `project-docs`, `readme-writing`, `readme-writing-package`, `receiving-code-review`, `repomix-packer`, `requesting-code-review`, `roadmap-management`, `roadmap-writing`, `rtk-output-filtering`, `rule-writing`, `script-writing`, `sequential-thinking`, `skill-improvement-pipeline`, `skill-management`, `skill-writing`, `subagent-orchestration`, `token-optimizer`, `upstream-contribute`, `using-git-worktrees`
125
+
126
+ ### discovery (19)
127
+
128
+ `analysis-autonomous-mode`, `analysis-skill-router`, `blast-radius-analyzer`, `bug-analyzer`, `data-flow-mapper`, `deep-reading-analyst`, `existing-ui-audit`, `performance-analysis`, `project-analysis-core`, `project-analysis-hypothesis-driven`, `project-analysis-laravel`, `project-analysis-nextjs`, `project-analysis-node-express`, `project-analysis-react`, `project-analysis-symfony`, `project-analysis-zend-laminas`, `project-analyzer`, `systematic-debugging`, `universal-project-analysis`
129
+
130
+ **Total: 153 skills.**
131
+
132
+ ## § 5 — Versioning
133
+
134
+ Domain rename or new-domain proposal → ADR + lint-skills allow-list
135
+ update + back-fill of affected skills in the same PR. Domain
136
+ deletion is breaking and requires a major version bump in the package
137
+ release notes.
138
+
139
+ ## See also
140
+
141
+ - [`skill-quality`](../../.agent-src.uncompressed/rules/skill-quality.md) — frontmatter contract for skills
142
+ - [`rule-classification`](rule-classification.md) — sister taxonomy for rules (kernel vs auto)
143
+ - `road-to-better-skills-and-profiles.md` — Block B (taxonomy lock + back-fill + folder reorg)
@@ -0,0 +1,120 @@
1
+ ---
2
+ adr: 005
3
+ status: accepted
4
+ date: 2026-05-09
5
+ decision: subagent-worktrees-no-auto-merge
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: road-to-better-skills-and-profiles · A7
9
+ ---
10
+
11
+ # ADR-005 — `do-in-worktrees` Mode: No Auto-Merge, Ranked Candidates
12
+
13
+ ## Status
14
+
15
+ **Accepted** · 2026-05-09.
16
+
17
+ ## Context
18
+
19
+ `road-to-better-skills-and-profiles` Block A introduces formal personas
20
+ and specialist review lenses. Step A7 derives from council iter-1
21
+ verdict **CC-OQ1 (a)** — adopt the AgentHub pattern from
22
+ `claude-skills` (per-candidate git-worktree isolation) into the
23
+ existing `subagent-orchestration` skill **without** weakening the
24
+ [`non-destructive-by-default`](../../.agent-src.uncompressed/rules/non-destructive-by-default.md)
25
+ Hard Floor.
26
+
27
+ The AgentHub pattern in its native form is appealing: spawn N
28
+ implementer subagents into N worktrees, let a judge rank, **auto-merge
29
+ the winner**. The auto-merge step is where the Hard Floor objects:
30
+
31
+ - A merge into a tracked branch is a destructive operation in the
32
+ agent-authority sense — it rewrites the working copy on a branch
33
+ that the user will later push.
34
+ - "Standing autonomy" never lifts the Hard Floor. CC-OQ1 (a) is the
35
+ only variant that survives the floor.
36
+
37
+ Mode 7 (`do-in-worktrees`) already covered the **chained handoff**
38
+ pattern (cross-wing skill chain, each step in its own worktree).
39
+ ADR-005 extends mode 7 with a **competitive variant** for parallel
40
+ candidate isolation, with three guardrails that make the pattern
41
+ Hard-Floor-safe.
42
+
43
+ ## Decision
44
+
45
+ Augment `subagent-orchestration` mode 7 with the **competitive
46
+ variant** under three Hard-Floor-derived rules:
47
+
48
+ 1. **No auto-merge.** The orchestrator never merges a candidate
49
+ branch into the integration branch. The user invokes the merge
50
+ explicitly (e.g. `/finishing-a-development-branch`), or the
51
+ orchestrator hands back with a numbered-options block per
52
+ [`user-interaction`](../../.agent-src.uncompressed/rules/user-interaction.md).
53
+ 2. **Ranked presentation.** Judge ranks candidates 1..N with a
54
+ one-line justification per rank. The judge does **not** apply
55
+ anything; ranking is the only output.
56
+ 3. **Loser worktrees stay.** The orchestrator does not delete
57
+ losing worktrees automatically. Cleanup happens via
58
+ [`finishing-a-development-branch`](../../.agent-src.uncompressed/skills/finishing-a-development-branch/SKILL.md)
59
+ on user request, after harvesting any salvageable partial idea.
60
+
61
+ Mode 7's chained-handoff variant is unchanged. The two variants
62
+ share the worktree-isolation primitive but differ in topology
63
+ (sequential vs parallel) and selection (linear chain vs ranked).
64
+
65
+ ## Consequences
66
+
67
+ ### Accepted
68
+
69
+ - The Hard Floor stands. No new override surface; no "auto-merge
70
+ under standing autonomy" branch.
71
+ - AgentHub's exploratory benefit is preserved — N candidates run in
72
+ isolation, judge picks a winner, user can compare diffs.
73
+ - `using-git-worktrees` remains the mechanics layer; mode 7 is the
74
+ dispatch layer. No duplication.
75
+
76
+ ### Trade-offs
77
+
78
+ - **Higher final-step cost.** User-driven merge adds one round-trip
79
+ per `do-competitively`-in-worktrees run vs the AgentHub auto-merge
80
+ variant. This is the cost of preserving the Hard Floor.
81
+ - **Disk usage.** Loser worktrees persist until the user cleans up.
82
+ The `finishing-a-development-branch` skill carries an explicit
83
+ worktree-prune step to bound this.
84
+
85
+ ## Alternatives considered
86
+
87
+ - **Variant (b) — auto-merge winner under standing autonomy flag.**
88
+ Rejected. The Hard Floor is non-negotiable and the cost of a
89
+ user round-trip is small compared to the cost of merging the
90
+ wrong candidate. Standing autonomy narrows other rules; it does
91
+ not lift the Hard Floor (per `non-destructive-by-default` § Hard
92
+ Floor catalog).
93
+ - **Variant (c) — keep AgentHub as a separate skill, do not touch
94
+ mode 7.** Rejected. The skill would duplicate the worktree
95
+ primitives in `using-git-worktrees` and the dispatch logic in
96
+ `subagent-orchestration`. Mode 7 already exists; extending it is
97
+ cheaper than spawning a parallel skill. Council CC-OQ1 (a)
98
+ agreed: *"adopts AgentHub pattern from claude-skills, respecting
99
+ Hard Floor"*.
100
+
101
+ ## Re-evaluation trigger
102
+
103
+ Revisit this ADR when:
104
+
105
+ - A surface-level user-research signal indicates the manual-merge
106
+ round-trip is the bottleneck (≥3 distinct user reports), AND
107
+ - A reviewable proposal exists for narrowing the Hard Floor
108
+ (additional gates, audit trail, etc.) that does not weaken the
109
+ prod-data and prod-deploy floors.
110
+
111
+ Both conditions must hold. Either alone is insufficient.
112
+
113
+ ## References
114
+
115
+ - `agents/roadmaps/road-to-better-skills-and-profiles.md` § A7
116
+ (council iter-1 CC-OQ1 verdict (a))
117
+ - `.agent-src.uncompressed/skills/subagent-orchestration/SKILL.md` § Mode 7
118
+ - `.agent-src.uncompressed/skills/using-git-worktrees/SKILL.md` (mechanics layer)
119
+ - `.agent-src.uncompressed/rules/non-destructive-by-default.md` § Hard Floor catalog
120
+ - `.agent-src.uncompressed/skills/finishing-a-development-branch/SKILL.md` (cleanup path)
@@ -0,0 +1,114 @@
1
+ ---
2
+ adr: 006
3
+ status: accepted
4
+ date: 2026-05-09
5
+ decision: skill-tools-python-pilot-pass
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: road-to-better-skills-and-profiles · Block D (D1–D5)
9
+ ---
10
+
11
+ # ADR-006 — Skill-Tools Python Pilot: Outcome and Decision
12
+
13
+ ## Status
14
+
15
+ **Accepted** · 2026-05-09 · pilot **PASSED** · tools kept under
16
+ `scripts/skill_tools/`.
17
+
18
+ ## Context
19
+
20
+ `road-to-better-skills-and-profiles` **Block D** introduced four
21
+ Python tools for skill / persona corpus maintenance:
22
+
23
+ | ID | Tool | Purpose |
24
+ |---|---|---|
25
+ | D1 | `lint_skill_tools.py` | Pilot-invariant gate (stdlib-only, ≤ 200 LOC, `--json`/`--help`, `_SAMPLE`) |
26
+ | D2 | `score_skill_relevance.py` | Rank skills for a task by keyword overlap + persona match |
27
+ | D3 | `audit_persona_coverage.py` | Tier-aware persona-citation matrix (specialist < 3, core < 5 → flag) |
28
+ | D4 | `suggest_skill_for_task.py` | Top-N skill + persona combos with one-line justification (wraps D2 + D3) |
29
+
30
+ The pilot was gated by **iter-1 AI-Council verdict** (members:
31
+ claude-sonnet-4-5 + gpt-4o · 2 rounds · 2026-05-01) <!-- council-ref-allowed: ADR decision trace -->
32
+ ([`block-d-python-tools-pilot-verdict`](../../agents/council-responses/block-d-python-tools-pilot-verdict.md)) <!-- council-ref-allowed: ADR decision trace -->
33
+ under strict invariants: stdlib-only (internal package imports
34
+ allowed), ≤ 200 LOC per tool, machine-readable output (`--json`),
35
+ embedded `_SAMPLE`, blind-labelled eval corpora, and a kill-switch if
36
+ < 2 / 3 functional tools pass.
37
+
38
+ ## Eval Outcome (D5)
39
+
40
+ Corpora at `agents/eval-corpora/block-d/`. Runner:
41
+ `scripts/skill_tools/run_block_d_eval.py`. Report:
42
+ [`agents/eval-corpora/block-d/report.json`](../../agents/eval-corpora/block-d/report.json).
43
+
44
+ | Tool | Target | Result | Verdict |
45
+ |---|---|---|---|
46
+ | **D2** (relevance scorer) | ≥ 85 % top-3 hit on 10 blind tasks | **10 / 10 (100 %)** | ✅ pass |
47
+ | **D3** (persona audit) | ≥ 2 under-cited personas surfaced | **5** (`ai-agent`, `developer`, `eloquent-tamer`, `qa`, `stakeholder`) | ✅ pass |
48
+ | **D4** (skill suggester) | ≥ 3 / 5 top-1 hits on blind corpus | **3 / 5 (60 %)** | ✅ pass (at floor) |
49
+ | **Pilot** | ≥ 2 / 3 functional tools pass | **3 / 3** | ✅ **PASS** |
50
+
51
+ D4 misses are honest: B01 ranks `livewire` over the more specific
52
+ `livewire-architect` (close cousins; both legitimate top-1 picks);
53
+ B03 (`description-assist` for "review trigger quality") is partial
54
+ overlap. Both surface as `confirm-with-reviewer`-grade suggestions,
55
+ which matches the tool's design contract.
56
+
57
+ ## Decision
58
+
59
+ 1. **Keep** the four tools under `scripts/skill_tools/` and the meta
60
+ linter at `scripts/lint_skill_tools.py`.
61
+ 2. **Keep** `lint-skill-tools` in the CI pipeline (`task ci` →
62
+ `taskfiles/ci-fast.yml`).
63
+ 3. **Keep** the eval corpora and the runner at
64
+ `scripts/skill_tools/run_block_d_eval.py` for regression.
65
+ 4. **Defer** the v2 refinements (anthropic round-2):
66
+ - `--ratio-mode` flag for D3 (absolute thresholds proved adequate
67
+ on first run; no false alarms on real corpus).
68
+ - Token-frequency reweighting for D2 (100 % top-3 hit rate leaves
69
+ no signal to reweight against).
70
+ - Council `do-competitively` mode for skill-suggester (out of
71
+ scope; orthogonal to the pilot).
72
+ 5. **No** promotion to a `task` subcommand or kernel-rule citation.
73
+ Tools stay advisory; no agent rule references them yet.
74
+
75
+ ## Consequences
76
+
77
+ **Positive:**
78
+ - 4 advisory tools available for future skill / persona corpus work
79
+ without third-party dependencies.
80
+ - Tier-aware persona thresholds are now mechanically enforced
81
+ (advisory, not gated).
82
+ - Eval corpora become the regression baseline — any future heuristic
83
+ edit must keep ≥ 2 / 3 tools passing.
84
+
85
+ **Neutral:**
86
+ - Tools are advisory only; no rule cites them, so they cannot
87
+ silently drift into a Hard-Floor or auto-execution role.
88
+ - `task ci` gains one cheap meta-lint step (~ 50 ms).
89
+
90
+ **Negative:**
91
+ - Four new files to maintain. Mitigation: pilot-invariants linter
92
+ gates structural drift; tests gate semantic drift.
93
+ - D4's 3 / 5 floor result is not a comfortable margin. If a future
94
+ edit drops it below 3 / 5, kill-switch fires per the council
95
+ verdict and the tool is removed without further debate.
96
+
97
+ ## Reversibility
98
+
99
+ **Trigger:** any single `run_block_d_eval.py` execution that returns
100
+ < 2 / 3 tools passing on `main` for two consecutive commits.
101
+ **Action:** delete `scripts/skill_tools/`,
102
+ `scripts/lint_skill_tools.py`, `tests/test_*_skill*.py`, the corpora
103
+ dir, and the `lint-skill-tools` task entry. Mark this ADR
104
+ `superseded_by`. ~ 30 min mechanical revert.
105
+
106
+ ## References
107
+
108
+ - Roadmap: [`road-to-better-skills-and-profiles`](../../agents/roadmaps/archive/road-to-better-skills-and-profiles.md) Block D.
109
+ - Council: [`block-d-python-tools-pilot-verdict`](../../agents/council-responses/block-d-python-tools-pilot-verdict.md). <!-- council-ref-allowed: ADR decision trace -->
110
+
111
+ - Tools: [`scripts/skill_tools/`](../../scripts/skill_tools/).
112
+ - Linter: [`scripts/lint_skill_tools.py`](../../scripts/lint_skill_tools.py).
113
+ - Corpora + report: [`agents/eval-corpora/block-d/`](../../agents/eval-corpora/block-d/).
114
+ - Tests: `tests/test_lint_skill_tools.py`, `tests/test_score_skill_relevance.py`, `tests/test_audit_persona_coverage.py`, `tests/test_suggest_skill_for_task.py`.
@@ -7,6 +7,9 @@ _Auto-generated by `scripts/adr/regenerate_index.py`. Do not edit._
7
7
  | [ADR-001](ADR-001-kernel-swap-deferred.md) | Kernel Swap Deferred | accepted | 2026-05-06 | — |
8
8
  | [ADR-002](ADR-002-kernel-bucket-overrides.md) | Kernel Bucket Overrides | — | — | — |
9
9
  | [ADR-003](ADR-003-flat-cluster-subs-and-colon-syntax.md) | Flat Cluster Subs And Colon Syntax | — | — | — |
10
+ | [ADR-004](ADR-004-rule-governance-pruning.md) | Rule Governance Pruning | accepted | 2026-05-08 | — |
11
+ | [ADR-005](ADR-005-subagent-worktrees.md) | Subagent Worktrees No Auto Merge | accepted | 2026-05-09 | — |
12
+ | [ADR-006](ADR-006-skill-tools-python-pilot.md) | Skill Tools Python Pilot Pass | accepted | 2026-05-09 | — |
10
13
 
11
14
  ## Unnumbered (legacy)
12
15
 
@@ -0,0 +1,115 @@
1
+ # Personas
2
+
3
+ Personas are **review lenses** the host agent adopts when running a
4
+ skill — not sub-agents, not execution modes. Each persona shapes
5
+ *what* the agent looks for in a diff, plan, or artifact; the host
6
+ identity, tools, and workflow stay the same.
7
+
8
+ This page catalogs the 11 personas shipped with `event4u/agent-config`
9
+ and explains how `personas:` (lens axis) interacts with `/mode`
10
+ (role-mode axis).
11
+
12
+ ## Catalog
13
+
14
+ | ID | Role | Tier | Lens summary |
15
+ |---|---|---|---|
16
+ | `developer` | Developer | core | Pragmatic implementer voice — what's the smallest correct change? |
17
+ | `senior-engineer` | Senior Engineer | core | Long-horizon impact — what does this look like in 6 months? |
18
+ | `product-owner` | Product Owner | core | Outcome over output — does this move the user metric? |
19
+ | `stakeholder` | Stakeholder | core | Risk and politics — who owns the rollback if this fails? |
20
+ | `critical-challenger` | Critical Challenger | core | Devil's-advocate voice — what assumption is load-bearing here? |
21
+ | `ai-agent` | AI Agent | core | Tool-economy voice — token cost, prompt clarity, automation seam. |
22
+ | `qa` | QA | specialist | Test coverage and regression gates. |
23
+ | `backend-architect` | Backend Architect | specialist | Service-layer boundaries, transaction scope, contract changes. |
24
+ | `eloquent-tamer` | Eloquent Tamer | specialist | N+1, query shape, ORM idioms that melt the database. |
25
+ | `security-engineer` | Security Engineer | specialist | OWASP-shaped failure modes, secret leakage, trust boundaries. |
26
+ | `frontend-engineer` | Frontend Engineer | specialist | Component lifecycle, reactive state, hydration boundaries. |
27
+
28
+ Tier rules:
29
+
30
+ - **Core (6)** — always-loaded cast. 5 sections (Focus · Mindset · Unique Questions · Output Expectations · Anti-Patterns), ≤ 120 lines.
31
+ - **Specialist (5)** — opt-in lenses. 7 sections (Core-5 + Critical Rules + Workflows), ≤ 100 lines.
32
+
33
+ Schema contract: [`docs/contracts/persona-schema.md`](contracts/persona-schema.md).
34
+
35
+ ## When to invoke a persona
36
+
37
+ - **A skill cites it.** Skills declare `personas:` in frontmatter; the
38
+ agent adopts the listed personas while running the skill. No user
39
+ action needed. Example: `judge-security-auditor` cites
40
+ `security-engineer` — invoking the skill applies the lens.
41
+ - **You want a second pass on existing work.** Pick the specialist
42
+ whose checklist matches the diff: `eloquent-tamer` for ORM heavy
43
+ changes, `frontend-engineer` for component changes,
44
+ `backend-architect` for service-seam changes.
45
+ - **Adversarial review.** `critical-challenger` for the devil's-advocate
46
+ voice; `security-engineer` for abuse-case framing.
47
+
48
+ Invocation example (when supported by the host tool):
49
+
50
+ ```text
51
+ --personas=backend-architect,security-engineer
52
+ ```
53
+
54
+ The host agent reads the persona's `Critical Rules` and `Workflows`
55
+ sections (specialist tier) or `Mindset` and `Unique Questions` (core
56
+ tier) and merges them into its review pass.
57
+
58
+ ## `personas:` vs `/mode` — two different axes
59
+
60
+ | Axis | What it controls | Example |
61
+ |---|---|---|
62
+ | `/mode` (role-mode) | Which **contract** the agent operates under for a turn — what outputs are mandatory, what work is refused | `/mode reviewer` refuses to write production code |
63
+ | `personas:` (lens) | Which **review checklists** the agent overlays on a skill's procedure | `personas: [security-engineer]` adds OWASP-shaped checks to whatever skill is running |
64
+
65
+ The two compose. `/mode reviewer` + `personas: [security-engineer,
66
+ backend-architect]` = a review-only turn that applies both the
67
+ security-abuse-case lens and the service-seam lens on top of the
68
+ review contract.
69
+
70
+ Personas are **not** a replacement for `/mode`. A persona cannot
71
+ refuse work or change output contracts; that is `/mode`'s job.
72
+
73
+ ## Skill citations
74
+
75
+ Specialist personas need at least one skill citation to earn their
76
+ slot. Current cite map:
77
+
78
+ | Persona | Cited by |
79
+ |---|---|
80
+ | `qa` | `judge-test-coverage` |
81
+ | `critical-challenger` | `adversarial-review`, `requesting-code-review`, `receiving-code-review` |
82
+ | `developer` · `senior-engineer` · `product-owner` · `ai-agent` | `refine-ticket`, `refine-prompt`, `estimate-ticket` |
83
+ | `backend-architect` | `authz-review`, `api-design`, `blast-radius-analyzer` |
84
+ | `eloquent-tamer` | `eloquent`, `database` |
85
+ | `security-engineer` | `judge-security-auditor`, `threat-modeling`, `authz-review` |
86
+ | `frontend-engineer` | `existing-ui-audit`, `fe-design` |
87
+
88
+ Add a citation by appending `personas: [<id>]` to the skill's
89
+ frontmatter — never overwrite an existing list, append.
90
+
91
+ ## Override pattern
92
+
93
+ Consumers can override any package-shipped persona via the standard
94
+ override mechanism:
95
+
96
+ - **Frontmatter override** — change `tier`, `mode`, `description`
97
+ while keeping the package body. Frontmatter wins.
98
+ - **Body override** — full replace. Drop a same-named file under
99
+ `agents/personas/<id>.md`; the package version is shadowed.
100
+
101
+ See [`override-management`](../.agent-src/skills/override-management/SKILL.md)
102
+ for the mechanics.
103
+
104
+ ## Anti-patterns
105
+
106
+ - **Personas as agents.** Personas are lenses, not sub-agents. They do
107
+ not spawn processes or run tools independently.
108
+ - **Personas as modes.** They do not change the host's contract or
109
+ refuse work. Use `/mode` for that.
110
+ - **Specialist sprawl.** Cap is "≤ 4 specialists per plate" by the
111
+ council A-OQ2 verdict. New specialists need ≥ 1 skill citation
112
+ before merging.
113
+ - **Core-tier mutation.** Core personas are versioned (`version` in
114
+ frontmatter); breaking changes need a new ID, not an in-place
115
+ rewrite.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event4u/agent-config",
3
- "version": "1.33.0",
3
+ "version": "1.34.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,