@event4u/agent-config 9.2.0 → 9.4.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 (93) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +111 -0
  3. package/CONTRIBUTING.md +14 -0
  4. package/README.md +12 -4
  5. package/dist/agent-src/commands/contribution-precheck.md +100 -0
  6. package/dist/agent-src/commands/fix/route.md +49 -0
  7. package/dist/agent-src/commands/fix.md +4 -2
  8. package/dist/agent-src/commands/tdd/green.md +32 -0
  9. package/dist/agent-src/commands/tdd/red.md +33 -0
  10. package/dist/agent-src/commands/tdd/refactor.md +31 -0
  11. package/dist/agent-src/commands/tdd.md +50 -0
  12. package/dist/agent-src/commands/team.md +4 -0
  13. package/dist/agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -0
  14. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +81 -2
  15. package/dist/agent-src/contexts/model-recommendations.md +6 -0
  16. package/dist/agent-src/rules/architecture.md +7 -0
  17. package/dist/agent-src/rules/token-efficiency.md +7 -0
  18. package/dist/agent-src/skills/adversarial-review/SKILL.md +5 -0
  19. package/dist/agent-src/skills/ai-council/SKILL.md +3 -0
  20. package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -0
  21. package/dist/agent-src/skills/decision-record/SKILL.md +35 -1
  22. package/dist/agent-src/skills/decision-record/evals/triggers.json +82 -12
  23. package/dist/agent-src/skills/decision-record/references/weighted-matrix.md +119 -0
  24. package/dist/agent-src/skills/evaluate-llm-feature/SKILL.md +142 -0
  25. package/dist/agent-src/skills/fe-design/SKILL.md +1 -0
  26. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  27. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -0
  28. package/dist/agent-src/skills/learning-tutor/SKILL.md +215 -0
  29. package/dist/agent-src/skills/persona-improvement/SKILL.md +81 -0
  30. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +10 -0
  31. package/dist/agent-src/skills/rice-prioritization/SKILL.md +1 -0
  32. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -1
  33. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +14 -24
  34. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  35. package/dist/discovery/deprecation-report.md +1 -1
  36. package/dist/discovery/discovery-manifest.json +253 -30
  37. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  38. package/dist/discovery/discovery-manifest.summary.md +4 -4
  39. package/dist/discovery/orphan-report.md +1 -1
  40. package/dist/discovery/packs.json +19 -10
  41. package/dist/discovery/trust-report.md +3 -3
  42. package/dist/discovery/workspaces.json +15 -6
  43. package/dist/mcp/registry-manifest.json +3 -3
  44. package/docs/CLAIMS.md +16 -2
  45. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +84 -0
  46. package/docs/anti-reskin-gate.md +60 -0
  47. package/docs/architecture.md +3 -3
  48. package/docs/catalog.md +303 -278
  49. package/docs/command-flows.md +10 -3
  50. package/docs/comparison.yaml +10 -0
  51. package/docs/contracts/adoption-signal-floor.md +17 -0
  52. package/docs/contracts/ai-council-config.md +25 -0
  53. package/docs/contracts/command-clusters.md +2 -1
  54. package/docs/contracts/mcp-tool-inventory.md +25 -22
  55. package/docs/contracts/tier-3-contrib-plugin.md +12 -4
  56. package/docs/decisions/ADR-122-adversarial-verification-council.md +1 -1
  57. package/docs/development.md +10 -1
  58. package/docs/featured-skills.md +2 -2
  59. package/docs/getting-started-by-role.md +1 -1
  60. package/docs/getting-started.md +1 -1
  61. package/docs/governance-advantage.md +1 -1
  62. package/docs/guidelines/component-oriented-and-oop-development.md +181 -0
  63. package/docs/proof.md +10 -6
  64. package/docs/self-review-gate.md +14 -0
  65. package/docs/setup/per-ide/antigravity.md +8 -3
  66. package/docs/us-vs-the-category.md +38 -0
  67. package/docs/wedge/production-validator/README.md +24 -0
  68. package/docs/wedge/production-validator/first-run-check.sh +42 -0
  69. package/package.json +3 -2
  70. package/src/scripts/_lib/catalog_score.ts +64 -0
  71. package/src/scripts/_lib/shingle_similarity.ts +146 -0
  72. package/src/scripts/ai_council/clients.ts +50 -1
  73. package/src/scripts/ai_council/config.ts +28 -3
  74. package/src/scripts/ai_council/low_impact.ts +16 -0
  75. package/src/scripts/ai_council/necessity.ts +11 -0
  76. package/src/scripts/ai_council/orchestrator.ts +78 -26
  77. package/src/scripts/ai_council/pricing.ts +59 -0
  78. package/src/scripts/ai_council/prompts.ts +7 -0
  79. package/src/scripts/ai_council/stance_tally.ts +42 -5
  80. package/src/scripts/build_catalog_index.ts +188 -0
  81. package/src/scripts/council_cli.ts +56 -1
  82. package/src/scripts/generate_index.ts +6 -3
  83. package/src/scripts/hook_manifest.yaml +17 -6
  84. package/src/scripts/install-hooks.sh +32 -17
  85. package/src/scripts/lint_originality.ts +464 -0
  86. package/src/scripts/mcp_server/catalog_tools.ts +114 -0
  87. package/src/scripts/mcp_server/consumer_tool_catalog.json +46 -0
  88. package/src/scripts/pr_url_reminder_hook.ts +177 -0
  89. package/src/scripts/schemas/flow.schema.json +17 -0
  90. package/src/scripts/schemas/skill.schema.json +166 -32
  91. package/src/scripts/self_review_gate.test.ts +48 -0
  92. package/src/scripts/self_review_gate.ts +73 -5
  93. package/src/scripts/validate_flow_teams.ts +127 -0
