project-tiny-context-harness 0.8.4 → 0.8.6
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/LICENSE +21 -21
- package/README.md +394 -363
- package/assets/README.md +570 -514
- package/assets/README.zh-CN.md +331 -300
- package/assets/agents/.gitkeep +1 -1
- package/assets/agents/AGENTS_CORE.md +45 -25
- package/assets/context_templates/architecture.md +26 -25
- package/assets/context_templates/area.md +32 -31
- package/assets/context_templates/context.toml +30 -24
- package/assets/context_templates/deployment.md +35 -35
- package/assets/context_templates/global.md +57 -57
- package/assets/context_templates/product-surface-contract.md +70 -70
- package/assets/context_templates/screen-contract.md +189 -189
- package/assets/context_templates/verification.md +31 -30
- package/assets/github/.gitkeep +1 -1
- package/assets/github/harness.yml +39 -39
- package/assets/make/.gitkeep +1 -1
- package/assets/make/ty-context.mk +48 -48
- package/assets/skills/context_development_engineer/SKILL.md +155 -122
- package/assets/skills/context_full_project_export/SKILL.md +28 -28
- package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
- package/assets/skills/context_product_plan/SKILL.md +99 -79
- package/assets/skills/context_surface_contract/SKILL.md +191 -191
- package/assets/skills/context_uiux_design/SKILL.md +171 -171
- package/assets/skills/design-resource-authoring/SKILL.md +86 -84
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +138 -123
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +132 -127
- package/assets/skills/design-resource-authoring/references/resource-selection.md +181 -154
- package/assets/skills/design-system-authoring/SKILL.md +57 -57
- package/assets/skills/design-system-authoring/agents/openai.yaml +6 -6
- package/assets/skills/design-system-authoring/references/authority-adoption.md +48 -48
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -110
- package/assets/skills/long-task-workflow/SKILL.md +98 -92
- package/assets/skills/long-task-workflow/agents/openai.yaml +3 -1
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +72 -72
- package/assets/skills/long-task-workflow/references/contract-authoring.md +122 -101
- package/assets/skills/long-task-workflow/references/evidence-design.md +82 -61
- package/assets/skills/long-task-workflow/references/source-authoring.md +109 -90
- package/assets/skills/source-plan-authoring/SKILL.md +14 -14
- package/assets/tools/validate_context.py +442 -442
- package/dist/commands/long-task-authoring.js +27 -2
- package/dist/lib/context-default-footprint.js +2 -0
- package/dist/lib/context-manifest.js +6 -0
- package/dist/lib/context-templates.js +1 -1
- package/dist/lib/design-resource-fact-enums.d.ts +20 -0
- package/dist/lib/design-resource-fact-enums.js +170 -0
- package/dist/lib/design-resource-fact-locator-extractors.d.ts +8 -0
- package/dist/lib/design-resource-fact-locator-extractors.js +108 -0
- package/dist/lib/design-resource-fact-locator-resolver.d.ts +3 -0
- package/dist/lib/design-resource-fact-locator-resolver.js +112 -0
- package/dist/lib/design-resource-fact-locator-validation.d.ts +5 -0
- package/dist/lib/design-resource-fact-locator-validation.js +16 -0
- package/dist/lib/design-resource-fact-manifest-catalog.d.ts +4 -0
- package/dist/lib/design-resource-fact-manifest-catalog.js +249 -0
- package/dist/lib/design-resource-fact-manifest-model.d.ts +91 -0
- package/dist/lib/design-resource-fact-manifest-model.js +21 -0
- package/dist/lib/design-resource-fact-manifest-shape-axes.d.ts +6 -0
- package/dist/lib/design-resource-fact-manifest-shape-axes.js +159 -0
- package/dist/lib/design-resource-fact-manifest-shape-evidence.d.ts +4 -0
- package/dist/lib/design-resource-fact-manifest-shape-evidence.js +59 -0
- package/dist/lib/design-resource-fact-manifest-shape-facts.d.ts +4 -0
- package/dist/lib/design-resource-fact-manifest-shape-facts.js +109 -0
- package/dist/lib/design-resource-fact-manifest-shape-inspector.d.ts +5 -0
- package/dist/lib/design-resource-fact-manifest-shape-inspector.js +144 -0
- package/dist/lib/design-resource-fact-manifest-shape.d.ts +7 -0
- package/dist/lib/design-resource-fact-manifest-shape.js +75 -0
- package/dist/lib/design-resource-fact-manifest-types.d.ts +3 -0
- package/dist/lib/design-resource-fact-manifest-types.js +3 -0
- package/dist/lib/design-resource-fact-manifest-universe.d.ts +5 -0
- package/dist/lib/design-resource-fact-manifest-universe.js +50 -0
- package/dist/lib/design-resource-fact-manifest-validation.d.ts +3 -0
- package/dist/lib/design-resource-fact-manifest-validation.js +106 -0
- package/dist/lib/design-resource-fact-policy.d.ts +18 -0
- package/dist/lib/design-resource-fact-policy.js +72 -1
- package/dist/lib/design-resource-fact-property-methods.d.ts +3 -0
- package/dist/lib/design-resource-fact-property-methods.js +158 -0
- package/dist/lib/design-resource-fact-shape-primitives.d.ts +3 -0
- package/dist/lib/design-resource-fact-shape-primitives.js +18 -0
- package/dist/lib/design-resource-fact-types.d.ts +164 -0
- package/dist/lib/design-resource-fact-types.js +1 -0
- package/dist/lib/design-resource-fact-universe-assets.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-assets.js +71 -0
- package/dist/lib/design-resource-fact-universe-catalog.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-catalog.js +151 -0
- package/dist/lib/design-resource-fact-universe-conditions.d.ts +2 -0
- package/dist/lib/design-resource-fact-universe-conditions.js +92 -0
- package/dist/lib/design-resource-fact-universe-facts.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-facts.js +108 -0
- package/dist/lib/design-resource-fact-universe-helpers.d.ts +30 -0
- package/dist/lib/design-resource-fact-universe-helpers.js +167 -0
- package/dist/lib/design-resource-fact-universe-inspector.d.ts +7 -0
- package/dist/lib/design-resource-fact-universe-inspector.js +119 -0
- package/dist/lib/design-resource-fact-universe-proof.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-proof.js +113 -0
- package/dist/lib/design-resource-fact-universe-subjects.d.ts +5 -0
- package/dist/lib/design-resource-fact-universe-subjects.js +97 -0
- package/dist/lib/design-resource-fact-universe-variations.d.ts +2 -0
- package/dist/lib/design-resource-fact-universe-variations.js +75 -0
- package/dist/lib/design-resource-fact-value-validation.d.ts +2 -0
- package/dist/lib/design-resource-fact-value-validation.js +80 -0
- package/dist/lib/design-resource-handoff-file-primitives.js +2 -0
- package/dist/lib/design-resource-handoff-file-validation.js +13 -100
- package/dist/lib/design-resource-handoff-policy.d.ts +1 -0
- package/dist/lib/design-resource-handoff-policy.js +118 -11
- package/dist/lib/design-resource-handoff-shape-evidence.js +46 -3
- package/dist/lib/design-resource-handoff-shape-primitives.d.ts +5 -0
- package/dist/lib/design-resource-handoff-shape-primitives.js +28 -0
- package/dist/lib/design-resource-handoff-shape-structure.js +143 -22
- package/dist/lib/design-resource-handoff-shape.js +25 -0
- package/dist/lib/design-resource-handoff-types.d.ts +97 -21
- package/dist/lib/design-resource-handoff-types.js +22 -0
- package/dist/lib/design-resource-handoff-validation-coverage.d.ts +1 -1
- package/dist/lib/design-resource-handoff-validation-coverage.js +145 -118
- package/dist/lib/design-resource-handoff-validation-fact-cells.d.ts +2 -0
- package/dist/lib/design-resource-handoff-validation-fact-cells.js +60 -0
- package/dist/lib/design-resource-handoff-validation-fact-records.d.ts +2 -0
- package/dist/lib/design-resource-handoff-validation-fact-records.js +90 -0
- package/dist/lib/design-resource-handoff-validation-facts.js +10 -94
- package/dist/lib/design-resource-handoff-validation-proofs.d.ts +2 -0
- package/dist/lib/design-resource-handoff-validation-proofs.js +67 -0
- package/dist/lib/design-resource-handoff-validation-resource-closure.d.ts +3 -0
- package/dist/lib/design-resource-handoff-validation-resource-closure.js +88 -0
- package/dist/lib/design-resource-handoff-validation-structure.js +43 -14
- package/dist/lib/design-resource-handoff-validation.js +32 -0
- package/dist/lib/design-resource-handoff-web-dependency-validation.d.ts +2 -1
- package/dist/lib/design-resource-handoff-web-dependency-validation.js +67 -7
- package/dist/lib/execution-target-capabilities.d.ts +1 -1
- package/dist/lib/execution-target-capabilities.js +14 -0
- package/dist/lib/long-task-activation-validation.js +6 -2
- package/dist/lib/long-task-applicability-shape.js +3 -3
- package/dist/lib/long-task-authoring-authority-preview.js +1 -0
- package/dist/lib/long-task-authority-policy.d.ts +1 -0
- package/dist/lib/long-task-authority-policy.js +1 -0
- package/dist/lib/long-task-authority.js +13 -0
- package/dist/lib/long-task-claim-definitions.js +13 -1
- package/dist/lib/long-task-claims.js +23 -1
- package/dist/lib/long-task-contract-types.d.ts +3 -0
- package/dist/lib/long-task-delivery-compiler.js +1 -0
- package/dist/lib/long-task-delivery-parser.js +11 -1
- package/dist/lib/long-task-delivery-types.d.ts +1 -0
- package/dist/lib/long-task-delivery-types.js +1 -0
- package/dist/lib/long-task-delivery-validation.js +17 -0
- package/dist/lib/long-task-design-resource-handoff.js +62 -38
- package/dist/lib/long-task-design-target-capabilities.d.ts +14 -0
- package/dist/lib/long-task-design-target-capabilities.js +126 -0
- package/dist/lib/long-task-evidence-capability-codec.d.ts +94 -0
- package/dist/lib/long-task-evidence-capability-codec.js +395 -22
- package/dist/lib/long-task-evidence-capability-policy.js +18 -0
- package/dist/lib/long-task-evidence-capability-runtime.js +78 -0
- package/dist/lib/long-task-evidence-capability-types.d.ts +114 -1
- package/dist/lib/long-task-outcome-parser.js +4 -0
- package/dist/lib/long-task-playwright-capability-records.d.ts +5 -0
- package/dist/lib/long-task-playwright-capability-records.js +146 -0
- package/dist/lib/long-task-playwright-case-evidence.d.ts +3 -2
- package/dist/lib/long-task-playwright-case-evidence.js +10 -79
- package/dist/lib/long-task-playwright-case-primitives.d.ts +28 -0
- package/dist/lib/long-task-playwright-case-primitives.js +143 -0
- package/dist/lib/long-task-playwright-evidence.d.ts +1 -1
- package/dist/lib/long-task-playwright-evidence.js +10 -75
- package/dist/lib/long-task-runner-freeze.d.ts +2 -2
- package/dist/lib/long-task-runner-freeze.js +15 -1
- package/dist/lib/long-task-runtime-types.d.ts +4 -1
- package/dist/lib/long-task-semantic-contract-types.d.ts +1 -1
- package/dist/lib/long-task-semantic-drift-migration.js +2 -2
- package/dist/lib/long-task-semantic-fact-binding-types.d.ts +57 -0
- package/dist/lib/long-task-semantic-fact-binding-types.js +1 -0
- package/dist/lib/long-task-semantic-fact-closure-primitives.d.ts +5 -0
- package/dist/lib/long-task-semantic-fact-closure-primitives.js +43 -0
- package/dist/lib/long-task-semantic-fact-closure.d.ts +13 -0
- package/dist/lib/long-task-semantic-fact-closure.js +48 -0
- package/dist/lib/long-task-semantic-fact-contract-closure.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-contract-closure.js +24 -0
- package/dist/lib/long-task-semantic-fact-contract-facts.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-contract-facts.js +30 -0
- package/dist/lib/long-task-semantic-fact-contract-proofs.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-contract-proofs.js +97 -0
- package/dist/lib/long-task-semantic-fact-evidence.d.ts +21 -0
- package/dist/lib/long-task-semantic-fact-evidence.js +165 -0
- package/dist/lib/long-task-semantic-fact-input-closure.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-input-closure.js +101 -0
- package/dist/lib/long-task-semantic-fact-provenance-closure.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-provenance-closure.js +140 -0
- package/dist/lib/long-task-semantic-fact-shape.d.ts +3 -0
- package/dist/lib/long-task-semantic-fact-shape.js +89 -0
- package/dist/lib/long-task-semantic-fact-value-closure.d.ts +3 -0
- package/dist/lib/long-task-semantic-fact-value-closure.js +110 -0
- package/dist/lib/long-task-shape-primitives.d.ts +2 -1
- package/dist/lib/long-task-shape-primitives.js +7 -0
- package/dist/lib/long-task-source-item-parser.js +25 -6
- package/dist/lib/long-task-source-target-continuity.js +4 -1
- package/dist/lib/long-task-source-target-index.d.ts +1 -1
- package/dist/lib/long-task-source-target-index.js +5 -1
- package/dist/lib/long-task-ui-design-policy.js +8 -4
- package/dist/lib/long-task-ui-surface-shape.js +83 -1
- package/dist/lib/long-task-ui-surface-types.d.ts +29 -0
- package/dist/lib/modularity.js +7 -1
- package/dist/lib/semantic-fact-base-types.d.ts +14 -0
- package/dist/lib/semantic-fact-base-types.js +1 -0
- package/dist/lib/semantic-fact-catalog.d.ts +8 -0
- package/dist/lib/semantic-fact-catalog.js +191 -0
- package/dist/lib/semantic-fact-condition-shape.d.ts +48 -0
- package/dist/lib/semantic-fact-condition-shape.js +111 -0
- package/dist/lib/semantic-fact-input-shape.d.ts +34 -0
- package/dist/lib/semantic-fact-input-shape.js +111 -0
- package/dist/lib/semantic-fact-inventory-types.d.ts +147 -0
- package/dist/lib/semantic-fact-inventory-types.js +1 -0
- package/dist/lib/semantic-fact-manifest-shape.d.ts +4 -0
- package/dist/lib/semantic-fact-manifest-shape.js +135 -0
- package/dist/lib/semantic-fact-manifest-types.d.ts +58 -0
- package/dist/lib/semantic-fact-manifest-types.js +19 -0
- package/dist/lib/semantic-fact-policy-authority.d.ts +8 -0
- package/dist/lib/semantic-fact-policy-authority.js +79 -0
- package/dist/lib/semantic-fact-policy-census.d.ts +2 -0
- package/dist/lib/semantic-fact-policy-census.js +80 -0
- package/dist/lib/semantic-fact-policy-condition-references.d.ts +7 -0
- package/dist/lib/semantic-fact-policy-condition-references.js +19 -0
- package/dist/lib/semantic-fact-policy-conditions.d.ts +2 -0
- package/dist/lib/semantic-fact-policy-conditions.js +105 -0
- package/dist/lib/semantic-fact-policy-facts.d.ts +3 -0
- package/dist/lib/semantic-fact-policy-facts.js +73 -0
- package/dist/lib/semantic-fact-policy-primitives.d.ts +26 -0
- package/dist/lib/semantic-fact-policy-primitives.js +169 -0
- package/dist/lib/semantic-fact-policy-proofs.d.ts +2 -0
- package/dist/lib/semantic-fact-policy-proofs.js +75 -0
- package/dist/lib/semantic-fact-policy-properties.d.ts +3 -0
- package/dist/lib/semantic-fact-policy-properties.js +84 -0
- package/dist/lib/semantic-fact-policy-units.d.ts +4 -0
- package/dist/lib/semantic-fact-policy-units.js +103 -0
- package/dist/lib/semantic-fact-policy.d.ts +17 -0
- package/dist/lib/semantic-fact-policy.js +41 -0
- package/dist/lib/semantic-fact-proof-shape.d.ts +51 -0
- package/dist/lib/semantic-fact-proof-shape.js +121 -0
- package/dist/lib/semantic-fact-proof-types.d.ts +74 -0
- package/dist/lib/semantic-fact-proof-types.js +1 -0
- package/dist/lib/semantic-fact-property-shape.d.ts +29 -0
- package/dist/lib/semantic-fact-property-shape.js +77 -0
- package/dist/lib/semantic-fact-shape-constants.d.ts +3 -0
- package/dist/lib/semantic-fact-shape-constants.js +38 -0
- package/dist/lib/semantic-fact-shape-primitives.d.ts +15 -0
- package/dist/lib/semantic-fact-shape-primitives.js +68 -0
- package/dist/lib/semantic-fact-source-parser.d.ts +9 -0
- package/dist/lib/semantic-fact-source-parser.js +46 -0
- package/dist/lib/semantic-fact-support-shape.d.ts +21 -0
- package/dist/lib/semantic-fact-support-shape.js +59 -0
- package/dist/lib/semantic-fact-types.d.ts +5 -0
- package/dist/lib/semantic-fact-types.js +5 -0
- package/dist/lib/semantic-fact-unit-shape.d.ts +34 -0
- package/dist/lib/semantic-fact-unit-shape.js +89 -0
- package/dist/lib/semantic-fact-value-shape.d.ts +12 -0
- package/dist/lib/semantic-fact-value-shape.js +39 -0
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +1339 -131
- package/migrations/README.md +15 -15
- package/package.json +84 -84
- package/source-mappings.yaml +25 -25
|
@@ -1,135 +1,153 @@
|
|
|
1
|
-
# Dynamic Resource Selection
|
|
2
|
-
|
|
3
|
-
Use this reference to derive a bounded design-resource commission from the actual request. It is a decision model, not a fixed production sequence.
|
|
4
|
-
|
|
5
|
-
## 1. Establish the scope ceiling
|
|
6
|
-
|
|
7
|
-
Extract the smallest explicit output or development boundary before interpreting the background:
|
|
8
|
-
|
|
9
|
-
- subject: one control/component, one region, one page, named pages, a flow or a reusable system;
|
|
10
|
-
- development coverage when the resource is an implementation handoff: named surfaces/routes, regions, component families, unique controls and conditions that will actually be built;
|
|
11
|
-
- platform and viewport when known;
|
|
12
|
-
- modes, states and transitions explicitly requested;
|
|
13
|
-
- fidelity or editability requested, if any;
|
|
14
|
-
- exclusions such as “other pages not included,” “preview only,” “no Figma” or “do not update files.”
|
|
15
|
-
|
|
16
|
-
Rich background improves a bounded artifact. It never authorizes more artifacts. Necessary surrounding context may show where a partial feature lives, but it does not place the rest of that page or product in scope. If the user supplies a complete app plan but asks to preview one button, generate at most the one-control resource. If the user asks for design resources for one development slice, cover that slice through its material controls and conditions, not the whole background product.
|
|
17
|
-
|
|
18
|
-
## 2. Choose the intent
|
|
19
|
-
|
|
20
|
-
| Intent | User decision being supported | Default stopping point |
|
|
21
|
-
| --- | --- | --- |
|
|
22
|
-
| `exploration` | “What might this look or feel like?” | Visible scoped candidate plus minimal sanity review |
|
|
23
|
-
| `handoff` | “Can another designer/developer reliably consume this without inventing material in-scope UI/UX decisions?” | Minimum sufficient project-native resources plus scope-bound coverage, provenance, limitations and relevant checks |
|
|
24
|
-
| `selected-source-preparation` | “Preserve this explicitly selected direction for later use.” | Immutable identity or approved snapshot, explicit selection basis and downstream notes |
|
|
25
|
-
|
|
26
|
-
Intent and style dependency are task-local and need not be persisted. Selected-source preparation does not itself adopt Design Authority.
|
|
27
|
-
|
|
28
|
-
Classify each commission before capability selection:
|
|
29
|
-
|
|
30
|
-
- `style-bearing`: high-fidelity/branded output, visual-direction candidate, typography/color/density treatment, component visual specification or production-style prototype;
|
|
31
|
-
- `non-fidelity`: low-fidelity hierarchy, IA/flow topology, semantics-only interaction/state study or explicitly non-fidelity prototype.
|
|
32
|
-
|
|
33
|
-
Mixed work is style-bearing unless it can be split into a genuinely independent non-fidelity commission. Style-bearing work requires configured project Design Authority and an Open Design project bound to the adopted system. Missing authority stops and points to the explicitly invoked `$design-system-authoring`; it never triggers that Skill automatically.
|
|
34
|
-
|
|
35
|
-
## 3. Inventory relevant input roles
|
|
36
|
-
|
|
37
|
-
Preserve each supplied item's actual role:
|
|
38
|
-
|
|
39
|
-
- `exact-target`: already authoritative only for its declared conditions;
|
|
40
|
-
- `constraint`: a rule that controls only its stated scope;
|
|
41
|
-
- `inspiration`: directionally useful but not fidelity authority;
|
|
42
|
-
- `current-implementation-evidence`: evidence of current behavior, not desired behavior by default;
|
|
43
|
-
- `background`: product/technical context that informs but does not expand generation scope.
|
|
44
|
-
|
|
45
|
-
An optional Source Plan is one possible input. Raw notes or an initial proposal are equally valid. Never require one merely to make the other usable.
|
|
46
|
-
|
|
47
|
-
## 4. Derive development-corresponding coverage
|
|
48
|
-
|
|
49
|
-
For an implementation handoff, use this task-local equation:
|
|
50
|
-
|
|
51
|
-
```text
|
|
52
|
-
resources to commission
|
|
53
|
-
= material UI/UX decisions inside the explicit development scope
|
|
54
|
-
- decisions sufficiently covered by selected existing Source
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
A decision is material when changing it would materially change what the user sees, understands, can do or receives as feedback. Pure code structure and non-user-visible implementation choices are not design gaps.
|
|
58
|
-
|
|
59
|
-
Account for the applicable meaning at each level; do not require filler for non-applicable dimensions:
|
|
60
|
-
|
|
61
|
-
| Coverage level | Material UI/UX meaning |
|
|
62
|
-
| --- | --- |
|
|
63
|
-
| Surface/flow | information hierarchy, page/route composition, layout grid/constraints, region relationships, stacking/overlay, scrolling/overflow, navigation, branching and recovery context |
|
|
64
|
-
| Visual treatment/content | typography, color, spacing, border, radius, elevation, iconography, imagery, density, exact copy/labels, formatting, localization and content presentation |
|
|
65
|
-
| Component/control | anatomy, dimensions, hit area, variants, defaults, visibility/availability and mapping of repeated controls to an existing component family |
|
|
66
|
-
| State/interaction | trigger/input, validation, loading/empty/success/failure/disabled/permission states, transitions, gestures, navigation result, focus/selection behavior, feedback and recovery |
|
|
67
|
-
| Motion | animated property, start/end state, duration, easing, sequencing, interruption and reduced-motion behavior when motion matters |
|
|
68
|
-
| Adaptation/input | viewport/breakpoint, safe area, theme/mode, platform convention, pointer/touch/keyboard behavior, orientation and content stress |
|
|
69
|
-
| Accessibility | label/role, focus order/visibility, keyboard path, touch target, contrast and other applicable assistive behavior |
|
|
70
|
-
| Assets | exact icons, illustrations, media, sound/haptic cues or other bespoke content whose appearance or feedback affects the result |
|
|
71
|
-
|
|
1
|
+
# Dynamic Resource Selection
|
|
2
|
+
|
|
3
|
+
Use this reference to derive a bounded design-resource commission from the actual request. It is a decision model, not a fixed production sequence.
|
|
4
|
+
|
|
5
|
+
## 1. Establish the scope ceiling
|
|
6
|
+
|
|
7
|
+
Extract the smallest explicit output or development boundary before interpreting the background:
|
|
8
|
+
|
|
9
|
+
- subject: one control/component, one region, one page, named pages, a flow or a reusable system;
|
|
10
|
+
- development coverage when the resource is an implementation handoff: named surfaces/routes, regions, component families, unique controls and conditions that will actually be built;
|
|
11
|
+
- platform and viewport when known;
|
|
12
|
+
- modes, states and transitions explicitly requested;
|
|
13
|
+
- fidelity or editability requested, if any;
|
|
14
|
+
- exclusions such as “other pages not included,” “preview only,” “no Figma” or “do not update files.”
|
|
15
|
+
|
|
16
|
+
Rich background improves a bounded artifact. It never authorizes more artifacts. Necessary surrounding context may show where a partial feature lives, but it does not place the rest of that page or product in scope. If the user supplies a complete app plan but asks to preview one button, generate at most the one-control resource. If the user asks for design resources for one development slice, cover that slice through its material controls and conditions, not the whole background product.
|
|
17
|
+
|
|
18
|
+
## 2. Choose the intent
|
|
19
|
+
|
|
20
|
+
| Intent | User decision being supported | Default stopping point |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| `exploration` | “What might this look or feel like?” | Visible scoped candidate plus minimal sanity review |
|
|
23
|
+
| `handoff` | “Can another designer/developer reliably consume this without inventing material in-scope UI/UX decisions?” | Minimum sufficient project-native resources plus scope-bound coverage, provenance, limitations and relevant checks |
|
|
24
|
+
| `selected-source-preparation` | “Preserve this explicitly selected direction for later use.” | Immutable identity or approved snapshot, explicit selection basis and downstream notes |
|
|
25
|
+
|
|
26
|
+
Intent and style dependency are task-local and need not be persisted. Selected-source preparation does not itself adopt Design Authority.
|
|
27
|
+
|
|
28
|
+
Classify each commission before capability selection:
|
|
29
|
+
|
|
30
|
+
- `style-bearing`: high-fidelity/branded output, visual-direction candidate, typography/color/density treatment, component visual specification or production-style prototype;
|
|
31
|
+
- `non-fidelity`: low-fidelity hierarchy, IA/flow topology, semantics-only interaction/state study or explicitly non-fidelity prototype.
|
|
32
|
+
|
|
33
|
+
Mixed work is style-bearing unless it can be split into a genuinely independent non-fidelity commission. Style-bearing work requires configured project Design Authority and an Open Design project bound to the adopted system. Missing authority stops and points to the explicitly invoked `$design-system-authoring`; it never triggers that Skill automatically.
|
|
34
|
+
|
|
35
|
+
## 3. Inventory relevant input roles
|
|
36
|
+
|
|
37
|
+
Preserve each supplied item's actual role:
|
|
38
|
+
|
|
39
|
+
- `exact-target`: already authoritative only for its declared conditions;
|
|
40
|
+
- `constraint`: a rule that controls only its stated scope;
|
|
41
|
+
- `inspiration`: directionally useful but not fidelity authority;
|
|
42
|
+
- `current-implementation-evidence`: evidence of current behavior, not desired behavior by default;
|
|
43
|
+
- `background`: product/technical context that informs but does not expand generation scope.
|
|
44
|
+
|
|
45
|
+
An optional Source Plan is one possible input. Raw notes or an initial proposal are equally valid. Never require one merely to make the other usable.
|
|
46
|
+
|
|
47
|
+
## 4. Derive development-corresponding coverage
|
|
48
|
+
|
|
49
|
+
For an implementation handoff, use this task-local equation:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
resources to commission
|
|
53
|
+
= material UI/UX decisions inside the explicit development scope
|
|
54
|
+
- decisions sufficiently covered by selected existing Source
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
A decision is material when changing it would materially change what the user sees, understands, can do or receives as feedback. Pure code structure and non-user-visible implementation choices are not design gaps.
|
|
58
|
+
|
|
59
|
+
Account for the applicable meaning at each level; do not require filler for non-applicable dimensions:
|
|
60
|
+
|
|
61
|
+
| Coverage level | Material UI/UX meaning |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| Surface/flow | information hierarchy, page/route composition, layout grid/constraints, region relationships, stacking/overlay, scrolling/overflow, navigation, branching and recovery context |
|
|
64
|
+
| Visual treatment/content | typography, color, spacing, border, radius, elevation, iconography, imagery, density, exact copy/labels, formatting, localization and content presentation |
|
|
65
|
+
| Component/control | anatomy, dimensions, hit area, variants, defaults, visibility/availability and mapping of repeated controls to an existing component family |
|
|
66
|
+
| State/interaction | trigger/input, validation, loading/empty/success/failure/disabled/permission states, transitions, gestures, navigation result, focus/selection behavior, feedback and recovery |
|
|
67
|
+
| Motion | animated property, start/end state, duration, easing, sequencing, interruption and reduced-motion behavior when motion matters |
|
|
68
|
+
| Adaptation/input | viewport/breakpoint, safe area, theme/mode, platform convention, pointer/touch/keyboard behavior, orientation and content stress |
|
|
69
|
+
| Accessibility | label/role, focus order/visibility, keyboard path, touch target, contrast and other applicable assistive behavior |
|
|
70
|
+
| Assets | exact icons, illustrations, media, sound/haptic cues or other bespoke content whose appearance or feedback affects the result |
|
|
71
|
+
|
|
72
72
|
For every material in-scope item, record one task-local disposition: `existing-covered`, `new-resource-needed`, `not-applicable`, `excluded-by-scope`, `decision-required` or `unavailable`. This accounting is reasoning/handoff metadata, not a required file, persistent coverage registry, Design Authority or acceptance result.
|
|
73
73
|
|
|
74
74
|
Existing coverage is sufficient only for the conditions it explicitly specifies or demonstrates. Seeing a control in one default page frame does not cover its variants, dynamic states, feedback, motion, responsive behavior or accessibility. Conversely, a selected component source may cover many control instances, so do not commission duplicate designs merely because several stable control keys map to it.
|
|
75
75
|
|
|
76
76
|
Design resources express user-visible interaction semantics and the presentation of product rules. Business, data, permission and algorithmic rules remain owned by product/technical Source; reference those rules and show their visible consequences without inventing them or making a visual artifact their sole owner.
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
For exploration, ask what remains uncertain inside the scope. For a handoff, ask which material coverage items remain `new-resource-needed`:
|
|
81
|
-
|
|
82
|
-
- **structure:** information hierarchy, layout regions or page relationships;
|
|
83
|
-
- **flow:** navigation, branching, recovery or multi-step sequence;
|
|
84
|
-
- **behavior:** control states, transitions, gestures, feedback, loading/error/empty/disabled cases;
|
|
85
|
-
- **visual direction:** composition, typography, color, density, imagery or brand character;
|
|
86
|
-
- **platform/responsiveness:** safe areas, breakpoints, input methods or viewport behavior;
|
|
87
|
-
- **system reuse:** tokens, component variants or cross-surface rules needed by more than the requested artifact;
|
|
88
|
-
- **team editability/native inspection:** a real need for collaborative editable frames/libraries, inspectable component/token facts or an organizational native-platform handoff.
|
|
89
|
-
|
|
90
|
-
Do not manufacture a gap already resolved by selected Source.
|
|
91
|
-
|
|
92
|
-
## 6. Consider resources conditionally
|
|
78
|
+
### Formal Web/App handoff granularity
|
|
93
79
|
|
|
94
|
-
|
|
95
|
-
| --- | --- | --- |
|
|
96
|
-
| Control/component state study | A unique or complex control has uncovered anatomy, variants, feedback, motion or edge states | A selected page/prototype or component source explicitly specifies and demonstrates the applicable conditions |
|
|
97
|
-
| Low-fidelity wireframe | Hierarchy, topology or flow must be judged without visual-style distraction | Structure is settled and only visual direction is unknown |
|
|
98
|
-
| High-fidelity visual candidate | Visual hierarchy, tone or composition needs selection | Existing selected targets already govern the requested conditions |
|
|
99
|
-
| Interactive prototype | Transitions, navigation, state retention or task feel must be experienced | A static decision is sufficient or the provider cannot produce genuine interaction |
|
|
100
|
-
| Flow/journey board | Multiple surfaces, branches or recovery paths must be compared together | The request is one isolated surface/control |
|
|
101
|
-
| Design-system slice | Several requested artifacts need shared tokens/components or reuse rules | One exploratory candidate does not justify a system |
|
|
102
|
-
| Component inventory/specification | Development handoff needs explicit reusable families, variants, state behavior or mappings for several control instances | Exploration is visual only, or selected component sources already cover every mapped instance |
|
|
103
|
-
| Collaborative native design input | Existing team authority, editable collaboration, native component/library reuse or organizational handoff is explicitly valuable and the connector/auth/read/export path is operational | Open Design/project-native implementation source is sufficient or the native path would create a second synchronized representation |
|
|
104
|
-
| Image/illustration/icon/media study | Bespoke content materially defines the selected direction | Generic placeholders answer the present decision |
|
|
80
|
+
The eight coverage dimensions above are review roll-ups, not atomic Fact identities. Before commissioning a formal selected Web/App handoff, expand the actual Expected Fact Universe:
|
|
105
81
|
|
|
106
|
-
|
|
82
|
+
```text
|
|
83
|
+
in-scope target
|
|
84
|
+
× stable subject (including instance, Anatomy Part, primitive, asset and relation)
|
|
85
|
+
× exact target condition
|
|
86
|
+
× subject-local variant/state/interaction/presence/instance case
|
|
87
|
+
× atomic observable property
|
|
88
|
+
```
|
|
107
89
|
|
|
90
|
+
Target conditions explicitly disposition platform, OS, device/form factor, exact viewport geometry, orientation, density, Safe Area, window/fold/display/color mode, locale/language/script/direction/pseudo-localization, content/data stress, text scale, input/assistive technology, motion/transparency/contrast/bold-text/button-shape preferences, system UI/IME, permission/capability/connectivity/lifecycle and scoped custom axes. Subject-local variation includes compound precedence, conditional/lazy/virtualized/portal presence and population identity. Atomic properties include exact page assembly and geometry, layout/scroll relations, typography/color/decoration/content/icon/media, interaction/navigation/motion/feedback, responsive rules, accessibility, asset/system behavior and multi-subject relations.
|
|
91
|
+
|
|
92
|
+
Every applicable cell needs a canonical value and proof obligation; every removed cell needs an exact Source/Inspector basis and `not_applicable` or `excluded_by_scope`. `decision_required` and `unavailable` block a ready handoff. A default view, one state-board label, three viewport screenshots, pairwise sample, broad dimension fact, or string such as `all-21-states` cannot replace atomic expansion. Continuous width/text-pressure/motion behavior must expose exact ranges, breakpoints, interpolation, reflow or timeline rules between captured points.
|
|
93
|
+
|
|
94
|
+
This does not imply one file per Fact or one image per component. A compact canonical HTML/CSS/JS/JSON/SVG/tokens/assets set can carry the entire universe. Resource minimization is valid only when no identity or value becomes implicit.
|
|
95
|
+
|
|
96
|
+
## 5. Identify independent gaps
|
|
97
|
+
|
|
98
|
+
For exploration, ask what remains uncertain inside the scope. For a handoff, ask which material coverage items remain `new-resource-needed`:
|
|
99
|
+
|
|
100
|
+
- **structure:** information hierarchy, layout regions or page relationships;
|
|
101
|
+
- **flow:** navigation, branching, recovery or multi-step sequence;
|
|
102
|
+
- **behavior:** control states, transitions, gestures, feedback, loading/error/empty/disabled cases;
|
|
103
|
+
- **visual direction:** composition, typography, color, density, imagery or brand character;
|
|
104
|
+
- **platform/responsiveness:** safe areas, breakpoints, input methods or viewport behavior;
|
|
105
|
+
- **system reuse:** tokens, component variants or cross-surface rules needed by more than the requested artifact;
|
|
106
|
+
- **team editability/native inspection:** a real need for collaborative editable frames/libraries, inspectable component/token facts or an organizational native-platform handoff.
|
|
107
|
+
|
|
108
|
+
Do not manufacture a gap already resolved by selected Source.
|
|
109
|
+
|
|
110
|
+
## 6. Consider resources conditionally
|
|
111
|
+
|
|
112
|
+
| Resource | Select when it closes this gap | Usually omit when |
|
|
113
|
+
| --- | --- | --- |
|
|
114
|
+
| Control/component state study | A unique or complex control has uncovered anatomy, variants, feedback, motion or edge states | A selected page/prototype or component source explicitly specifies and demonstrates the applicable conditions |
|
|
115
|
+
| Low-fidelity wireframe | Hierarchy, topology or flow must be judged without visual-style distraction | Structure is settled and only visual direction is unknown |
|
|
116
|
+
| High-fidelity visual candidate | Visual hierarchy, tone or composition needs selection | Existing selected targets already govern the requested conditions |
|
|
117
|
+
| Interactive prototype | Transitions, navigation, state retention or task feel must be experienced | A static decision is sufficient or the provider cannot produce genuine interaction |
|
|
118
|
+
| Flow/journey board | Multiple surfaces, branches or recovery paths must be compared together | The request is one isolated surface/control |
|
|
119
|
+
| Design-system slice | Several requested artifacts need shared tokens/components or reuse rules | One exploratory candidate does not justify a system |
|
|
120
|
+
| Component inventory/specification | Development handoff needs explicit reusable families, variants, state behavior or mappings for several control instances | Exploration is visual only, or selected component sources already cover every mapped instance |
|
|
121
|
+
| Collaborative native design input | Existing team authority, editable collaboration, native component/library reuse or organizational handoff is explicitly valuable and the connector/auth/read/export path is operational | Open Design/project-native implementation source is sufficient or the native path would create a second synchronized representation |
|
|
122
|
+
| Image/illustration/icon/media study | Bespoke content materially defines the selected direction | Generic placeholders answer the present decision |
|
|
123
|
+
|
|
124
|
+
A prototype is often valuable for new Web/App flows, but it is never automatically required. Low- and high-fidelity resources may both be selected only when they answer independent questions. One comprehensive, inspectable artifact may cover page composition and several component families; a static frame cannot claim unseen interaction or state coverage merely because all controls appear in it.
|
|
125
|
+
|
|
108
126
|
Do not translate Product Control closure into one artifact per control. Artifact grouping is an authoring optimization, while the later implementation handoff still inventories every observable design fact inside those artifacts, including component parts and smaller primitives. Map ordinary controls to selected shared component variants, group related states in one component-family board or workbench, and reserve dedicated resources for unique or complex controls whose material meaning is otherwise uncovered.
|
|
109
|
-
|
|
110
|
-
## 7. Assign a disposition to every considered resource
|
|
111
|
-
|
|
112
|
-
- `selected`: required to close a current gap;
|
|
113
|
-
- `optional`: useful, but not necessary for the current decision;
|
|
114
|
-
- `not-needed`: redundant or outside the scope ceiling;
|
|
115
|
-
- `unavailable`: justified but not currently supported/configured;
|
|
116
|
-
- `decision-required`: a genuine unresolved preference changes the commission materially.
|
|
117
|
-
|
|
118
|
-
Give one concrete reason. Do not turn `optional` into automatic extra work.
|
|
119
|
-
|
|
120
|
-
## 8. Build the commission envelope
|
|
121
|
-
|
|
122
|
-
The task-local envelope should contain only product-specific information:
|
|
123
|
-
|
|
124
|
-
```yaml
|
|
125
|
-
intent: exploration | handoff | selected-source-preparation
|
|
126
|
-
scope:
|
|
127
|
-
subjects: [named surface/flow/region/component/control keys]
|
|
128
|
-
ceiling: one-control | one-region | one-page | named-pages | named-flow | system-slice
|
|
129
|
-
necessary_context: []
|
|
130
|
-
excluded: []
|
|
131
|
-
platform: known-or-unknown
|
|
132
|
-
viewports: []
|
|
127
|
+
|
|
128
|
+
## 7. Assign a disposition to every considered resource
|
|
129
|
+
|
|
130
|
+
- `selected`: required to close a current gap;
|
|
131
|
+
- `optional`: useful, but not necessary for the current decision;
|
|
132
|
+
- `not-needed`: redundant or outside the scope ceiling;
|
|
133
|
+
- `unavailable`: justified but not currently supported/configured;
|
|
134
|
+
- `decision-required`: a genuine unresolved preference changes the commission materially.
|
|
135
|
+
|
|
136
|
+
Give one concrete reason. Do not turn `optional` into automatic extra work.
|
|
137
|
+
|
|
138
|
+
## 8. Build the commission envelope
|
|
139
|
+
|
|
140
|
+
The task-local envelope should contain only product-specific information:
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
intent: exploration | handoff | selected-source-preparation
|
|
144
|
+
scope:
|
|
145
|
+
subjects: [named surface/flow/region/component/control keys]
|
|
146
|
+
ceiling: one-control | one-region | one-page | named-pages | named-flow | system-slice
|
|
147
|
+
necessary_context: []
|
|
148
|
+
excluded: []
|
|
149
|
+
platform: known-or-unknown
|
|
150
|
+
viewports: []
|
|
133
151
|
coverage:
|
|
134
152
|
material_needs: []
|
|
135
153
|
observable_fact_families: []
|
|
@@ -138,37 +156,46 @@ coverage:
|
|
|
138
156
|
required_components_states: []
|
|
139
157
|
required_interactions_motion: []
|
|
140
158
|
required_adaptation_accessibility: []
|
|
159
|
+
formal_handoff_obligation_universe:
|
|
160
|
+
subjects_and_hierarchy: []
|
|
161
|
+
condition_axis_dispositions: []
|
|
162
|
+
condition_combinations_and_exclusions: []
|
|
163
|
+
subject_variation_axes_and_combinations: []
|
|
164
|
+
standard_and_custom_atomic_properties: []
|
|
165
|
+
required_fact_methods: []
|
|
166
|
+
inspector_capabilities: []
|
|
167
|
+
unresolved_cells: []
|
|
141
168
|
inputs:
|
|
142
169
|
exact_targets: []
|
|
143
|
-
constraints: []
|
|
144
|
-
inspiration: []
|
|
145
|
-
background: []
|
|
146
|
-
selected_capability:
|
|
147
|
-
kind: runtime-discovered-kind
|
|
148
|
-
id: runtime-discovered-id
|
|
149
|
-
expected_entry: known-or-provider-native
|
|
150
|
-
review_promise: minimal-sanity | handoff-checks | selected-source-snapshot
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
This is an explanatory shape, not a required file or schema. Never paste or paraphrase the Open Design capability's own seed/template prompt into it.
|
|
154
|
-
|
|
155
|
-
## 9. Iterate and stop
|
|
156
|
-
|
|
157
|
-
- Keep each revision inside the original scope ceiling unless the user explicitly expands it.
|
|
158
|
-
- Reuse the current Open Design project when that preserves context and provenance; preserve the prior artifact hash before overwriting a selected candidate.
|
|
159
|
-
- Do not create low-fi, high-fi, component boards or native-platform copies merely because a process diagram lists them.
|
|
160
|
-
- For exploration, stop as soon as the requested decision is supported.
|
|
161
|
-
- For
|
|
162
|
-
|
|
163
|
-
During iteration, keep accepted, rejected and unresolved implications in a task-local delta buffer. Do not require or emit an interim delta after every iteration and never continuously synchronize the initial proposal. After explicit human selection or explicitly delegated selection, consolidate the buffer once and reconcile only accepted decisions into the initial proposal. If it is a writable file, update it in place while preserving original intent/provenance; otherwise return one complete revised proposal. The operation must be idempotent, name selected artifact locators/hashes and affected stable keys, and exclude rejected/unresolved choices. Never write a Source Plan, Context, `DESIGN.md`, code, tests or Contract.
|
|
164
|
-
|
|
165
|
-
## Worked scope examples
|
|
166
|
-
|
|
167
|
-
- **Large draft, one filter control:** select a control-state study if anatomy and states are uncertain; omit page/flow resources.
|
|
168
|
-
- **One page, style preview:** first require configured Design Authority and matching Open Design binding, then select one high-fidelity candidate; do not add a design-system pack or validator run.
|
|
169
|
-
- **One page scheduled for development:** use a page/flow target for layout and context, map ordinary buttons/inputs to selected component variants, and add grouped component-state or dedicated complex-control studies only where relevant static/dynamic states, feedback, motion, responsiveness or accessibility remain uncovered.
|
|
170
|
-
- **Local panel inside a large app:** include enough surrounding page context to place and size the panel, but generate detailed resources only for the panel, its in-scope controls and affected states.
|
|
171
|
-
- **One comprehensive interactive artifact:** accept it as the minimum set when its sections and reachable states explicitly cover every material in-scope item; do not add duplicate control boards. If it exposes only a static/default view, commission the missing state/interaction coverage instead of inferring it.
|
|
172
|
-
- **Three-screen interaction flow:** select a low-fi flow and an interactive high-fi prototype only if topology and interaction/visual behavior are independently unresolved.
|
|
173
|
-
- **Local style fix with exact target:** select no new design resource and route to implementation.
|
|
174
|
-
- **Initial proposal before execution:** iterate only requested candidates, keep one task-local delta buffer, then after selection reconcile accepted decisions once. Pass the revised proposal plus selected immutable resources directly to the default Goal or `long-task-workflow`.
|
|
170
|
+
constraints: []
|
|
171
|
+
inspiration: []
|
|
172
|
+
background: []
|
|
173
|
+
selected_capability:
|
|
174
|
+
kind: runtime-discovered-kind
|
|
175
|
+
id: runtime-discovered-id
|
|
176
|
+
expected_entry: known-or-provider-native
|
|
177
|
+
review_promise: minimal-sanity | handoff-checks | selected-source-snapshot
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
This is an explanatory shape, not a required file or schema. Never paste or paraphrase the Open Design capability's own seed/template prompt into it.
|
|
181
|
+
|
|
182
|
+
## 9. Iterate and stop
|
|
183
|
+
|
|
184
|
+
- Keep each revision inside the original scope ceiling unless the user explicitly expands it.
|
|
185
|
+
- Reuse the current Open Design project when that preserves context and provenance; preserve the prior artifact hash before overwriting a selected candidate.
|
|
186
|
+
- Do not create low-fi, high-fi, component boards or native-platform copies merely because a process diagram lists them.
|
|
187
|
+
- For exploration, stop as soon as the requested decision is supported.
|
|
188
|
+
- For a formal Web/App implementation handoff, stop only when the prederived Expected Fact Universe, the frozen Inspector's canonical resource Fact universe and the residual handoff's indexed universe are set-equal; every Census item and resource has an exact disposition; every Fact has all property-required proof methods; every collection proves no sampling/truncation; and no material user-visible design decision remains for the implementer to invent. An exact target also needs full-target layout and pixel Facts for every declared condition. Honest `decision_required` or `unavailable` items may stop further generation, but the result is a blocked authoring outcome: it cannot pass shared preflight, be called a ready implementation handoff or authorize fidelity work. This does not claim Design Authority or implementation acceptance.
|
|
189
|
+
|
|
190
|
+
During iteration, keep accepted, rejected and unresolved implications in a task-local delta buffer. Do not require or emit an interim delta after every iteration and never continuously synchronize the initial proposal. After explicit human selection or explicitly delegated selection, consolidate the buffer once and reconcile only accepted decisions into the initial proposal. If it is a writable file, update it in place while preserving original intent/provenance; otherwise return one complete revised proposal. The operation must be idempotent, name selected artifact locators/hashes and affected stable keys, and exclude rejected/unresolved choices. Never write a Source Plan, Context, `DESIGN.md`, code, tests or Contract.
|
|
191
|
+
|
|
192
|
+
## Worked scope examples
|
|
193
|
+
|
|
194
|
+
- **Large draft, one filter control:** select a control-state study if anatomy and states are uncertain; omit page/flow resources.
|
|
195
|
+
- **One page, style preview:** first require configured Design Authority and matching Open Design binding, then select one high-fidelity candidate; do not add a design-system pack or validator run.
|
|
196
|
+
- **One page scheduled for development:** use a page/flow target for layout and context, map ordinary buttons/inputs to selected component variants, and add grouped component-state or dedicated complex-control studies only where relevant static/dynamic states, feedback, motion, responsiveness or accessibility remain uncovered.
|
|
197
|
+
- **Local panel inside a large app:** include enough surrounding page context to place and size the panel, but generate detailed resources only for the panel, its in-scope controls and affected states.
|
|
198
|
+
- **One comprehensive interactive artifact:** accept it as the minimum set when its sections and reachable states explicitly cover every material in-scope item; do not add duplicate control boards. If it exposes only a static/default view, commission the missing state/interaction coverage instead of inferring it.
|
|
199
|
+
- **Three-screen interaction flow:** select a low-fi flow and an interactive high-fi prototype only if topology and interaction/visual behavior are independently unresolved.
|
|
200
|
+
- **Local style fix with exact target:** select no new design resource and route to implementation.
|
|
201
|
+
- **Initial proposal before execution:** iterate only requested candidates, keep one task-local delta buffer, then after selection reconcile accepted decisions once. Pass the revised proposal plus selected immutable resources directly to the default Goal or `long-task-workflow`.
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: design-system-authoring
|
|
3
|
-
description: Use only when the user explicitly asks to initialize, generate, choose, adopt, replace or repair a project design system or design style with Open Design; asks for “初始化设计系统”, “生成设计系统”, “确定设计风格”, “采纳 Open Design 设计系统”, or explicitly invokes design-system-authoring in a Minimal Context Harness project. This cold-start capability never runs merely because DESIGN.md is missing, a project is new, another Skill needs visual style, or ordinary UI work begins.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Design System Authoring
|
|
7
|
-
|
|
8
|
-
Generate or select an Open Design design system, obtain an explicit selection, and adopt that selection into the project's existing durable Design Authority. The user invokes this Skill at project cold start or later repair time; installation only makes it available.
|
|
9
|
-
|
|
10
|
-
## Hard boundaries
|
|
11
|
-
|
|
12
|
-
- Run only from an explicit user request. Never auto-run from `init`, `sync`, the default Workflow, `design-resource-authoring`, a missing/starter `DESIGN.md`, or a new-project inference.
|
|
13
|
-
- A combined explicit user request to initialize the system and then generate resources authorizes that sequence; a resource gate alone does not.
|
|
14
|
-
- Open Design owns generation, revision, previews and its catalogue. Use its live structured capabilities; do not copy its prompts, emulate its generator, vendor a catalogue or invent provider IDs.
|
|
15
|
-
- Keep candidate generation, human/delegated selection and authority adoption distinct. A successful job or attractive preview is not selected and is not project authority.
|
|
16
|
-
- Project `DESIGN.md` and its one declared authored exact-value token source or generation direction are canonical. An Open Design design-system record and project binding are provider synchronization, not a second authority.
|
|
17
|
-
- Put durable surface, information-architecture and interaction facts in their owning `project_context/**`; put visual-system semantics, rationale, token direction and reference interpretation in `DESIGN.md`. Do not duplicate facts across owners.
|
|
18
|
-
- Do not create a design registry, receipt, workflow state, Contract, acceptance gate or provider runtime inside Tiny Context.
|
|
19
|
-
- Do not persistently install/configure MCP, plugins, authentication or disclosure paths without separate authorization. Task-local use of an already available Open Design MCP/daemon is allowed.
|
|
20
|
-
- Do not implement production UI or claim downstream fidelity, accessibility, product correctness or acceptance.
|
|
21
|
-
|
|
22
|
-
## Read the references
|
|
23
|
-
|
|
24
|
-
1. Always read [open-design-design-system-provider.md](references/open-design-design-system-provider.md) before discovery, generation, revision, selection or provider synchronization.
|
|
25
|
-
2. Always read [authority-adoption.md](references/authority-adoption.md) before changing `DESIGN.md`, its token source, relevant Context or provider bindings.
|
|
26
|
-
|
|
27
|
-
## Core workflow
|
|
28
|
-
|
|
29
|
-
1. **Confirm explicit intent and scope.** Identify whether the user wants a new system, selection from existing systems, repair, or replacement; capture the product/brand purpose, supported surface/platform, accessibility needs, required modes and supplied references. Ask only when an unresolved aesthetic or brand choice materially changes the candidates and the user has not delegated selection.
|
|
30
|
-
2. **Inspect current authority.** Read core Context, relevant surface/interaction Context, `DESIGN.md`, its declared token source/generation direction and any recorded Open Design provenance. Classify the project as `unconfigured`, `configured`, or `configured-but-inconsistent`; this is a task-local finding, not new state.
|
|
31
|
-
3. **Discover live Open Design capabilities.** Prefer structured MCP. List/read `od://design-systems/<id>/DESIGN.md`, inspect tool schemas, and feature-detect design-system creation/revision/acceptance plus project binding. Record the live provider/MCP version and any fallback used.
|
|
32
|
-
4. **Reuse or generate candidates.** Reuse an existing provider system only when its identity and meaning fit. If a live MCP creation capability exists, use it. Otherwise use the official daemon generation-job API described in the provider reference. Keep every output a candidate until selection.
|
|
33
|
-
5. **Review and iterate.** Inspect `DESIGN.md`, generated token files, preview/showcase and relevant workspace files. Use provider revision jobs for scoped feedback, poll boundedly, preserve diagnostics and keep pending revisions non-authoritative.
|
|
34
|
-
6. **Obtain selection.** Require an explicit user/team selection, or an explicit instruction delegating selection with known criteria. Record the selection basis, provider design-system ID, selected revision when applicable and immutable content digest/snapshot. Reject or leave other candidates unselected.
|
|
35
|
-
7. **Adopt once.** Reconcile the selected system through the authority-adoption procedure. Update root `DESIGN.md`, establish exactly one authored token source/generation direction, update only owning Context facts, and record provider provenance without making it authoritative.
|
|
36
|
-
8. **Synchronize Open Design.** Accept the selected pending revision when applicable. Confirm MCP can read the adopted provider system. For later style-bearing resource work, create or verify an Open Design project with `create_project.designSystem` equal to the adopted provider ID.
|
|
37
|
-
9. **Validate and report.** Run project-owned Context/design lint and source/package checks appropriate to the repository. Separately report provider execution, artifact readiness, selection, authority adoption, provider synchronization, verification and unresolved issues.
|
|
38
|
-
|
|
39
|
-
## Readiness classification
|
|
40
|
-
|
|
41
|
-
Treat Design Authority as unconfigured when `DESIGN.md` is absent, explicitly says `Design authority status: unconfigured`, remains an unedited starter, contains only style adjectives/inspiration, or lacks one authored exact-value token source/generation direction. A configured visual system still does not make every surface implementation-ready; selected exact/constraint targets and declared coverage remain separate.
|
|
42
|
-
|
|
43
|
-
If authority is already configured and the user did not ask to replace or repair it, prefer reuse and explain the current system. Never generate a competing system as filler.
|
|
44
|
-
|
|
45
|
-
## Completion response
|
|
46
|
-
|
|
47
|
-
Report:
|
|
48
|
-
|
|
49
|
-
- requested operation and design-system scope;
|
|
50
|
-
- Open Design transport/version and capabilities actually used;
|
|
51
|
-
- candidate IDs and review performed;
|
|
52
|
-
- explicit or delegated selection basis;
|
|
53
|
-
- adopted `DESIGN.md`, token source and Context owners changed;
|
|
54
|
-
- provider ID, revision/digest and project-binding verification;
|
|
55
|
-
- validations run, limitations and decisions still required.
|
|
56
|
-
|
|
57
|
-
Always distinguish `provider succeeded`, `artifact ready`, `selected`, `authority adopted` and `binding verified`; none implies the next.
|
|
1
|
+
---
|
|
2
|
+
name: design-system-authoring
|
|
3
|
+
description: Use only when the user explicitly asks to initialize, generate, choose, adopt, replace or repair a project design system or design style with Open Design; asks for “初始化设计系统”, “生成设计系统”, “确定设计风格”, “采纳 Open Design 设计系统”, or explicitly invokes design-system-authoring in a Minimal Context Harness project. This cold-start capability never runs merely because DESIGN.md is missing, a project is new, another Skill needs visual style, or ordinary UI work begins.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design System Authoring
|
|
7
|
+
|
|
8
|
+
Generate or select an Open Design design system, obtain an explicit selection, and adopt that selection into the project's existing durable Design Authority. The user invokes this Skill at project cold start or later repair time; installation only makes it available.
|
|
9
|
+
|
|
10
|
+
## Hard boundaries
|
|
11
|
+
|
|
12
|
+
- Run only from an explicit user request. Never auto-run from `init`, `sync`, the default Workflow, `design-resource-authoring`, a missing/starter `DESIGN.md`, or a new-project inference.
|
|
13
|
+
- A combined explicit user request to initialize the system and then generate resources authorizes that sequence; a resource gate alone does not.
|
|
14
|
+
- Open Design owns generation, revision, previews and its catalogue. Use its live structured capabilities; do not copy its prompts, emulate its generator, vendor a catalogue or invent provider IDs.
|
|
15
|
+
- Keep candidate generation, human/delegated selection and authority adoption distinct. A successful job or attractive preview is not selected and is not project authority.
|
|
16
|
+
- Project `DESIGN.md` and its one declared authored exact-value token source or generation direction are canonical. An Open Design design-system record and project binding are provider synchronization, not a second authority.
|
|
17
|
+
- Put durable surface, information-architecture and interaction facts in their owning `project_context/**`; put visual-system semantics, rationale, token direction and reference interpretation in `DESIGN.md`. Do not duplicate facts across owners.
|
|
18
|
+
- Do not create a design registry, receipt, workflow state, Contract, acceptance gate or provider runtime inside Tiny Context.
|
|
19
|
+
- Do not persistently install/configure MCP, plugins, authentication or disclosure paths without separate authorization. Task-local use of an already available Open Design MCP/daemon is allowed.
|
|
20
|
+
- Do not implement production UI or claim downstream fidelity, accessibility, product correctness or acceptance.
|
|
21
|
+
|
|
22
|
+
## Read the references
|
|
23
|
+
|
|
24
|
+
1. Always read [open-design-design-system-provider.md](references/open-design-design-system-provider.md) before discovery, generation, revision, selection or provider synchronization.
|
|
25
|
+
2. Always read [authority-adoption.md](references/authority-adoption.md) before changing `DESIGN.md`, its token source, relevant Context or provider bindings.
|
|
26
|
+
|
|
27
|
+
## Core workflow
|
|
28
|
+
|
|
29
|
+
1. **Confirm explicit intent and scope.** Identify whether the user wants a new system, selection from existing systems, repair, or replacement; capture the product/brand purpose, supported surface/platform, accessibility needs, required modes and supplied references. Ask only when an unresolved aesthetic or brand choice materially changes the candidates and the user has not delegated selection.
|
|
30
|
+
2. **Inspect current authority.** Read core Context, relevant surface/interaction Context, `DESIGN.md`, its declared token source/generation direction and any recorded Open Design provenance. Classify the project as `unconfigured`, `configured`, or `configured-but-inconsistent`; this is a task-local finding, not new state.
|
|
31
|
+
3. **Discover live Open Design capabilities.** Prefer structured MCP. List/read `od://design-systems/<id>/DESIGN.md`, inspect tool schemas, and feature-detect design-system creation/revision/acceptance plus project binding. Record the live provider/MCP version and any fallback used.
|
|
32
|
+
4. **Reuse or generate candidates.** Reuse an existing provider system only when its identity and meaning fit. If a live MCP creation capability exists, use it. Otherwise use the official daemon generation-job API described in the provider reference. Keep every output a candidate until selection.
|
|
33
|
+
5. **Review and iterate.** Inspect `DESIGN.md`, generated token files, preview/showcase and relevant workspace files. Use provider revision jobs for scoped feedback, poll boundedly, preserve diagnostics and keep pending revisions non-authoritative.
|
|
34
|
+
6. **Obtain selection.** Require an explicit user/team selection, or an explicit instruction delegating selection with known criteria. Record the selection basis, provider design-system ID, selected revision when applicable and immutable content digest/snapshot. Reject or leave other candidates unselected.
|
|
35
|
+
7. **Adopt once.** Reconcile the selected system through the authority-adoption procedure. Update root `DESIGN.md`, establish exactly one authored token source/generation direction, update only owning Context facts, and record provider provenance without making it authoritative.
|
|
36
|
+
8. **Synchronize Open Design.** Accept the selected pending revision when applicable. Confirm MCP can read the adopted provider system. For later style-bearing resource work, create or verify an Open Design project with `create_project.designSystem` equal to the adopted provider ID.
|
|
37
|
+
9. **Validate and report.** Run project-owned Context/design lint and source/package checks appropriate to the repository. Separately report provider execution, artifact readiness, selection, authority adoption, provider synchronization, verification and unresolved issues.
|
|
38
|
+
|
|
39
|
+
## Readiness classification
|
|
40
|
+
|
|
41
|
+
Treat Design Authority as unconfigured when `DESIGN.md` is absent, explicitly says `Design authority status: unconfigured`, remains an unedited starter, contains only style adjectives/inspiration, or lacks one authored exact-value token source/generation direction. A configured visual system still does not make every surface implementation-ready; selected exact/constraint targets and declared coverage remain separate.
|
|
42
|
+
|
|
43
|
+
If authority is already configured and the user did not ask to replace or repair it, prefer reuse and explain the current system. Never generate a competing system as filler.
|
|
44
|
+
|
|
45
|
+
## Completion response
|
|
46
|
+
|
|
47
|
+
Report:
|
|
48
|
+
|
|
49
|
+
- requested operation and design-system scope;
|
|
50
|
+
- Open Design transport/version and capabilities actually used;
|
|
51
|
+
- candidate IDs and review performed;
|
|
52
|
+
- explicit or delegated selection basis;
|
|
53
|
+
- adopted `DESIGN.md`, token source and Context owners changed;
|
|
54
|
+
- provider ID, revision/digest and project-binding verification;
|
|
55
|
+
- validations run, limitations and decisions still required.
|
|
56
|
+
|
|
57
|
+
Always distinguish `provider succeeded`, `artifact ready`, `selected`, `authority adopted` and `binding verified`; none implies the next.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "Design System Authoring"
|
|
3
|
-
short_description: "Generate and adopt a project design system"
|
|
4
|
-
default_prompt: "Use $design-system-authoring to generate, select, and adopt an Open Design design system for this project."
|
|
5
|
-
policy:
|
|
6
|
-
allow_implicit_invocation: false
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Design System Authoring"
|
|
3
|
+
short_description: "Generate and adopt a project design system"
|
|
4
|
+
default_prompt: "Use $design-system-authoring to generate, select, and adopt an Open Design design system for this project."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: false
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
# Design-System Authority Adoption
|
|
2
|
-
|
|
3
|
-
Adopt one explicitly selected Open Design result through existing Minimal Context owners. This is a reconciliation step, not a new authority lifecycle.
|
|
4
|
-
|
|
5
|
-
## Preconditions
|
|
6
|
-
|
|
7
|
-
- Selection is explicit, or the user explicitly delegated selection and the stated criteria support one defensible choice.
|
|
8
|
-
- The exact provider design-system ID and selected revision/body are readable.
|
|
9
|
-
- `DESIGN.md`, generated token artifacts and relevant preview/workspace files have been inspected.
|
|
10
|
-
- The selected content has a stable digest or user-approved snapshot.
|
|
11
|
-
- Conflicts with product/surface Context are resolved or remain an explicit decision; provider output never silently overrides product meaning.
|
|
12
|
-
|
|
13
|
-
## Single-owner writeback
|
|
14
|
-
|
|
15
|
-
Use these owners:
|
|
16
|
-
|
|
17
|
-
- `project_context/**`: durable surface responsibility, information hierarchy, navigation, stable interaction/state, product accessibility requirements and repeatable verification entrypoints;
|
|
18
|
-
- root `DESIGN.md`: visual principles, typography, color, spacing, radius, elevation, motion rationale, component visual semantics, token-source declaration and interpretation of design references;
|
|
19
|
-
- one project-native authored token source or one explicit generation direction: exact values consumed by implementation;
|
|
20
|
-
- selected authored targets: concrete composition/condition coverage, kept as ordinary versioned project Source.
|
|
21
|
-
|
|
22
|
-
Do not copy the same fact into several owners. Open Design metadata is provenance only.
|
|
23
|
-
|
|
24
|
-
## Adoption procedure
|
|
25
|
-
|
|
26
|
-
1. Read the project's `DESIGN.md` format and lint expectations. Preserve valid project-specific content unless the user explicitly authorized replacement.
|
|
27
|
-
2. Reconcile selected provider semantics against controlling Context. Provider-invented business, permission, data or algorithmic rules are excluded unless independently authorized by product Source.
|
|
28
|
-
3. Write the selected visual system into `DESIGN.md` and declare exactly one authored exact-value token source or generation direction. Avoid style-only adjectives without implementation meaning.
|
|
29
|
-
4. Record provider provenance in a normal `DESIGN.md` section unless the format explicitly permits metadata fields. Include provider name/version, design-system ID, selected revision when applicable, selection basis, immutable source/snapshot locator and SHA-256 digest, plus the editable upstream owner/locator/update/export route. State that project files are canonical.
|
|
30
|
-
5. Update only relevant Context when durable surface/interaction/verification facts changed. Use stable surface/control/target keys to make every adopted decision-relevant target Context-reachable without duplicating the visual prose.
|
|
31
|
-
6. Put concrete selected targets/tokens in project-native versioned paths selected by the user or existing project convention. Never silently choose a repository directory merely because Open Design has a mutable workspace. Never overwrite an adopted baseline in place; update upstream, create or approve a new immutable version/digest and update the owning reference.
|
|
32
|
-
7. Accept the selected provider revision if one exists, then re-read the MCP design-system resource and compare its identity/body or digest with the adopted selection.
|
|
33
|
-
8. Verify downstream project binding by creating or reading a provider project with the selected ID. Provider mismatch is a synchronization problem, not evidence that project Design Authority is absent.
|
|
34
|
-
|
|
35
|
-
## Validation
|
|
36
|
-
|
|
37
|
-
Run the repository-owned Design Authority lint, Context validation and token generation/check paths. At minimum confirm:
|
|
38
|
-
|
|
39
|
-
- `DESIGN.md` is no longer an unconfigured starter;
|
|
40
|
-
- exactly one authored token source/generation direction is declared and resolvable;
|
|
41
|
-
- provenance points to the selected provider ID/revision/digest;
|
|
42
|
-
- each adopted target has a readable immutable locator and a verified editable upstream/update route or an explicit manual/external-update boundary;
|
|
43
|
-
- no competing design-system authority or duplicate token owner was introduced;
|
|
44
|
-
- MCP can read the provider design system;
|
|
45
|
-
- a downstream Open Design project reports the matching `designSystemId`;
|
|
46
|
-
- candidate resources remain candidates unless independently selected.
|
|
47
|
-
|
|
48
|
-
Report changed owners and validation results. Do not claim production visual acceptance from these checks.
|
|
1
|
+
# Design-System Authority Adoption
|
|
2
|
+
|
|
3
|
+
Adopt one explicitly selected Open Design result through existing Minimal Context owners. This is a reconciliation step, not a new authority lifecycle.
|
|
4
|
+
|
|
5
|
+
## Preconditions
|
|
6
|
+
|
|
7
|
+
- Selection is explicit, or the user explicitly delegated selection and the stated criteria support one defensible choice.
|
|
8
|
+
- The exact provider design-system ID and selected revision/body are readable.
|
|
9
|
+
- `DESIGN.md`, generated token artifacts and relevant preview/workspace files have been inspected.
|
|
10
|
+
- The selected content has a stable digest or user-approved snapshot.
|
|
11
|
+
- Conflicts with product/surface Context are resolved or remain an explicit decision; provider output never silently overrides product meaning.
|
|
12
|
+
|
|
13
|
+
## Single-owner writeback
|
|
14
|
+
|
|
15
|
+
Use these owners:
|
|
16
|
+
|
|
17
|
+
- `project_context/**`: durable surface responsibility, information hierarchy, navigation, stable interaction/state, product accessibility requirements and repeatable verification entrypoints;
|
|
18
|
+
- root `DESIGN.md`: visual principles, typography, color, spacing, radius, elevation, motion rationale, component visual semantics, token-source declaration and interpretation of design references;
|
|
19
|
+
- one project-native authored token source or one explicit generation direction: exact values consumed by implementation;
|
|
20
|
+
- selected authored targets: concrete composition/condition coverage, kept as ordinary versioned project Source.
|
|
21
|
+
|
|
22
|
+
Do not copy the same fact into several owners. Open Design metadata is provenance only.
|
|
23
|
+
|
|
24
|
+
## Adoption procedure
|
|
25
|
+
|
|
26
|
+
1. Read the project's `DESIGN.md` format and lint expectations. Preserve valid project-specific content unless the user explicitly authorized replacement.
|
|
27
|
+
2. Reconcile selected provider semantics against controlling Context. Provider-invented business, permission, data or algorithmic rules are excluded unless independently authorized by product Source.
|
|
28
|
+
3. Write the selected visual system into `DESIGN.md` and declare exactly one authored exact-value token source or generation direction. Avoid style-only adjectives without implementation meaning.
|
|
29
|
+
4. Record provider provenance in a normal `DESIGN.md` section unless the format explicitly permits metadata fields. Include provider name/version, design-system ID, selected revision when applicable, selection basis, immutable source/snapshot locator and SHA-256 digest, plus the editable upstream owner/locator/update/export route. State that project files are canonical.
|
|
30
|
+
5. Update only relevant Context when durable surface/interaction/verification facts changed. Use stable surface/control/target keys to make every adopted decision-relevant target Context-reachable without duplicating the visual prose.
|
|
31
|
+
6. Put concrete selected targets/tokens in project-native versioned paths selected by the user or existing project convention. Never silently choose a repository directory merely because Open Design has a mutable workspace. Never overwrite an adopted baseline in place; update upstream, create or approve a new immutable version/digest and update the owning reference.
|
|
32
|
+
7. Accept the selected provider revision if one exists, then re-read the MCP design-system resource and compare its identity/body or digest with the adopted selection.
|
|
33
|
+
8. Verify downstream project binding by creating or reading a provider project with the selected ID. Provider mismatch is a synchronization problem, not evidence that project Design Authority is absent.
|
|
34
|
+
|
|
35
|
+
## Validation
|
|
36
|
+
|
|
37
|
+
Run the repository-owned Design Authority lint, Context validation and token generation/check paths. At minimum confirm:
|
|
38
|
+
|
|
39
|
+
- `DESIGN.md` is no longer an unconfigured starter;
|
|
40
|
+
- exactly one authored token source/generation direction is declared and resolvable;
|
|
41
|
+
- provenance points to the selected provider ID/revision/digest;
|
|
42
|
+
- each adopted target has a readable immutable locator and a verified editable upstream/update route or an explicit manual/external-update boundary;
|
|
43
|
+
- no competing design-system authority or duplicate token owner was introduced;
|
|
44
|
+
- MCP can read the provider design system;
|
|
45
|
+
- a downstream Open Design project reports the matching `designSystemId`;
|
|
46
|
+
- candidate resources remain candidates unless independently selected.
|
|
47
|
+
|
|
48
|
+
Report changed owners and validation results. Do not claim production visual acceptance from these checks.
|