@event4u/agent-config 9.3.0 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +92 -0
- package/CONTRIBUTING.md +14 -0
- package/README.md +12 -4
- package/dist/agent-src/commands/contribution-precheck.md +100 -0
- package/dist/agent-src/commands/team.md +4 -0
- package/dist/agent-src/contexts/model-recommendations.md +6 -0
- package/dist/agent-src/rules/token-efficiency.md +7 -0
- package/dist/agent-src/skills/adversarial-review/SKILL.md +5 -0
- package/dist/agent-src/skills/ai-council/SKILL.md +3 -0
- package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -0
- package/dist/agent-src/skills/decision-record/SKILL.md +35 -1
- package/dist/agent-src/skills/decision-record/evals/triggers.json +82 -12
- package/dist/agent-src/skills/decision-record/references/weighted-matrix.md +119 -0
- package/dist/agent-src/skills/evaluate-llm-feature/SKILL.md +142 -0
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -0
- package/dist/agent-src/skills/learning-tutor/SKILL.md +215 -0
- package/dist/agent-src/skills/rice-prioritization/SKILL.md +1 -0
- package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +2 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +94 -24
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +13 -10
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +9 -6
- package/dist/mcp/registry-manifest.json +3 -3
- package/docs/CLAIMS.md +23 -2
- package/docs/announcements/2026-07-honest-cost-sweep-launch.md +84 -0
- package/docs/anti-reskin-gate.md +60 -0
- package/docs/architecture.md +2 -2
- package/docs/benchmark.md +40 -0
- package/docs/catalog.md +303 -278
- package/docs/command-flows.md +2 -1
- package/docs/comparison.yaml +10 -0
- package/docs/contracts/adoption-signal-floor.md +17 -0
- package/docs/contracts/ai-council-config.md +25 -0
- package/docs/contracts/mcp-tool-inventory.md +25 -22
- package/docs/contracts/tier-3-contrib-plugin.md +12 -4
- package/docs/featured-skills.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/governance-advantage.md +1 -1
- package/docs/proof.md +11 -6
- package/docs/self-review-gate.md +14 -0
- package/docs/setup/per-ide/antigravity.md +8 -3
- package/docs/us-vs-the-category.md +38 -0
- package/docs/wedge/production-validator/README.md +24 -0
- package/docs/wedge/production-validator/first-run-check.sh +42 -0
- package/package.json +1 -1
- package/src/scripts/_lib/catalog_score.ts +64 -0
- package/src/scripts/_lib/shingle_similarity.ts +146 -0
- package/src/scripts/ai_council/clients.ts +50 -1
- package/src/scripts/ai_council/config.ts +28 -3
- package/src/scripts/ai_council/low_impact.ts +16 -0
- package/src/scripts/ai_council/necessity.ts +11 -0
- package/src/scripts/ai_council/orchestrator.ts +78 -26
- package/src/scripts/ai_council/pricing.ts +59 -0
- package/src/scripts/ai_council/stance_tally.ts +42 -5
- package/src/scripts/bench_defect_finding.ts +348 -0
- package/src/scripts/build_catalog_index.ts +188 -0
- package/src/scripts/council_cli.ts +56 -1
- package/src/scripts/generate_index.ts +6 -3
- package/src/scripts/lint_originality.ts +464 -0
- package/src/scripts/mcp_server/catalog_tools.ts +114 -0
- package/src/scripts/mcp_server/consumer_tool_catalog.json +46 -0
- package/src/scripts/schemas/flow.schema.json +17 -0
- package/src/scripts/schemas/skill.schema.json +166 -32
- package/src/scripts/self_review_gate.test.ts +48 -0
- package/src/scripts/self_review_gate.ts +73 -5
- package/src/scripts/validate_flow_teams.ts +127 -0
|
@@ -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).
|
package/docs/architecture.md
CHANGED
|
@@ -146,9 +146,9 @@ note, package-internal path-swap, description budget, and the
|
|
|
146
146
|
|
|
147
147
|
| Layer | Count | Purpose |
|
|
148
148
|
|---|---|---|
|
|
149
|
-
| **Skills** |
|
|
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** |
|
|
151
|
+
| **Commands** | 190 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
|
|
152
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 |
|
package/docs/benchmark.md
CHANGED
|
@@ -582,3 +582,43 @@ controversial-but-correct control.
|
|
|
582
582
|
judge-survivable-subtlety corpus with a published distribution, then (2) a
|
|
583
583
|
maintainer-gated paid cross-vendor run. Honest-null on that run keeps the
|
|
584
584
|
surface default-off permanently, like recursive-verification.
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
## Defect-finding: team vs self-review vs council (2026-07-20) — HONEST NULL (ceiling-limited) {#honest-null-defect}
|
|
588
|
+
|
|
589
|
+
Pre-registered 12-fixture corpus (`internal/bench/corpora/defect-finding.yaml`:
|
|
590
|
+
10 seeded-defect diffs across logic / off-by-one / race / missing-empty-state /
|
|
591
|
+
security-smell, + 2 controls), three arms, deterministic file-level recall
|
|
592
|
+
against ground truth (blind rubric judge deferred — the primary metric is
|
|
593
|
+
deterministic). Codex reviewer pinned `gpt-5.5`. Total billable $0.083 (arm b
|
|
594
|
+
codex = ChatGPT subscription, $0).
|
|
595
|
+
|
|
596
|
+
| arm | recall | correctness | design | false-positives |
|
|
597
|
+
|---|--:|--:|--:|--:|
|
|
598
|
+
| self-review (single model) | 1.00 | 1.00 | 1.00 | 1 |
|
|
599
|
+
| team (cross-model, codex) | 1.00 | 1.00 | 1.00 | 0 |
|
|
600
|
+
| council (neutral breadth) | 1.00 | 1.00 | 1.00 | 0 |
|
|
601
|
+
|
|
602
|
+
**Verdict: HONEST NULL.** H1 (cross-model team > single-model self-review on
|
|
603
|
+
correctness recall, Δ ≥ +0.20) is **not met** — Δ = 0: all three arms recalled
|
|
604
|
+
every planted defect. H2 (council ≈ team on design, within 0.10) is met (Δ = 0).
|
|
605
|
+
H3 (≤ 1 false positive/arm) is met.
|
|
606
|
+
|
|
607
|
+
**Corpus-validity caveat (the honest bound):** recall 1.00 across every arm is a
|
|
608
|
+
**ceiling effect** — these seeded defects are catchable by any strong model, so
|
|
609
|
+
the corpus cannot discriminate the arms on recall. This is the same limitation
|
|
610
|
+
the adversarial-verification-council section names: a corpus of obvious,
|
|
611
|
+
model-differentiating defects measures parity, not the judge-survivable
|
|
612
|
+
subtleties where a cross-model lens might actually differ. The one non-null
|
|
613
|
+
signal is precision, not recall: single-model self-review produced 1 false
|
|
614
|
+
positive on the controversial-but-correct control (`df-ctl-01`, a
|
|
615
|
+
behaviour-preserving `clamp` refactor) where team and council produced 0 — a
|
|
616
|
+
hint of a multi-arm precision edge, within the pre-registered H3 bound, too
|
|
617
|
+
small to claim.
|
|
618
|
+
|
|
619
|
+
**Disposition (Phase 5 Step 5): evidence-closed as NULL.** No cross-model
|
|
620
|
+
defect-finding *quality/lift* claim binds; team mode stays documented as
|
|
621
|
+
**workflow value only**. Re-open conditions: (a) a curated
|
|
622
|
+
judge-survivable-subtlety corpus that breaks the recall ceiling, or (b) a new
|
|
623
|
+
model generation. The worker-via-bundle delegate (roadmap Phase 3 Step 4) stays
|
|
624
|
+
deferred — it re-opened only on a measured review lift, which did not occur.
|