@@ -1,10 +1,10 @@
1
1
  {
2
- "checksum": "sha256:c2e1ad4673f3bf59c601bfdf51040b155bbcc511f0af3622004ca1917bad10e9",
3
- "generated_at": "2026-07-14T13:40:54Z",
2
+ "checksum": "sha256:16d037e41d10dcc83bb73c58b96e6aa3377ce5feb56a8d23aee0ef58e8a97c5c",
3
+ "generated_at": "2026-07-20T09:32:39Z",
4
4
  "scanner_version": "c24312e116f8",
5
5
  "workspaces": [
6
6
  {
7
- "artefact_count": 186,
7
+ "artefact_count": 188,
8
8
  "default_packs": [
9
9
  "engineering-base",
10
10
  "git"
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "packs": [
29
29
  {
30
- "artefact_count": 107,
30
+ "artefact_count": 109,
31
31
  "artefacts": [
32
32
  "src/domains/engineering-base/mission/upgrade/command.md",
33
33
  "src/rules/active-remediation.md",
@@ -83,6 +83,7 @@
83
83
  "src/skills/developer-like-execution/SKILL.md",
84
84
  "src/skills/docker/SKILL.md",
85
85
  "src/skills/error-handling-patterns/SKILL.md",
86
+ "src/skills/evaluate-llm-feature/SKILL.md",
86
87
  "src/skills/existing-ui-audit/SKILL.md",
87
88
  "src/skills/fe-design/SKILL.md",
88
89
  "src/skills/finishing-a-development-branch/SKILL.md",
@@ -92,6 +93,7 @@
92
93
  "src/skills/github-ci/SKILL.md",
93
94
  "src/skills/grafana/SKILL.md",
94
95
  "src/skills/incident-commander/SKILL.md",
96
+ "src/skills/learning-tutor/SKILL.md",
95
97
  "src/skills/logging-monitoring/SKILL.md",
96
98
  "src/skills/merge-conflicts/SKILL.md",
97
99
  "src/skills/migration-architect/SKILL.md",
@@ -595,7 +597,7 @@
595
597
  ]
596
598
  },
597
599
  {
598
- "artefact_count": 298,
600
+ "artefact_count": 305,
599
601
  "default_packs": [
600
602
  "meta",
601
603
  "memory",
@@ -608,7 +610,7 @@
608
610
  "optional_packs": [],
609
611
  "packs": [
610
612
  {
611
- "artefact_count": 274,
613
+ "artefact_count": 281,
612
614
  "artefacts": [
613
615
  "src/agent-src/templates/agents/proposal.example.md",
614
616
  "src/domains/ai-video/image/analyse/command.md",
@@ -638,6 +640,7 @@
638
640
  "src/domains/engineering-base/fix/pr-comments/command.md",
639
641
  "src/domains/engineering-base/fix/quality/command.md",
640
642
  "src/domains/engineering-base/fix/refs/command.md",
643
+ "src/domains/engineering-base/fix/route/command.md",
641
644
  "src/domains/engineering-base/fix/seeder/command.md",
642
645
  "src/domains/engineering-base/implement-ticket/command.md",
643
646
  "src/domains/engineering-base/judge/command.md",
@@ -655,6 +658,10 @@
655
658
  "src/domains/engineering-base/review/command.md",
656
659
  "src/domains/engineering-base/review/routing/command.md",
657
660
  "src/domains/engineering-base/security-audit-config/command.md",
661
+ "src/domains/engineering-base/tdd/command.md",
662
+ "src/domains/engineering-base/tdd/green/command.md",
663
+ "src/domains/engineering-base/tdd/red/command.md",
664
+ "src/domains/engineering-base/tdd/refactor/command.md",
658
665
  "src/domains/engineering-base/tests/command.md",
659
666
  "src/domains/engineering-base/tests/create/command.md",
660
667
  "src/domains/engineering-base/tests/e2e-heal/command.md",
@@ -694,6 +701,7 @@
694
701
  "src/domains/meta/context/command.md",
695
702
  "src/domains/meta/context/create/command.md",
696
703
  "src/domains/meta/context/refactor/command.md",
704
+ "src/domains/meta/contribution-precheck/command.md",
697
705
  "src/domains/meta/cost/command.md",
698
706
  "src/domains/meta/cost/profile/command.md",
699
707
  "src/domains/meta/explain-run/command.md",
@@ -857,6 +865,7 @@
857
865
  "src/skills/module-management/SKILL.md",
858
866
  "src/skills/override-management/SKILL.md",
859
867
  "src/skills/pdf-tools/SKILL.md",
868
+ "src/skills/persona-improvement/SKILL.md",
860
869
  "src/skills/persona-writing/SKILL.md",
861
870
  "src/skills/project-docs/SKILL.md",
862
871
  "src/skills/prompt-engineering-patterns/SKILL.md",
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "discovery": {
3
- "artefact_count": 566,
3
+ "artefact_count": 575,
4
4
  "scanner_version": "c24312e116f8"
5
5
  },
6
- "generated_at": "2026-07-14",
6
+ "generated_at": "2026-07-20",
7
7
  "package": {
8
8
  "description": "Universal AI Agent OS \u2014 audited skills, governance rules, commands, and templates for AI coding tools (Claude Code, Cursor, Windsurf, Copilot).",
9
9
  "homepage": "https://event4u-app.github.io/agent-config",
10
10
  "name": "@event4u/agent-config",
11
11
  "repository": "https://github.com/event4u-app/agent-config",
12
- "version": "9.2.0"
12
+ "version": "9.4.0"
13
13
  },
14
14
  "registries": [
15
15
  {
package/docs/CLAIMS.md CHANGED
@@ -155,14 +155,14 @@ claims below are `backed`. Remaining entries are listed so the debt is
155
155
  visible, not hidden.
156
156
 
157
157
  ### claim: skill-count
158
- - claim: 275 skills.
158
+ - claim: 278 skills.
159
159
  - kind: quant
160
160
  - evidence: src/scripts/check_artefact_count_messaging.ts#Artefact-count messaging gate
161
161
  - status: backed
162
162
  - last_verified: 2026-07-08
163
163
 
164
164
  ### claim: command-count
165
- - claim: 184 commands.
165
+ - claim: 190 commands.
166
166
  - kind: quant
167
167
  - evidence: src/scripts/check_artefact_count_messaging.ts#Artefact-count messaging gate
168
168
  - status: backed
@@ -210,6 +210,13 @@ visible, not hidden.
210
210
  - status: backed
211
211
  - last_verified: 2026-07-11
212
212
 
213
+ ### claim: positioning-honest-nulls
214
+ - claim: The only agent layer that publishes the runs where it changed nothing. Deliberately falsifiable — if a reader finds a comparable agent layer publishing its own honest-null benchmark runs, this line updates; that is the point.
215
+ - kind: comparative
216
+ - evidence: docs/benchmark.md#honest
217
+ - status: backed
218
+ - last_verified: 2026-07-20
219
+
213
220
  ### claim: persona-identity-placebo-null
214
221
  - claim: On a 12-fixture option-decision corpus (3 arms × 2 providers, blind rubric judge claude-opus-4-8, pre-registered hypotheses), famous-figure identity framing added nothing beyond the underlying method text (method 5.04 vs figure 4.88, Δ=0.17, sign-test p=0.607), and provider diversity moved judged quality ~15× more than persona identity (provider Δ=2.58 vs identity Δ=0.17); the whole persona layer lifted only +0.08 over bare prompts. Honest null — persona panel-mode stays CUT, evidence-closed.
215
222
  - kind: quant
@@ -224,6 +231,13 @@ visible, not hidden.
224
231
  - status: backed
225
232
  - last_verified: 2026-07-12
226
233
 
234
+ ### claim: wedge-hollow-detection
235
+ - claim: On the A3 orchestration eval (deterministic verify, measured token deltas), the production-validator subagent returned the correct verdict on both fixtures — NOT READY with the exact `file:line` citation on a planted hollow implementation, READY with zero spurious findings on the clean control — while consuming ~45k fewer tokens than the inline-host baseline on each task. Scope: two planted fixtures on a Claude Code host, not a broad hit-rate.
236
+ - kind: quant
237
+ - evidence: internal/bench/orchestration/pv-a3-results.md#token_delta_provenance: measured
238
+ - status: backed
239
+ - last_verified: 2026-07-20
240
+
227
241
  ### claim: cross-model-parity-count
228
242
  - claim: The first cross-vendor parity pass (5 orchestration-corpus tasks × 2 vendors × 3 repeats, identical prompts via the council transport, $0.16) measured real per-host finding-count differences — claude-sonnet-4-5 surfaced ~2× the findings of gpt-4o on the multi-file analysis task (median 11 vs 5) while both vendors were identical on the planted hollow-implementation task (2 vs 2) and perfectly silent on the clean-code negative control (0 vs 0, no spurious findings). The per-task `finding_floor` values are calibrated from the cross-host lower envelope and the gate is armed.
229
243
  - kind: quant
@@ -0,0 +1,84 @@
1
+ # Launch story — the anti-thread thread (road-to-adoption-without-narrative-debt, Phase 2)
2
+
3
+ Status: **drafted, not yet posted** — posting to external channels is a
4
+ maintainer decision and out of scope for an autonomous merge. Voice-tune at
5
+ post time. Every number below resolves via `docs/CLAIMS.md`
6
+ (`task check-claims`); the story's hook IS the honesty, including the
7
+ published nulls.
8
+
9
+ ## The one story (canonical body — adapt per channel, never inflate)
10
+
11
+ **Title:** We measured our own AI-agent layer. Here are the runs where it
12
+ changed nothing.
13
+
14
+ **Body:**
15
+
16
+ Most AI-agent tooling grows on headline numbers nobody can re-run. We went the
17
+ other way: every public claim binds to a machine-checked ledger
18
+ (`docs/CLAIMS.md` — CI fails on drift), and the benchmark page keeps the
19
+ honest nulls.
20
+
21
+ What we measured, reproducible on a fresh checkout:
22
+
23
+ - The discipline lift is real but SCOPED: on a weak host the `essential` tier
24
+ transplants scope/downstream discipline at a measured 1.71× corpus cost
25
+ (down from 11.7× for the full load) — and it auto-disables on hosts where
26
+ we measured null. A strong host is a ceiling null; a non-Claude weak host
27
+ FAILED replication and we say so. (Claim: `essential-tier-cost-factor`.)
28
+ - Swapping our advisor personas' identities changed ~nothing (Δ=0.17,
29
+ p=0.607) while the provider choice mattered ~15× more — so persona identity
30
+ is published as a placebo, not shipped as theater. (Claim:
31
+ `persona-identity-placebo-null`.)
32
+ - The 30-second wedge (one read-only subagent, one command) has a scoped
33
+ eval behind its promise: correct verdict on both fixtures, exact
34
+ `file:line` on the planted hollow implementation, zero spurious findings
35
+ on the clean control. (Claim: `wedge-hollow-detection`.)
36
+
37
+ Verify it yourself, fresh checkout:
38
+
39
+ ```bash
40
+ task check-claims # every markered public claim binds to resolvable evidence
41
+ task check-comparison # every comparison-table "our evidence" pointer resolves
42
+ task build-proof-check # the proof page is in sync with its sources
43
+ ```
44
+
45
+ Try the wedge (30 seconds, installs nothing else):
46
+
47
+ ```bash
48
+ mkdir -p .claude/agents
49
+ curl -fsSL https://raw.githubusercontent.com/event4u-app/agent-config/main/docs/wedge/production-validator/production-validator.md \
50
+ -o .claude/agents/production-validator.md
51
+ ```
52
+
53
+ Proof page: https://event4u-app.github.io/agent-config/proof/
54
+
55
+ ## 1. Hacker News (Show HN)
56
+
57
+ - **Title:** Show HN: An AI-agent layer that publishes the runs where it
58
+ changed nothing
59
+ - **Body:** canonical body above, verbatim numbers, lead with the nulls. HN
60
+ will test the falsifiable positioning line — that is the desired
61
+ conversation.
62
+
63
+ ## 2. Reddit (r/ClaudeAI, r/LocalLLaMA)
64
+
65
+ - **Title:** We A/B-tested our own persona prompts. Identity was a placebo
66
+ (p=0.607). Provider choice mattered 15×.
67
+ - **Body:** persona-null section first, then the cost sweep, then the wedge
68
+ one-liner. Link the proof page, not the catalog.
69
+
70
+ ## 3. Dev.to / blog cross-post
71
+
72
+ - **Title:** Adoption without narrative debt: growing an OSS agent layer on
73
+ falsifiable claims only
74
+ - **Body:** canonical body + a short section on the claims-ledger mechanism
75
+ (markered spans, `check-claims`, comparison-honesty table) as the
76
+ engineering story.
77
+
78
+ ## Posting checklist (maintainer, at post time)
79
+
80
+ - [ ] Numbers re-checked against `docs/CLAIMS.md` at post-day HEAD.
81
+ - [ ] No number added that lacks a ledger entry.
82
+ - [ ] Links point at the proof page as primary CTA.
83
+ - [ ] Session for B9 recruited via the same thread if possible
84
+ (`agents/recruit-sessions/_install-friction-runbook.md`).
@@ -0,0 +1,60 @@
1
+ # Anti-reskin gate for your skills repo
2
+
3
+ If you maintain a catalog of AI-agent skills and accept community PRs, your
4
+ failure mode is the **find-replace re-skin**: an existing skill resubmitted
5
+ with "Laravel" → "Symfony", "Vietnam" → "Korea", new name, same substance.
6
+ Keyword-cosine and token-Jaccard checks miss it; manual review does not scale
7
+ past a handful of PRs per month.
8
+
9
+ This package ships the gate that catches it: `lint_originality` — an
10
+ entity-neutralized shingle-overlap linter. Framework / vendor / region proper
11
+ nouns are neutralized before comparing 8-word shingles, so the swap does not
12
+ move the score: a re-skin scores ~100 % overlap while the worst legitimate
13
+ pair in a 496-artifact corpus scores 40 %. Class templates and
14
+ document-frequency boilerplate are subtracted, so shared scaffolding never
15
+ scores. The `--changed` mode is batch-masking-hardened: a batch of
16
+ near-identical submissions cannot classify its own shared shingles as
17
+ boilerplate (regression-locked in `tests/scripts/lint_originality.test.ts`).
18
+
19
+ It runs as a blocking PR gate on this repo (`originality-gate` job in
20
+ [`.github/workflows/skill-lint.yml`](../.github/workflows/skill-lint.yml)).
21
+
22
+ ## Run it on your own catalog — today
23
+
24
+ The tool is not yet a standalone package; it runs from a clone. The corpus
25
+ roots are fixed (`src/skills/*/SKILL.md`), so you stage your skills into one:
26
+
27
+ ```bash
28
+ git clone --depth 1 https://github.com/event4u-app/agent-config
29
+ cd agent-config && npm ci
30
+
31
+ # Stage your catalog into the skills corpus root (one dir per skill):
32
+ for f in /path/to/your-repo/skills/*/SKILL.md; do
33
+ d="src/skills/ext-$(basename "$(dirname "$f")")"
34
+ mkdir -p "$d" && cp "$f" "$d/SKILL.md"
35
+ done
36
+
37
+ # Compare your skills against each other (and this corpus) in one pass:
38
+ ./scripts-run src/scripts/lint_originality --changed src/skills/ext-*/SKILL.md
39
+ ```
40
+
41
+ Exit `1` with an offending pair + overlap % means a re-skin; exit `0` means no
42
+ same-class pair exceeds the 40 % warn floor. Thresholds are env-overridable
43
+ (`ORIGINALITY_FAIL`, `ORIGINALITY_WARN`).
44
+
45
+ ## Want this as a zero-config `npx` tool?
46
+
47
+ We will extract `lint_originality` as a standalone zero-config package
48
+ (`--changed` mode for PR CI, no repo coupling, regression suite included) **if
49
+ there is real demand** — the bet is settled by a measured floor, not opinion:
50
+
51
+ - **Signal:** open an issue on this repo titled `anti-reskin gate: standalone
52
+ request` (or reference `lint_originality` in an issue/PR about your own
53
+ catalog).
54
+ - **Floor:** ≥ 3 distinct external maintainers signal within 90 days of this
55
+ page landing on `main` → we ship the extraction.
56
+ - **Kill criterion:** floor missed → extraction is cancelled and recorded;
57
+ this page stays as the run-from-clone recipe.
58
+
59
+ Contract: [`docs/contracts/adoption-signal-floor.md` § Extraction demand
60
+ gate](contracts/adoption-signal-floor.md#extraction-demand-gate--lint_originality-standalone-probe).
@@ -146,10 +146,10 @@ note, package-internal path-swap, description budget, and the
146
146
 
147
147
  | Layer | Count | Purpose |
148
148
  |---|---|---|
149
- | **Skills** | 275 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
149
+ | **Skills** | 278 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
150
150
  | **Rules** | 105 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
151
- | **Commands** | 184 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
152
- | **Guidelines** | 100 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
151
+ | **Commands** | 190 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
152
+ | **Guidelines** | 101 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
153
153
  | **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
154
154
  | **Contexts** | 5 | Shared knowledge about the system itself |
155
155