@adia-ai/adia-ui-factory 0.2.3 → 0.8.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 (144) hide show
  1. package/.claude-plugin/plugin.json +5 -7
  2. package/.mcp.json +1 -1
  3. package/CHANGELOG.md +27 -63
  4. package/README.md +32 -53
  5. package/agents/app-architect.md +28 -0
  6. package/agents/routing-corpus.json +202 -0
  7. package/agents/screen-composer.md +27 -0
  8. package/bin/adia-lint +17 -2
  9. package/commands/adia-genui.md +5 -8
  10. package/commands/adia-migrate.md +5 -6
  11. package/commands/adia-orient.md +5 -10
  12. package/commands/adia-scaffold.md +7 -13
  13. package/commands/adia-verify.md +5 -6
  14. package/package.json +5 -6
  15. package/references/a2ui-mcp-tools.md +11 -8
  16. package/references/authoring-components.md +25 -1
  17. package/references/component-model.md +52 -4
  18. package/references/contracts/a2ui-mcp-surface.md +35 -0
  19. package/references/contracts/migration-guide-format.md +34 -0
  20. package/references/data-and-hydration.md +8 -5
  21. package/references/genui-a2ui.md +12 -6
  22. package/references/llm.md +22 -39
  23. package/references/migration.md +110 -36
  24. package/references/project-shapes.md +11 -13
  25. package/references/shell-admin.md +5 -2
  26. package/references/shell-chat.md +5 -3
  27. package/references/shell-editor.md +1 -1
  28. package/references/shell-embed.md +40 -26
  29. package/references/shell-simple.md +5 -2
  30. package/references/spa-architecture.md +28 -73
  31. package/references/ssr-integration.md +1 -1
  32. package/references/verification.md +8 -12
  33. package/skills/adia-compose/SKILL.md +52 -0
  34. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/Guidelines.md +3 -3
  35. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/components.md +3 -3
  36. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/styles.md +1 -1
  37. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/tokens.md +3 -3
  38. package/skills/{adia-ui-kit → adia-compose}/assets/templates/FEEDBACK.template.md +7 -7
  39. package/skills/{adia-ui-kit → adia-compose}/assets/templates/RESPONSE.template.md +6 -7
  40. package/skills/adia-compose/references/composition-traps.md +58 -0
  41. package/skills/adia-compose/references/feedback-discipline.md +20 -0
  42. package/skills/adia-compose/references/spec-to-ui-reasoning.md +158 -0
  43. package/skills/adia-data/SKILL.md +78 -0
  44. package/skills/adia-genui/SKILL.md +83 -0
  45. package/skills/adia-host/SKILL.md +119 -0
  46. package/skills/adia-llm/SKILL.md +36 -0
  47. package/skills/adia-migrate/SKILL.md +76 -0
  48. package/skills/adia-orient/SKILL.md +123 -0
  49. package/skills/adia-project/SKILL.md +83 -0
  50. package/skills/adia-shells/SKILL.md +74 -0
  51. package/skills/adia-verify/SKILL.md +43 -0
  52. package/skills/adia-verify/references/verification.md +42 -0
  53. package/commands/adia-compose.md +0 -10
  54. package/commands/adia-wire.md +0 -13
  55. package/skills/adia-ui-compose/SKILL.md +0 -57
  56. package/skills/adia-ui-data/SKILL.md +0 -62
  57. package/skills/adia-ui-factory/SKILL.md +0 -113
  58. package/skills/adia-ui-genui/SKILL.md +0 -74
  59. package/skills/adia-ui-kit/CHANGELOG.md +0 -41
  60. package/skills/adia-ui-kit/SKILL.md +0 -442
  61. package/skills/adia-ui-kit/assets/team-scaffold/archive-README.md +0 -30
  62. package/skills/adia-ui-kit/assets/team-scaffold/drafts-README.md +0 -57
  63. package/skills/adia-ui-kit/assets/team-scaffold/inbox-README.md +0 -76
  64. package/skills/adia-ui-kit/assets/team-scaffold/outbox-README.md +0 -46
  65. package/skills/adia-ui-kit/assets/team-scaffold/team-root.README.md +0 -51
  66. package/skills/adia-ui-kit/assets/team-scaffold/tickets-README.md +0 -208
  67. package/skills/adia-ui-kit/assets/team-scaffold/tickets-REGISTRY.md +0 -81
  68. package/skills/adia-ui-kit/assets/templates/AGENTS.template.md +0 -128
  69. package/skills/adia-ui-kit/assets/templates/CLAUDE.template.md +0 -1
  70. package/skills/adia-ui-kit/assets/templates/figma-make-guidelines.md +0 -90
  71. package/skills/adia-ui-kit/evals/adversarial-content-trust.json +0 -83
  72. package/skills/adia-ui-kit/evals/evals.json +0 -55
  73. package/skills/adia-ui-kit/evals/routing-corpus.json +0 -121
  74. package/skills/adia-ui-kit/evals/teach-routing-cases.json +0 -92
  75. package/skills/adia-ui-kit/references/capabilities.md +0 -245
  76. package/skills/adia-ui-kit/references/catalog-lookup.md +0 -186
  77. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v1.md +0 -8
  78. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v2.md +0 -3585
  79. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v3.md +0 -1899
  80. package/skills/adia-ui-kit/references/common-gotchas-consumer.md +0 -522
  81. package/skills/adia-ui-kit/references/component-literacy.md +0 -291
  82. package/skills/adia-ui-kit/references/composition.md +0 -245
  83. package/skills/adia-ui-kit/references/correction-loop.md +0 -462
  84. package/skills/adia-ui-kit/references/css-policy.md +0 -343
  85. package/skills/adia-ui-kit/references/decision-model.md +0 -158
  86. package/skills/adia-ui-kit/references/diagnostic-output.md +0 -57
  87. package/skills/adia-ui-kit/references/docs-catalog.md +0 -239
  88. package/skills/adia-ui-kit/references/exclusions.md +0 -225
  89. package/skills/adia-ui-kit/references/feedback-authoring.md +0 -466
  90. package/skills/adia-ui-kit/references/figma-make.md +0 -244
  91. package/skills/adia-ui-kit/references/flows-auth.md +0 -307
  92. package/skills/adia-ui-kit/references/flows-content.md +0 -206
  93. package/skills/adia-ui-kit/references/flows-data.md +0 -348
  94. package/skills/adia-ui-kit/references/flows-interaction.md +0 -181
  95. package/skills/adia-ui-kit/references/flows-shells.md +0 -336
  96. package/skills/adia-ui-kit/references/gap-detection.md +0 -266
  97. package/skills/adia-ui-kit/references/harness.md +0 -284
  98. package/skills/adia-ui-kit/references/loading-protocol.md +0 -406
  99. package/skills/adia-ui-kit/references/local-link.md +0 -198
  100. package/skills/adia-ui-kit/references/mcp.md +0 -401
  101. package/skills/adia-ui-kit/references/migration.md +0 -116
  102. package/skills/adia-ui-kit/references/mission.md +0 -194
  103. package/skills/adia-ui-kit/references/mode-routing.md +0 -298
  104. package/skills/adia-ui-kit/references/patterns-agent.md +0 -223
  105. package/skills/adia-ui-kit/references/patterns-data.md +0 -1066
  106. package/skills/adia-ui-kit/references/patterns-forms.md +0 -223
  107. package/skills/adia-ui-kit/references/patterns-layout.md +0 -326
  108. package/skills/adia-ui-kit/references/patterns-recipes.md +0 -1416
  109. package/skills/adia-ui-kit/references/patterns-shells.md +0 -1097
  110. package/skills/adia-ui-kit/references/patterns-traits.md +0 -259
  111. package/skills/adia-ui-kit/references/patterns-wiring.md +0 -339
  112. package/skills/adia-ui-kit/references/pev-rationale.md +0 -137
  113. package/skills/adia-ui-kit/references/reasoning-gate.md +0 -146
  114. package/skills/adia-ui-kit/references/reasoning-methodologies.md +0 -112
  115. package/skills/adia-ui-kit/references/recon.md +0 -192
  116. package/skills/adia-ui-kit/references/rendering-model.md +0 -431
  117. package/skills/adia-ui-kit/references/response-authoring.md +0 -398
  118. package/skills/adia-ui-kit/references/session-log-schema.md +0 -203
  119. package/skills/adia-ui-kit/references/session-log-template.md +0 -118
  120. package/skills/adia-ui-kit/references/setup.md +0 -652
  121. package/skills/adia-ui-kit/references/skill-hygiene.md +0 -135
  122. package/skills/adia-ui-kit/references/spec-to-ui-reasoning.md +0 -394
  123. package/skills/adia-ui-kit/references/state.md +0 -229
  124. package/skills/adia-ui-kit/references/teach-protocol.md +0 -421
  125. package/skills/adia-ui-kit/references/theme.md +0 -142
  126. package/skills/adia-ui-kit/references/version-check.md +0 -69
  127. package/skills/adia-ui-kit/scripts/audit-decision-trace.mjs +0 -198
  128. package/skills/adia-ui-kit/scripts/audit-kit-roster.mjs +0 -366
  129. package/skills/adia-ui-kit/scripts/changelog-archive.mjs +0 -126
  130. package/skills/adia-ui-kit/scripts/check-adia-versions.py +0 -404
  131. package/skills/adia-ui-kit/scripts/run-skill-evals.mjs +0 -358
  132. package/skills/adia-ui-kit/scripts/validate-session-log.mjs +0 -242
  133. package/skills/adia-ui-kit/skill.json +0 -102
  134. package/skills/adia-ui-llm/SKILL.md +0 -51
  135. package/skills/adia-ui-migrate/SKILL.md +0 -64
  136. package/skills/adia-ui-migration/CHANGELOG.md +0 -47
  137. package/skills/adia-ui-migration/SKILL.md +0 -381
  138. package/skills/adia-ui-migration/skill.json +0 -29
  139. package/skills/adia-ui-project/SKILL.md +0 -77
  140. package/skills/adia-ui-shells/SKILL.md +0 -62
  141. package/skills/adia-ui-spa/SKILL.md +0 -52
  142. package/skills/adia-ui-ssr/SKILL.md +0 -52
  143. package/skills/adia-ui-verify/SKILL.md +0 -44
  144. /package/skills/{adia-ui-kit → adia-compose}/assets/templates/FEEDBACK-OMISSIONS-DEFENSE.template.md +0 -0
