@event4u/agent-config 7.1.0 → 7.2.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 +2 -1
- package/CHANGELOG.md +39 -0
- package/README.md +1 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +10 -0
- package/dist/agent-src/rules/delegation-policy.md +1 -0
- package/dist/agent-src/rules/legal-safety-floor.md +42 -4
- package/dist/agent-src/rules/output-discipline.md +85 -0
- package/dist/agent-src/rules/telegraph-speak.md +4 -1
- package/dist/agent-src/rules/token-budget-discipline.md +94 -0
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +20 -5
- package/dist/agent-src/skills/blade-ui/SKILL.md +9 -0
- package/dist/agent-src/skills/contract-review/SKILL.md +3 -2
- package/dist/agent-src/skills/dashboard-design/SKILL.md +21 -5
- package/dist/agent-src/skills/design-intelligence/SKILL.md +96 -0
- package/dist/agent-src/skills/design-review/SKILL.md +83 -0
- package/dist/agent-src/skills/design-system-capture/SKILL.md +234 -0
- package/dist/agent-src/skills/design-tokens/SKILL.md +1 -0
- package/dist/agent-src/skills/dpa-review/SKILL.md +3 -2
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +15 -4
- package/dist/agent-src/skills/fe-design/SKILL.md +98 -16
- package/dist/agent-src/skills/flux/SKILL.md +8 -0
- package/dist/agent-src/skills/iconography/SKILL.md +1 -0
- package/dist/agent-src/skills/legal-intake-triage/SKILL.md +3 -2
- package/dist/agent-src/skills/legal-practice-profile/SKILL.md +3 -2
- package/dist/agent-src/skills/livewire/SKILL.md +8 -0
- package/dist/agent-src/skills/nda-triage/SKILL.md +3 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +21 -9
- package/dist/agent-src/skills/skill-writing/SKILL.md +18 -0
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +7 -10
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +17 -7
- package/dist/agent-src/skills/typography-system/SKILL.md +14 -0
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +9 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +123 -59
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +8 -8
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +18 -15
- package/dist/discovery/trust-report.md +5 -5
- package/dist/discovery/workspaces.json +15 -12
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/router.json +1 -1
- package/dist/server/routes/wizard.js +4 -3
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +9 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/ui/assets/{index-CoQo90sz.js → index-UjcTG_9O.js} +2 -2
- package/dist/ui/assets/index-UjcTG_9O.js.map +1 -0
- package/dist/ui/index.html +1 -1
- package/docs/RELEASE_STORY_TEMPLATE.md +37 -0
- package/docs/architecture.md +3 -3
- package/docs/contracts/capability-boundary.md +64 -0
- package/docs/contracts/discovery-manifest.schema.json +2 -2
- package/docs/contracts/package-self-orientation.md +3 -0
- package/docs/contracts/subagent-boundary.md +54 -0
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +13 -0
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +19 -0
- package/docs/getting-started.md +1 -1
- package/docs/guidelines/agent-infra/domain-pack-architecture.md +1 -0
- package/docs/guidelines/design-antipatterns-triggers.json +17 -0
- package/docs/guidelines/design-antipatterns.md +170 -0
- package/docs/guidelines/design-modes.md +97 -0
- package/package.json +1 -1
- package/src/config/agent-settings.template.yml +31 -0
- package/src/config/discovery/packs.yml +16 -5
- package/src/config/discovery/workspaces.yml +4 -4
- package/src/scripts/check_trunk_drift.ts +67 -0
- package/src/scripts/lint_design_quality.ts +321 -0
- package/src/scripts/lint_discovery_vocabulary.ts +4 -4
- package/src/scripts/lint_legal_pack.ts +62 -4
- package/src/scripts/lint_output_slop.ts +223 -0
- package/src/scripts/lint_pack_risk_class.ts +79 -0
- package/src/scripts/schemas/agent-settings.schema.json +12 -0
- package/src/scripts/schemas/skill.schema.json +5 -0
- package/dist/ui/assets/index-CoQo90sz.js.map +0 -1
|
@@ -34,9 +34,15 @@ wraps `npx shadcn@latest add <components>` — **the only subprocess+network
|
|
|
34
34
|
surface in the adopted suite**. Per `runtime-safety` + the `execution`
|
|
35
35
|
block above:
|
|
36
36
|
|
|
37
|
-
1. **Propose, never silent-run** — show exact `npx` command +
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
1. **Propose, never silent-run** — always show the exact `npx` command +
|
|
38
|
+
component list first (use `--dry-run`); the user confirms before any
|
|
39
|
+
live run.
|
|
40
|
+
2. **Missing tool** → per `missing-tool-handling`: if `npx`/Node is
|
|
41
|
+
absent, STOP and ask (install vs. manual component copy) — never
|
|
42
|
+
silently work around.
|
|
43
|
+
3. **Verify after run** — confirm the component landed
|
|
44
|
+
(`components/ui/<name>.tsx` exists, `components.json` unchanged or
|
|
45
|
+
sanely updated) before reporting success.
|
|
40
46
|
|
|
41
47
|
## Compatibility
|
|
42
48
|
|
|
@@ -82,13 +88,19 @@ Do NOT use when:
|
|
|
82
88
|
the generated primitives but is easy to remove during a refactor.
|
|
83
89
|
- **Anti-AI-slop: shadcn-default look.** The out-of-the-box shadcn
|
|
84
90
|
theme + `Inter`-as-system-fallback + neutral grays reads as
|
|
85
|
-
template across projects. Unless
|
|
86
|
-
pins the neutral palette as the
|
|
87
|
-
step should match typography and color
|
|
88
|
-
brief's `aesthetic:` line (from `fe-design`
|
|
89
|
-
Theme/font drift within a single audited project
|
|
90
|
-
consistency — variation lives between projects, not between
|
|
91
|
+
template across projects (catalog T7/T8 + C5). Unless
|
|
92
|
+
`state.ui_audit.design_tokens` pins the neutral palette as the
|
|
93
|
+
project's identity, the polish step should match typography and color
|
|
94
|
+
tokens to the design brief's `aesthetic:` line (from `fe-design`
|
|
95
|
+
aesthetic-direction). Theme/font drift within a single audited project
|
|
96
|
+
breaks consistency — variation lives between projects, not between
|
|
91
97
|
components in the same surface.
|
|
98
|
+
- **Anti-AI-slop catalog + linter.** Pull
|
|
99
|
+
[`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)
|
|
100
|
+
before the polish step (Visual V1–V7, Layout L1–L8 are the React-component
|
|
101
|
+
slop tells); the objective quality floors (WCAG contrast, focus-visible,
|
|
102
|
+
reduced-motion) are CI-enforced by
|
|
103
|
+
[`lint_design_quality`](../../../src/scripts/lint_design_quality.ts).
|
|
92
104
|
|
|
93
105
|
## Covered primitives
|
|
94
106
|
|
|
@@ -121,6 +121,24 @@ Then run the Understand → Research → Draft sequence from the
|
|
|
121
121
|
rule. Skip only on explicit *"just do it"* bypass or trivial edits
|
|
122
122
|
(typo, link, single-line clarification).
|
|
123
123
|
|
|
124
|
+
### 0b. Skill-growth gate (new skill only)
|
|
125
|
+
|
|
126
|
+
The skill count keeps climbing; nothing forces *"should this be a new skill at
|
|
127
|
+
all?"*. Before creating a **new** skill, answer these in the PR body — a new
|
|
128
|
+
skill that cannot answer them is a merge / guideline / no-op in disguise:
|
|
129
|
+
|
|
130
|
+
1. **Family** — which capability family does it join? (engineering, product, …)
|
|
131
|
+
2. **Capability** — what does it do that no existing skill does? Name the gap.
|
|
132
|
+
3. **Why not extend / merge** — which nearest skill did you consider folding into, and why is a separate skill better?
|
|
133
|
+
4. **Why not a guideline** — is this executable workflow (skill) or reference material (guideline)? Guideline-shaped content does not become a skill.
|
|
134
|
+
5. **Visibility tier** — `core` or `lab`? Which pack?
|
|
135
|
+
|
|
136
|
+
**Surface overlap before deciding** — run `./scripts-run src/scripts/skill_overlap`
|
|
137
|
+
(or `audit_skill_overlap`) and read the nearest matches; a high-overlap hit is a
|
|
138
|
+
merge signal, not a green light. This gate is the authoring-time companion to the
|
|
139
|
+
[capability-boundary matrix](../../../docs/contracts/capability-boundary.md): the
|
|
140
|
+
matrix governs packs, this governs the skills inside them.
|
|
141
|
+
|
|
124
142
|
### 1. Define the trigger
|
|
125
143
|
|
|
126
144
|
Write "When to use" first. This is the in-body trigger — it documents the
|
|
@@ -58,17 +58,13 @@ than blocking on each return — intervene only if one goes off track. Engage pe
|
|
|
58
58
|
|
|
59
59
|
### Settings-gated auto-dispatch
|
|
60
60
|
|
|
61
|
-
"By default" is governed by
|
|
62
|
-
auto-
|
|
61
|
+
"By default" is governed by the [`delegation-policy`](../../rules/delegation-policy.md)
|
|
62
|
+
rule — the single source of the auto-trigger. It gates on the activation context
|
|
63
63
|
([`auto-orchestration-activation`](../../contexts/execution/auto-orchestration-activation.md)):
|
|
64
|
-
dispatch only when `subagents.enabled
|
|
65
|
-
the
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
`auto: ask` → ask once (per [`user-interaction`](../../rules/user-interaction.md));
|
|
69
|
-
`auto: on` → surface chosen mode + per-subtask tiers in one line. Any gate fails
|
|
70
|
-
→ in-session. Auto-dispatch is the default where host + settings allow, a clean
|
|
71
|
-
no-op elsewhere — never lifts a safety floor.
|
|
64
|
+
dispatch only when `subagents.enabled`, `subagents.auto != off`, the host
|
|
65
|
+
manifest reports `subagent_spawn: true`, and the task is classified delegable.
|
|
66
|
+
`auto: ask` → ask once; `auto: on` → surface mode + per-subtask tiers in one
|
|
67
|
+
line; any gate failing → in-session no-op. Never lifts a safety floor.
|
|
72
68
|
|
|
73
69
|
## The seven modes
|
|
74
70
|
|
|
@@ -368,3 +364,4 @@ the judge verdict.
|
|
|
368
364
|
| Standalone judge on an existing diff | [`/judge`](../../commands/judge.md) |
|
|
369
365
|
| External / networked second opinion | [`ai-council`](../ai-council/SKILL.md) |
|
|
370
366
|
| Verifying completeness | [`verify-before-complete`](../verify-before-complete/SKILL.md) |
|
|
367
|
+
| What a subagent owns vs never owns | [`subagent-boundary`](../../../docs/contracts/subagent-boundary.md) |
|
|
@@ -51,11 +51,13 @@ radius, spacing, shadow, font-size to a configured token. If the design hands yo
|
|
|
51
51
|
(`bg-[#3B82F6]`, `mt-[17px]`) are a smell — accept only with a
|
|
52
52
|
one-line comment naming the design source.
|
|
53
53
|
|
|
54
|
-
Token authoring (DTCG 3-layer, CSS-var/Tailwind generation)
|
|
55
|
-
[`design-tokens`](../design-tokens/SKILL.md); its
|
|
56
|
-
--dir <path>` is the **single token-discipline
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
Token authoring (DTCG 3-layer model, CSS-var/Tailwind generation) lives
|
|
55
|
+
in [`design-tokens`](../design-tokens/SKILL.md); its
|
|
56
|
+
`tokens.py validate --dir <path>` is the **single token-discipline
|
|
57
|
+
linter** — the mechanical check behind this rule (no hardcoded hex / px /
|
|
58
|
+
rem outside the token files). Greenfield Tailwind config: bundled
|
|
59
|
+
`scripts/tailwind_config_gen.py` (Apache-2.0-derived, pure templating)
|
|
60
|
+
scaffolds `tailwind.config.{js,ts}` per framework.
|
|
59
61
|
|
|
60
62
|
### 2. Compose, don't inline
|
|
61
63
|
|
|
@@ -127,10 +129,18 @@ Risks: <arbitrary values, !important, dark-mode gaps>
|
|
|
127
129
|
break the design system; they accumulate silently.
|
|
128
130
|
- `@apply` inside component CSS interacts with PurgeCSS — keep it
|
|
129
131
|
in files Tailwind scans, not in vendor CSS.
|
|
132
|
+
- **Anti-AI-slop catalog.** The bullets below are the Tailwind-specific
|
|
133
|
+
manifestations of the stack-agnostic patterns in
|
|
134
|
+
[`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)
|
|
135
|
+
(C1 gradients, T7 fonts, L1/L2 layout, V1 side-stripe). Pull the catalog
|
|
136
|
+
for the full list; the objective subset (contrast, font-size floor,
|
|
137
|
+
reduced-motion) is CI-enforced by
|
|
138
|
+
[`lint_design_quality`](../../../src/scripts/lint_design_quality.ts) for
|
|
139
|
+
consumer projects.
|
|
130
140
|
- **Anti-AI-slop: gradients.** Unless audit-pinned or brief-explicit,
|
|
131
141
|
avoid the default purple-to-blue / cyan-to-pink gradients on white —
|
|
132
|
-
they read as auto-generated. Reach for a single accent
|
|
133
|
-
token map, or a duotone built from configured tokens.
|
|
142
|
+
they read as auto-generated (catalog C1/C2). Reach for a single accent
|
|
143
|
+
from the token map, or a duotone built from configured tokens.
|
|
134
144
|
- **Anti-AI-slop: typography.** Unless audit-pinned, avoid surfacing
|
|
135
145
|
the system stack (`font-sans` fallback to Arial / Helvetica / Inter
|
|
136
146
|
via system defaults) as the *visible* body face. If `tailwind.config`
|
|
@@ -8,6 +8,7 @@ workspaces:
|
|
|
8
8
|
- engineering
|
|
9
9
|
packs:
|
|
10
10
|
- frontend-design
|
|
11
|
+
token_budget_class: rich
|
|
11
12
|
trust:
|
|
12
13
|
level: professional
|
|
13
14
|
install:
|
|
@@ -136,3 +137,16 @@ brand already registers fonts, use them and skip the filter.
|
|
|
136
137
|
consumes the token system produced here.
|
|
137
138
|
- [`brand`](../brand/SKILL.md) — supplies the archetype → pairing-filter
|
|
138
139
|
Grounding (`typography` domain) consumed by stage 2.
|
|
140
|
+
|
|
141
|
+
## Why this skill is rich
|
|
142
|
+
|
|
143
|
+
Typography is one of the highest-leverage design decisions and one of the
|
|
144
|
+
most commonly mis-applied by AI agents (defaulting to Inter + arbitrary sizes).
|
|
145
|
+
The skill carries 73 curated font pairings (heading + body + mono combinations
|
|
146
|
+
with Google Fonts URLs and Tailwind config), 6 worked-through modular-scale
|
|
147
|
+
examples across different use-cases (marketing, dashboard, docs, e-commerce,
|
|
148
|
+
SaaS, editorial), and per-pairing line-height + weight guidance. Condensing
|
|
149
|
+
to "use a 1.25 modular scale" loses the worked examples that teach agents
|
|
150
|
+
the difference between a 14/17.5/21.8/27.2 rounded scale and an invented
|
|
151
|
+
arbitrary scale. Without the worked examples, agents produce: 16, 20, 24, 28
|
|
152
|
+
(arbitrary) instead of a properly grounded typographic system.
|
|
@@ -144,6 +144,15 @@ Anti-cases: <combinations the component refuses to support>
|
|
|
144
144
|
every render, the child re-renders too. Stabilize via
|
|
145
145
|
`useCallback` or hoist.
|
|
146
146
|
|
|
147
|
+
## Cross-task design memory
|
|
148
|
+
|
|
149
|
+
Before proposing a component, check the project root for `DESIGN.md`
|
|
150
|
+
(written by `design-system-capture`). If present, apply its captured
|
|
151
|
+
visual conventions (radius/shadow/motion/spacing) to the new component
|
|
152
|
+
rather than deriving them from scratch. Flag any new design decision
|
|
153
|
+
(e.g., a first-use of a new elevation tier) for capture:
|
|
154
|
+
*"Suggest adding to DESIGN.md: [decision]."*
|
|
155
|
+
|
|
147
156
|
## Do NOT
|
|
148
157
|
|
|
149
158
|
- Do NOT design a component without running
|