@@ -1,55 +0,0 @@
1
- {
2
- "skill_name": "adia-ui-kit",
3
- "evals": [
4
- {
5
- "id": 1,
6
- "prompt": "Build a user profile card with an avatar showing initials, the user's name and email, a role badge, and edit/delete action buttons in the footer.",
7
- "expected_output": "A card-ui with header (avatar + heading + description), section with role badge, footer with edit (outline) and delete (ghost/danger) buttons.",
8
- "required_components": ["Card", "Header", "Text", "Avatar", "Badge", "Button", "Footer", "Section"],
9
- "forbidden_patterns": [],
10
- "card_model": true,
11
- "thresholds": { "aggregate": 60, "structural": 70, "intent": 50 },
12
- "mode": "instant"
13
- },
14
- {
15
- "id": 2,
16
- "prompt": "Create a login form with email validation, password requiring minimum 8 characters, a remember me checkbox, forgot password link, and a full-width sign in button.",
17
- "expected_output": "A card-ui wrapping form fields with input-ui (type=email, required), input-ui (type=password), check-ui, button-ui (variant=primary, block).",
18
- "required_components": ["Card", "Input", "CheckBox", "Button", "Header", "Section", "Footer"],
19
- "forbidden_patterns": [],
20
- "card_model": true,
21
- "thresholds": { "aggregate": 65, "structural": 70, "intent": 60 },
22
- "mode": "instant"
23
- },
24
- {
25
- "id": 3,
26
- "prompt": "Build a metrics dashboard with 4 KPI stat cards in a row, a revenue chart below, and a recent orders table with sortable columns and pagination at the bottom.",
27
- "expected_output": "Grid for KPI cards (each card > header + section > stat value + badge trend). Chart-n below. Table-n with sortable, pagination-ui in footer.",
28
- "required_components": ["Grid", "Card", "Header", "Text", "Section"],
29
- "forbidden_patterns": [],
30
- "card_model": true,
31
- "thresholds": { "aggregate": 55, "structural": 60, "intent": 40 },
32
- "mode": "instant"
33
- },
34
- {
35
- "id": 4,
36
- "prompt": "Create a settings page with profile photo upload, name and email fields, notification toggles, and a save button.",
37
- "expected_output": "Card with form fields, avatar, toggle switches, and primary save button in footer.",
38
- "required_components": ["Card", "Header", "Section", "Input", "Button"],
39
- "forbidden_patterns": [],
40
- "card_model": true,
41
- "thresholds": { "aggregate": 55, "structural": 60, "intent": 50 },
42
- "mode": "instant"
43
- },
44
- {
45
- "id": 5,
46
- "prompt": "Build an FAQ page with a heading, description, and 5 expandable questions with answers.",
47
- "expected_output": "Column layout with header and accordion items for each question.",
48
- "required_components": ["Column", "Header", "Text", "Accordion"],
49
- "forbidden_patterns": [],
50
- "card_model": false,
51
- "thresholds": { "aggregate": 55, "structural": 60, "intent": 50 },
52
- "mode": "instant"
53
- }
54
- ]
55
- }
@@ -1,121 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "name": "adia-ui-kit bundled routing corpus",
4
- "version": "1.0.0",
5
- "purpose": "Portable routing-accuracy corpus for adia-ui-kit. Each phrase declares whether the kit SHOULD be the routing target. Scored by `scripts/run-skill-evals.mjs` against the kit's description + trigger frontmatter — approximates how the harness routes intent. Per REFACTOR-SPEC P3.",
6
- "scoring_notes": "The bundled scorer uses TF-IDF-style token overlap between the phrase and the kit's frontmatter. This is a HEURISTIC eval — the real harness routing may differ (especially for ambiguous phrases). Treat misroutes as a signal to tighten the kit's description / triggers, not as ground truth. Substrate runs the cross-skill version at `scripts/skills/run-skill-evals.mjs`; the bundled runner restricts evaluation to the kit alone (consumer repos don't have the sibling seniors available to compare against).",
7
- "license": "internal",
8
- "scope": "kit-only routing — does this phrase activate adia-ui-kit?",
9
-
10
- "minimums_per_spec": {
11
- "trigger_phrases": 10,
12
- "adversarial_phrases": 5,
13
- "adversarial_fraction": "33%"
14
- },
15
-
16
- "phrases": [
17
- {
18
- "id": "kit-01",
19
- "phrase": "build a user profile card with avatar and edit actions",
20
- "should_route_to_kit": true,
21
- "rationale": "Canonical composition task — user profile card is a kit recipe."
22
- },
23
- {
24
- "id": "kit-02",
25
- "phrase": "generate UI for a pricing page with 3 tiers",
26
- "should_route_to_kit": true,
27
- "rationale": "Generative UI composition with specific layout intent."
28
- },
29
- {
30
- "id": "kit-03",
31
- "phrase": "compose a settings page with form fields and a save button",
32
- "should_route_to_kit": true,
33
- "rationale": "Multi-primitive composition — settings page is a kit recipe."
34
- },
35
- {
36
- "id": "kit-04",
37
- "phrase": "create an FAQ page with expandable questions",
38
- "should_route_to_kit": true,
39
- "rationale": "Page composition with accordion-ui pattern."
40
- },
41
- {
42
- "id": "kit-05",
43
- "phrase": "build a metrics dashboard with KPI stat cards",
44
- "should_route_to_kit": true,
45
- "rationale": "Dashboard composition — admin-shell + stat-ui pattern."
46
- },
47
- {
48
- "id": "kit-06",
49
- "phrase": "use AdiaUI primitives to compose a login screen",
50
- "should_route_to_kit": true,
51
- "rationale": "Explicit AdiaUI mention + auth-flow composition."
52
- },
53
- {
54
- "id": "kit-07",
55
- "phrase": "what's the recipe for a hero section with a CTA?",
56
- "should_route_to_kit": true,
57
- "rationale": "Recipe lookup — kit owns composition recipes."
58
- },
59
- {
60
- "id": "kit-08",
61
- "phrase": "compose this Figma mock into AdiaUI components",
62
- "should_route_to_kit": true,
63
- "rationale": "Mock-to-component translation — kit's primary mode."
64
- },
65
- {
66
- "id": "kit-09",
67
- "phrase": "build a navigation pattern with sidebar and main content",
68
- "should_route_to_kit": true,
69
- "rationale": "Layout pattern — admin-shell composition."
70
- },
71
- {
72
- "id": "kit-10",
73
- "phrase": "generate a chat interface from this user intent",
74
- "should_route_to_kit": true,
75
- "rationale": "Chat-shell composition — kit's chat cluster recipes."
76
- },
77
-
78
- {
79
- "id": "kit-adv-01",
80
- "phrase": "add a new component to packages/web-components/",
81
- "should_route_to_kit": false,
82
- "expected_alternative": "adia-ui-authoring",
83
- "rationale": "Authoring NEW primitives — explicitly NEG-clause in kit description."
84
- },
85
- {
86
- "id": "kit-adv-02",
87
- "phrase": "cut a release of v0.6.34",
88
- "should_route_to_kit": false,
89
- "expected_alternative": "adia-ui-release",
90
- "rationale": "Release cycle — not kit's domain."
91
- },
92
- {
93
- "id": "kit-adv-03",
94
- "phrase": "diagnose why zettel composition coverage dropped on the eval",
95
- "should_route_to_kit": false,
96
- "expected_alternative": "adia-ui-a2ui",
97
- "rationale": "A2UI pipeline internals — not kit composition."
98
- },
99
- {
100
- "id": "kit-adv-04",
101
- "phrase": "explain how React useEffect hooks work",
102
- "should_route_to_kit": false,
103
- "expected_alternative": null,
104
- "rationale": "Generic framework knowledge — kit's NEG clause covers 'unrelated frameworks'. Risk: kit's trigger block contains 'React, useEffect' as routing hints for AdiaUI-in-React projects, which has historically over-activated kit on bare React questions (documented as inherent-scorer-limit negative-02)."
105
- },
106
- {
107
- "id": "kit-adv-05",
108
- "phrase": "compose this",
109
- "should_route_to_kit": false,
110
- "expected_alternative": null,
111
- "rationale": "Bare 'compose this' with no AdiaUI context — explicitly NEG-clause in kit description. Should not activate on the trigger word alone."
112
- }
113
- ],
114
-
115
- "evaluator_notes": {
116
- "current_state": "This corpus is scored by `scripts/run-skill-evals.mjs` (bundled in v2.30.0) against the kit's own description + trigger fields. The runner emits a routing F1 number; PASS for trigger-phrases means kit scores ≥ MIN_SCORE_THRESHOLD; PASS for adversarial-phrases means kit scores < MIN_SCORE_THRESHOLD (i.e. doesn't activate).",
117
- "cross-skill_comparison": "When run inside the chat-ui substrate (where all 5 senior skills are present), the bundled runner falls through to the substrate's `scripts/skills/run-skill-evals.mjs` cross-skill comparison for higher fidelity. When run in a consumer repo (where only adia-ui-kit ships), it scores kit-only.",
118
- "promotion_criteria": "Promote to a CI gate (warn → hard-fail) when the kit alone scores F1 ≥ 0.85 on this corpus across 3+ consecutive cycles. Until then, the corpus is for VISIBILITY (per REFACTOR-SPEC §10 OQ2).",
119
- "review_cadence": "Every senior-skill quarterly checkpoint (per AGENTS.md BORIS §B3). Add 1+ new trigger / adversarial phrase per checkpoint reflecting newly-observed routing failure modes. Current cases cover: canonical composition (10), authoring-NEG (1), release-NEG (1), a2ui-NEG (1), bare-framework (1), bare-verb (1)."
120
- }
121
- }
@@ -1,92 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "name": "adia-ui-kit teach-routing behavioral corpus",
4
- "version": "1.0.0",
5
- "purpose": "Behavioral eval for the §Teach decision tree mechanization. Each case names a knowledge-payload + the expected branch (A–G) the script should classify it into. Per REFACTOR-SPEC P4.",
6
- "scoring_notes": "Scored by `scripts/teach-route.mjs --eval=...`. Pass = branch matches expected_branch. Confidence (high/medium/low) is reported but doesn't affect pass/fail — track confidence trends across releases to spot vocabulary drift.",
7
- "license": "internal",
8
-
9
- "minimums_per_spec": {
10
- "trigger_cases_per_branch": 1,
11
- "total_cases": 7,
12
- "branches_covered": "A-G all 7"
13
- },
14
-
15
- "cases": [
16
- {
17
- "id": "branch-A-01",
18
- "payload": "new slot on calendar-picker-ui for trailing actions",
19
- "expected_branch": "A",
20
- "expected_landing_pattern": "packages/web-components/components/calendar-picker/",
21
- "rationale": "Per-component slot addition — substrate yaml."
22
- },
23
- {
24
- "id": "branch-A-02",
25
- "payload": "add a new a2ui.rule to the table-toolbar-ui yaml clarifying when [sticky] is allowed",
26
- "expected_branch": "A",
27
- "expected_landing_pattern": "packages/web-components/components/table-toolbar/",
28
- "rationale": "a2ui.rule = per-component contract; lives in yaml SoT."
29
- },
30
-
31
- {
32
- "id": "branch-B-01",
33
- "payload": "add a recipe showing how to compose an editor-shell inside admin-page-body for the nested-shell case",
34
- "expected_branch": "B",
35
- "expected_landing_pattern": "references/patterns-shells.md",
36
- "rationale": "Cross-component composition recipe with shell focus — patterns-shells."
37
- },
38
- {
39
- "id": "branch-B-02",
40
- "payload": "recipe for wiring a chart-ui with optimistic-update controllers and signal subscriptions",
41
- "expected_branch": "B",
42
- "expected_landing_pattern": "references/patterns-",
43
- "rationale": "Cross-component recipe — could land in patterns-data or patterns-wiring depending on gravity."
44
- },
45
-
46
- {
47
- "id": "branch-C-01",
48
- "payload": "end-to-end auth flow with sign-in, OTP verification, forgot-password reset, and the registration wizard",
49
- "expected_branch": "C",
50
- "expected_landing_pattern": "references/flows-auth.md",
51
- "rationale": "Multi-page user journey covering auth — flows-auth."
52
- },
53
-
54
- {
55
- "id": "branch-D-01",
56
- "payload": "we need a new reasoning methodology: before any composition, decompose the user intent into named decisions with required signals (the DecisionModel posture from REFACTOR-SPEC P5)",
57
- "expected_branch": "D",
58
- "expected_landing_pattern": "SKILL.md inline",
59
- "rationale": "Methodology / posture shift that shapes every other section — SKILL.md inline."
60
- },
61
-
62
- {
63
- "id": "branch-E-01",
64
- "payload": "new audit script that detects orphan components in agent output (DecisionModel trace audit per REFACTOR-SPEC P5(b))",
65
- "expected_branch": "E",
66
- "expected_landing_pattern": "scripts/",
67
- "rationale": "Tooling addition — runnable script — scripts/."
68
- },
69
-
70
- {
71
- "id": "branch-F-01",
72
- "payload": "FB-42 resolved upstream; the skill used to say <admin-statusbar> defaults to slot=footer, but that was wrong. Update the skill's misdiagnosis taxonomy in CorrectionLoop.",
73
- "expected_branch": "F",
74
- "expected_landing_pattern": "§CorrectionLoop",
75
- "rationale": "Feedback resolution — correction belongs in §CorrectionLoop."
76
- },
77
-
78
- {
79
- "id": "branch-G-01",
80
- "payload": "lesson learned from the v0.6.33 release cycle — the icon-loader race condition that caused FB-53 was a one-off that's already fixed upstream. Archive the post-mortem.",
81
- "expected_branch": "G",
82
- "expected_landing_pattern": "docs/journal/",
83
- "rationale": "Arc story / historical context — journal entry, not skill."
84
- }
85
- ],
86
-
87
- "evaluator_notes": {
88
- "current_state": "Corpus has 9 cases across all 7 branches (A: 2 cases, B: 2 cases, C/D/E/F/G: 1 case each). Pass-rate target: 100% on the bundled corpus (the script must classify its own canonical examples correctly).",
89
- "promotion_criteria": "Add 2-3 cases per quarterly senior-skill checkpoint as new payload shapes are observed. Aim for ≥3 cases per branch by v3.2.0 (per AGENTS.md BORIS §B3 cadence).",
90
- "review_cadence": "When teach-route.mjs misroutes in real-world use, add the failing payload to the corpus as a new case with the correct expected_branch. The corpus grows in lockstep with the script's vocabulary."
91
- }
92
- }
@@ -1,245 +0,0 @@
1
- ---
2
- name: capabilities
3
- load-when: When choosing a mode / capability: full 14-item menu + per-mode triage table + 'pick your entry point' rows. Load if the seed's 4-item summary doesn't cover the user's intent.
4
- load-size-tokens: ~3,700
5
- required-for:
6
- - mode picking
7
- - first-task discovery
8
- ---
9
-
10
- # What this skill can do (capability surface)
11
-
12
- **LLM directive — on-load presentation contract.** When the user invokes
13
- this skill with no concrete request — e.g. `use adia-ui-kit`, `load
14
- adia-ui-kit`, `what can you do with AdiaUI?`, "the skill is loaded, now
15
- what?" — your on-load summary must follow **this exact shape**:
16
-
17
- 1. One short greeting line acknowledging the skill is active and its
18
- version (e.g. `✅ AdiaUI Kit skill v2.8.0 active. Here's the full
19
- capability surface:`).
20
- 2. A **numbered list (1., 2., 3., …)** with one item per category below.
21
- 3. Each item formatted as two lines:
22
- - **Line 1 (headline):** `<N>. <emoji> <Title>` — short, scannable.
23
- - **Line 2 (summary):** one short sentence in plain English describing
24
- what the user gets, **plus** the `→ §Section` pointer at the end.
25
- 4. Do **not** dump the inline detail strings ("npm install …", attribute
26
- names, decorator syntax) into the on-load summary. Those belong in the
27
- section bodies. The on-load summary is a menu, not a manual.
28
- 5. **Enumerate every category — do not collapse, drop, or merge.**
29
- Install (📦) and Harness (🧬) are the most-missed; surface them as
30
- their own numbered items, never folded into a generic "Setup" line.
31
- Consultant posture (🩺, item 13) is the most-missed for brownfield
32
- sessions — when the user lands in an existing repo without naming a
33
- concrete request, item 13 is often the right entry point.
34
- 6. **Render the "Pick your entry point" triage table** (verbatim from
35
- below — copy the markdown table; do NOT paraphrase) immediately after
36
- the 13-item menu, under the heading `### Where are you starting from?`.
37
- The menu tells the user *what the skill offers*; the triage table
38
- tells them *which item maps to their situation*. Both are required.
39
- 7. End with one short prompt question (e.g. `Which would you like to
40
- start with — pick a number 1-13, or describe your situation?`) —
41
- never start composing markup before the user picks.
42
-
43
- The skill operates across the full project lifecycle, from `npm create
44
- vite@latest` through shipping a generative-UI surface. **Render the
45
- capability menu from the headlines + summaries below — not the detail
46
- fields.**
47
-
48
- ### Capability menu (the on-load source-of-truth)
49
-
50
- 1. 📦 **Install `@adia-ai` packages**
51
- - **Summary:** The cold-start path — install the npm packages, wire
52
- `main.js` with CSS + barrel + icon loader, and verify with
53
- `scripts/check-adia-versions.py` that the 9-package lockstep is
54
- aligned + installed ≥ latest published. **End state: a working
55
- `<button-ui>` or `<card-ui>` rendering in the browser.** No
56
- generative harness required at this stage — that's a separate
57
- opt-in (item 4) for apps that render LLM-generated UI at runtime.
58
- **If the project has no `AGENTS.md` / `CLAUDE.md` at the root,
59
- scaffold them from `assets/templates/` so future agent sessions
60
- auto-load with the right skill pointer.** → §Setup + §VersionCheck
61
- - *Detail (for the body, not the on-load menu):* `npm install
62
- @adia-ai/web-components @adia-ai/web-modules @phosphor-icons/core`,
63
- wire CSS + barrel import + `installIconLoadersForRegistered`,
64
- minimal Vite config, TypeScript types, per-component imports for
65
- tree-shaking, conflict-safe `defineIfFree` registration.
66
- **Verify** with `scripts/check-adia-versions.py` — reports
67
- installed / declared / latest side-by-side and exits non-zero on
68
- lockstep break, stale install, or undeclared user-facing package.
69
- **Bootstrap** `AGENTS.md` + `CLAUDE.md` (1-line pointer) from
70
- `assets/templates/` if absent — see §Setup Step 8. **`<canvas-ui>` /
71
- `<a2ui-root>` / `registerResolver` are NOT part of basic install** —
72
- they belong to the generative harness (item 4), which the vast
73
- majority of product UIs (dashboards, forms, data tables, auth
74
- flows) do not need.
75
-
76
- 2. 🖼️ **Wire AdiaUI into an existing framework app**
77
- - **Summary:** Drop AdiaUI into SPA, Next.js, Nuxt, SvelteKit, or
78
- Astro with framework-correct imports and property binding.
79
- → §Rendering Model
80
- - *Detail:* `'use client'` boundaries, hydration guards, React
81
- `useEffect`+`ref`, Vue `:value`, Svelte `bind:value`, SSR-safe
82
- barrel placement.
83
-
84
- 3. 🤖 **Install + use the AdiaUI MCP server**
85
- - **Summary:** Drive AdiaUI from your agent IDE (Claude Desktop /
86
- Claude Code / Cursor / Windsurf) via the `adiaui-mcp` server.
87
- → §MCP
88
- - *Detail:* one-time host registration, provider keys, native tools
89
- `generate_ui` / `list_patterns` / `refine_ui` / `server_status`,
90
- dual stdio (sampling) + HTTP transports.
91
-
92
- 4. 🧬 **Choose a generative-UI rendering mode**
93
- - **Summary:** Once the harness is mounted (item 1), decide *when*
94
- generation happens — at build time (static HTML), at runtime from
95
- a `doc=` array (no server), or live via SSE/MCP streaming. → §Harness
96
- - *Detail:* Mode A (author-time → static HTML committed to repo),
97
- Mode B (runtime `doc=` rendering, no server), Mode C (SSE/MCP
98
- streaming), `canvas.process()` / `canvas.processAll()` /
99
- `canvas.reset()` API, when each mode is the right fit.
100
-
101
- 5. 🚚 **Migrate from `@agent-ui-kit` or an older `@adia-ai` version**
102
- - **Summary:** Bring an inherited or pre-existing codebase forward —
103
- namespace rename (`@agent-ui-kit/*` → `@adia-ai/*`), tag renames,
104
- attribute changes, token renames, retired legacy shell shapes,
105
- and every version-cut breaking change up to `^0.6.0`. → §Migration
106
- (defers to `docs/MIGRATION GUIDE.md` + the `adia-ui-migration` skill
107
- for the mechanical sweep)
108
- - *Detail:* Predecessor namespace `@agent-ui-kit/web-components` →
109
- `@adia-ai/*` 9-package monorepo; base class `AgentElement`/`AdiaElement`
110
- → `UIElement`; design tokens `--agent-*` → `--a-*`; `<stat-ui>` →
111
- `<stat>` filename; `<link-ui>` token rename `--link-color-*` →
112
- `--link-fg-*`; legacy shell authoring shapes RETIRED in `0.4.0`
113
- (ADR-0024) — use the bespoke `<admin-shell>` / `<chat-shell>` /
114
- `<editor-shell>` vocabulary. Mechanical sweeps via the dedicated
115
- `adia-ui-migration` skill — call it explicitly for codebase-wide
116
- search-and-replace + verification gate.
117
-
118
- 6. 🏗️ **Build screens and flows (phase-gated)**
119
- - **Summary:** Compose a new surface via §0 plan → §1 catalog → §2
120
- markup → §3 validation. Never skip §0. → §0 Reasoning Gate
121
- - *Detail:* GenUI Plan + confirmation wait, yaml/a2ui.json lookup,
122
- HTML + A2UI JSON composition, 5-gate validation checklist.
123
-
124
- 7. 🔌 **Wire state and data**
125
- - **Summary:** Add reactivity, domain state, and live endpoints
126
- without script blocks of `fetch()`. → §State
127
- - *Detail:* signals (local), `BaseController` (domain state with
128
- optimistic + undo/redo), `data-stream-*` bindings (REST/SSE),
129
- form submission patterns.
130
-
131
- 8. 🎨 **Theme and brand**
132
- - **Summary:** Apply named themes, toggle light/dark, or override
133
- brand colors via tokens. → §Theme
134
- - *Detail:* `toggle-scheme`, density modes, custom theme registration,
135
- zero-specificity token overrides.
136
-
137
- 9. 🧩 **Apply real-world patterns**
138
- - **Summary:** Reach for proven assemblies — admin shell, tables,
139
- dashboards, charts, drawers, error pages, agent surfaces.
140
- → §Patterns
141
- - *Detail:* admin/editor/nested/simple shells, command palette,
142
- `table-ui` + `table-toolbar-ui` pairing, KPI grids, all 18 chart
143
- types, heatmaps, destructive confirms, 404/500, chat streaming +
144
- reasoning panels.
145
-
146
- 10. 📋 **Copy-paste end-to-end flows**
147
- - **Summary:** Full recipes for the common surfaces — auth, wizard,
148
- onboarding, settings, marketing, kanban. → §Flows
149
- - *Detail:* sign-in / OTP / forgot-password, registration wizard,
150
- persona picker, settings page, marketing hero, kanban board, user
151
- profile card.
152
-
153
- 11. 📚 **Discover documentation**
154
- - **Summary:** Look up components, tokens, guides, and live demos
155
- without inventing URLs. → §Docs
156
- - *Detail:* URL manifest for `ui-kit.exe.xyz/site/...`, in-package
157
- files (`<name>.yaml` / `.a2ui.json` / `.d.ts` / `.test.js` /
158
- `.examples.md` v0.6.7+), numbered guides in `docs/guides/`,
159
- specs in `docs/specs/`, documentation triage table.
160
-
161
- 12. 📝 **Author session logs + defensible upstream tickets**
162
- - **Summary:** Capture provenance and file upstream FEEDBACK
163
- maintainers can act on. Agents draft to
164
- `.agents/team/tickets/drafts/` on a rolling basis; humans finalize
165
- to `outbox/`; responses land in `inbox/`. The 4-stage pipeline is
166
- gated by `ticket-tool.py` (11 finalize gates).
167
- → §FeedbackDiscipline + §Team Tickets + §AutoCapture + §TicketTooling
168
- - *Detail:* `generate ui-kit log` → `.adia-ui-kit/session-log.md`;
169
- `ticket-tool.py new feedback <recipient> --slug <s>` scaffolds a
170
- draft from the 5-block template (Executive summary + cost table +
171
- per-finding What/Root/Repro/Request/Why + verified exclusions +
172
- pre-finalize checklist); `ticket-tool.py finalize NN` runs 11 gates
173
- and promotes drafts/ → outbox/; `retract` / `set-status` /
174
- `register-response` / `registry-rebuild` handle lifecycle.
175
- Discipline vendored from color-app's battle-tested
176
- `.agents/team/skills/feedback-authoring.md` (60+ shipped tickets).
177
-
178
- 13. 🩺 **Diagnose an inherited / unknown AdiaUI repo (Consultant posture)**
179
- - **Summary:** Land in a brownfield repo you don't know, walk a
180
- 9-step inventory + 3-class gap-detection, and produce a Repo
181
- Health Report scoring overall posture across primitive usage,
182
- composition shape, token coverage, version coherence, and
183
- consumer-side hygiene. Use **before** filing tickets, proposing
184
- migrations, or authoring new surfaces — the report tells you
185
- what's already there and where the actual gaps are.
186
- → §Recon + §GapDetection + §DiagnosticOutput
187
- - *Detail:* 9-step recon (sitemap / package.json / @adia-ai version
188
- coherence / shell-tier inventory / token usage / primitive census
189
- / unused-import scan / a11y signals / build state); 3 gap classes
190
- (substrate-misuse, version-drift, missing-discipline); diagnostic
191
- template (executive summary + per-gap What/Evidence/Layer/Fix +
192
- posture assessment). Archive each report alongside the consuming
193
- repo's other diagnostics (e.g. a `diagnostic-reports/` folder),
194
- named `YYYY-MM-DD-<repo>-health-report.md`.
195
- Pair with §CorrectionLoop when a specific bug is reported (the
196
- report tells you the landscape; the correction loop tells you how
197
- to reason about a specific defect).
198
-
199
- 14. 📚 **Teach the skill new knowledge (Teach posture)**
200
- - **Summary:** Land new knowledge (a new primitive, a new pattern,
201
- a resolved FEEDBACK ticket, a methodology shift) into the right
202
- target without bloating the skill or drifting from yaml SoT. The
203
- Teach protocol's decision tree routes each input to its correct
204
- home — yaml SoT (per-component facts), a patterns reference
205
- (cross-component recipes), a flows reference (end-to-end
206
- journeys), inline SKILL.md (methodology / posture), tooling
207
- cross-link, FEEDBACK correction, or **NO landing in the skill**
208
- (arc stories belong in the journal, not here). Triggers: "make
209
- sure adia-ui-kit knows about X", "train the skill on Y", "absorb
210
- this lesson into adia-ui-kit", "the skill should be aware of Z".
211
- → §Teach (→ `references/teach-protocol.md` for the full procedure)
212
- - *Detail:* 5-step landing procedure (audit before patching →
213
- author the patch → wire the activation surface → version +
214
- CHANGELOG → verify with `audit:skill-hygiene`). Seven worked
215
- examples covering every decision-tree branch including the
216
- negative case ("arc stories go in journal, not skill"). Seven
217
- anti-patterns observed during this skill's own evolution
218
- (append-only, yaml SoT duplication, orphan triggers, capability
219
- menu lies, MINOR + PATCH bundling, hygiene-debt deferral,
220
- one-way thinking). Use when another agent in the codebase hands
221
- you new content to integrate; **don't use** when authoring fresh
222
- from scratch (that's §Mission Author posture) or fixing a wrong
223
- claim (§CorrectionLoop).
224
-
225
- **Pick your entry point** by where the project is today:
226
-
227
- | Project state | Start at |
228
- | ---------------------------------------------------------- | ------------------ |
229
- | **Inherited / unknown repo — diagnose first** | **§Recon + §GapDetection + §DiagnosticOutput** |
230
- | Empty / fresh `npm create vite@latest` | §Setup + §Harness |
231
- | Existing SPA / Next / Nuxt / SvelteKit / Astro | §Rendering Model |
232
- | Existing AdiaUI app, want runtime/generative UI | §Harness |
233
- | Existing app on `@agent-ui-kit` or older `@adia-ai` version | §Migration |
234
- | Want to drive AdiaUI from an agent (Claude/Cursor/Windsurf)| §MCP |
235
- | **Teaching the skill new knowledge — \"make adia-ui-kit aware of X\"** | **§Teach** |
236
- | Existing AdiaUI app, building a new feature | §0 Reasoning Gate |
237
- | Need to recreate a known surface (admin / chat / form) | §Flows or §Patterns |
238
- | Found a bug or want to file feedback | §Tickets |
239
- | Wrong output reported — diagnose before fixing | §CorrectionLoop |
240
-
241
- If the user request is ambiguous about which entry point applies, **ask
242
- one clarifying question** (e.g. "is this a new project or an existing
243
- app?") before recommending steps. Don't assume cold-start.
244
-
245
- ---