project-tiny-context-harness 0.7.6 → 0.7.8
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/README.md +27 -16
- package/assets/README.md +31 -29
- package/assets/README.zh-CN.md +29 -27
- package/assets/agents/AGENTS_CORE.md +4 -4
- package/assets/skills/context_uiux_design/SKILL.md +5 -4
- package/assets/skills/design-resource-authoring/SKILL.md +53 -38
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +62 -80
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +19 -2
- package/assets/skills/design-resource-authoring/references/resource-selection.md +73 -24
- package/assets/skills/design-system-authoring/SKILL.md +57 -0
- package/assets/skills/design-system-authoring/agents/openai.yaml +6 -0
- package/assets/skills/design-system-authoring/references/authority-adoption.md +47 -0
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -0
- package/assets/skills/long-task-workflow/SKILL.md +11 -9
- package/assets/skills/long-task-workflow/references/contract-authoring.md +3 -2
- package/assets/skills/long-task-workflow/references/source-authoring.md +98 -0
- package/assets/skills/source-plan-authoring/SKILL.md +6 -477
- package/dist/commands/index.js +1 -1
- package/dist/lib/profiles.js +1 -0
- package/package.json +1 -1
|
@@ -1,65 +1,80 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-resource-authoring
|
|
3
|
-
description: Use when the user explicitly asks to generate, author, plan, commission, or iterate design resources; use Open Design; create a scoped wireframe, prototype, visual candidate, component/control state study, or design
|
|
3
|
+
description: Use when the user explicitly asks to generate, author, plan, commission, or iterate design resources; use Open Design; create a scoped wireframe, prototype, visual candidate, component/control state study, implementation handoff, or the design resources needed for an explicitly named development scope from raw drafts, product/technical plans, visual briefs, screenshots, or existing design resources; or asks to “生成设计资源”, “使用 Open Design”, “生成原型图”, “生成高保真/低保真设计”, “为开发准备设计资源”, or “先看一个控件/页面效果” in a Minimal Context Harness project. Do not trigger for generic design discussion, UX audits, ordinary UI implementation without an explicit resource request, local CSS fixes, durable Design Authority adoption, initial-proposal authoring itself, or Long-Task execution.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Design Resource Authoring
|
|
7
7
|
|
|
8
|
-
Commission the smallest sufficient set of design resources
|
|
8
|
+
Commission the smallest sufficient set of design resources for the explicitly requested output or development scope from live Open Design capabilities. This Skill is a thin task-local planner, provider adapter, iteration guide, final proposal reconciler and handoff layer; Open Design owns generation logic and Tiny Context owns neither its prompts nor runtime.
|
|
9
9
|
|
|
10
10
|
## Hard boundaries
|
|
11
11
|
|
|
12
|
-
- A raw
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- Never
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
12
|
+
- A raw initial proposal is a valid input. Never require, invoke, regenerate or edit a Source Plan.
|
|
13
|
+
- During candidate iteration, keep accepted/rejected/unresolved proposal effects in a task-local delta buffer. Only after a direction is final may this Skill reconcile the initial proposal once. Never continuously rewrite it.
|
|
14
|
+
- Proposal reconciliation changes only the initial proposal: never mutate `project_context/**`, `DESIGN.md`, a Source Plan, Delivery Contract, production code or tests as a design-resource side effect.
|
|
15
|
+
- Never make a prototype, wireframe, high-fidelity candidate, design-system slice, Figma file, variant count or directory layout universally mandatory.
|
|
16
|
+
- Treat the user's explicit output/development scope as the hard ceiling. Include only the surrounding context needed to design that slice.
|
|
17
|
+
- Never require one artifact per control. Reuse selected component sources and group repeated controls by family; commission a dedicated study only for unique or complex uncovered meaning.
|
|
18
|
+
- Never infer that a page frame or prototype covers states, responsiveness, accessibility or interaction it does not explicitly specify or demonstrate.
|
|
19
|
+
- Design resources may express user-visible interaction and presentation, but must not invent or become sole owner of business, data, permission or algorithmic rules.
|
|
20
|
+
- Candidates are ordinary external Source. They do not select themselves, become `exact-target`, create Design Authority or prove acceptance.
|
|
21
|
+
- Do not install or persistently configure MCP, plugins, authentication or disclosure paths without separate authorization.
|
|
22
|
+
- Do not create a resource pack, provider registry, workflow state, Contract artifact, acceptance record or parallel authority lifecycle.
|
|
20
23
|
|
|
21
24
|
## Read the references
|
|
22
25
|
|
|
23
|
-
1. Always read [resource-selection.md](references/resource-selection.md) before deciding what to generate.
|
|
24
|
-
2. Read [open-design-provider.md](references/open-design-provider.md) before capability discovery, provider execution, recovery or Figma routing.
|
|
25
|
-
3. Read [downstream-handoff.md](references/downstream-handoff.md) before
|
|
26
|
+
1. Always read [resource-selection.md](references/resource-selection.md) before deciding what to generate or whether the request is style-bearing.
|
|
27
|
+
2. Read [open-design-provider.md](references/open-design-provider.md) before capability discovery, Design Authority gating, provider execution, recovery or Figma routing.
|
|
28
|
+
3. Read [downstream-handoff.md](references/downstream-handoff.md) before final selection, initial-proposal reconciliation, handoff or downstream use. A simple unselected non-fidelity preview may stop before this reference.
|
|
26
29
|
|
|
27
30
|
## Core workflow
|
|
28
31
|
|
|
29
|
-
1. **Fix the
|
|
30
|
-
2. **Inventory
|
|
31
|
-
3. **
|
|
32
|
-
4. **
|
|
33
|
-
5. **
|
|
34
|
-
6. **
|
|
35
|
-
7. **
|
|
36
|
-
8. **
|
|
37
|
-
9. **
|
|
32
|
+
1. **Fix the scope ceiling.** Name in-scope surfaces, flows, regions, component families, unique controls, conditions, necessary context, exclusions and whether the intent is exploration, handoff or selected-source preparation.
|
|
33
|
+
2. **Inventory inputs.** Accept initial proposals, notes, product/technical plans, visual briefs, screenshots, references and existing resources. Preserve each role as exact target, constraint, inspiration, current-implementation evidence or background; report unreadable/unused material.
|
|
34
|
+
3. **Classify visual-style dependency.** Mark the commission `style-bearing` when it materially expresses visual fidelity, brand, typography/color/density, component visual treatment or a production-style prototype. Mark it `non-fidelity` for IA/flow topology, low-fidelity structure, semantics-only behavior/state studies or an explicitly non-fidelity prototype. Mixed work is style-bearing unless split into an independent non-fidelity commission.
|
|
35
|
+
4. **Apply the conditional Design Authority gate.** For style-bearing work, read `DESIGN.md` and its token source. If authority is unconfigured, stop before project/run creation and tell the user to explicitly invoke `$design-system-authoring`; do not invoke it automatically. A combined explicit request authorizes running that Skill first and then resuming this one. Non-fidelity work remains allowed.
|
|
36
|
+
5. **Find design gaps.** For handoff, account for material in-scope structure, control anatomy/variants, content/visual treatment, states, interaction/feedback/motion, adaptation/input, accessibility and assets. Subtract only coverage explicitly supplied by selected Source.
|
|
37
|
+
6. **Discover live capabilities.** Inspect the current Open Design agent/model, skills, templates, design systems, plugins and export paths. Treat absent/non-enumerable capabilities honestly.
|
|
38
|
+
7. **Choose the minimum sufficient commission.** Give each considered resource `selected`, `optional`, `not-needed`, `unavailable` or `decision-required` with one reason. Ask only when a missing preference materially changes the commission.
|
|
39
|
+
8. **Bind and commission through Open Design.** For style-bearing work, create or verify the Open Design project with the adopted design-system ID and require `get_project.designSystemId` to match. Send a bounded product commission through structured MCP; use documented fallbacks only when required.
|
|
40
|
+
9. **Observe, inspect and iterate.** Keep provider execution, artifact readiness and design suitability separate. Iterate within scope. Keep proposal effects only in the delta buffer while candidates remain unsettled.
|
|
41
|
+
10. **Finalize selection and reconcile once.** After explicit human selection or explicit delegated selection, preserve immutable identity and consolidate accepted, rejected and unresolved effects. Apply only accepted decisions once to a writable initial-proposal file; if it exists only in conversation, return one complete revised proposal. Preserve original intent/provenance and make reruns idempotent. Do not write unresolved or rejected choices as requirements.
|
|
42
|
+
11. **Return an intent-sized result.** Exploration shows the artifact promptly. Handoff adds stable-key coverage, provenance, binding, limitations and immutable identity. Include the reconciled initial proposal or its updated path when final selection occurred.
|
|
38
43
|
|
|
39
|
-
##
|
|
44
|
+
## Conditional Design Authority gate
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
Unconfigured means `DESIGN.md` is missing, explicitly says `Design authority status: unconfigured`, remains a starter, contains only style prose/inspiration, or lacks one authored exact-value token source/generation direction. This gate applies only to style-bearing resource authoring; it is not a general project-init gate and configured system-level authority does not by itself prove surface-level implementation readiness.
|
|
47
|
+
|
|
48
|
+
The stop message must state:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
Style-bearing design resources require an adopted project design system. Explicitly invoke $design-system-authoring to generate/select/adopt one, then resume $design-resource-authoring. I will not initialize it automatically.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Initial-proposal reconciliation
|
|
55
|
+
|
|
56
|
+
The normal design-first loop is:
|
|
42
57
|
|
|
43
58
|
```text
|
|
44
|
-
|
|
45
|
-
-> bounded
|
|
46
|
-
->
|
|
47
|
-
-> explicit
|
|
48
|
-
->
|
|
49
|
-
->
|
|
50
|
-
->
|
|
59
|
+
initial proposal
|
|
60
|
+
-> bounded Open Design candidates
|
|
61
|
+
-> feedback and iteration with a task-local delta buffer
|
|
62
|
+
-> explicit or delegated final selection
|
|
63
|
+
-> one consolidated, idempotent initial-proposal reconciliation
|
|
64
|
+
-> revised proposal + selected immutable resources
|
|
65
|
+
-> default Goal execution or long-task-workflow
|
|
51
66
|
```
|
|
52
67
|
|
|
53
|
-
|
|
68
|
+
Small requests may complete generation, selection and reconciliation in one turn; the invariant is one final semantic writeback, not an artificial pause. Reconciliation may clarify product information, controls/states, interaction and visual constraints supported by the selected resource. It preserves original requirements and records selected resource keys/locators/digests without turning provider output into product authority. If selection never occurs, return candidates and the buffered delta only; do not rewrite.
|
|
54
69
|
|
|
55
70
|
## Stop and route elsewhere
|
|
56
71
|
|
|
57
|
-
- Route
|
|
58
|
-
- Route
|
|
59
|
-
- Route ordinary implementation with sufficient
|
|
60
|
-
- Route a complete explicit Single-Goal delivery to `long-task-workflow`.
|
|
61
|
-
- If no new resource is justified, say so
|
|
72
|
+
- Route explicit design-system initialization/adoption to `design-system-authoring`.
|
|
73
|
+
- Route broader durable UI/UX authority repair during development to `context_uiux_design`.
|
|
74
|
+
- Route ordinary implementation with sufficient authority to the default Workflow Contract and current native Goal.
|
|
75
|
+
- Route a complete explicit Single-Goal delivery, using the revised proposal plus selected resources, to `long-task-workflow`.
|
|
76
|
+
- If no new resource is justified, say so instead of generating filler.
|
|
62
77
|
|
|
63
78
|
## Completion response
|
|
64
79
|
|
|
65
|
-
Report
|
|
80
|
+
Report scope, necessary context/exclusions, style dependency and gate result; selected/omitted/unavailable resources; visible artifacts/locators; provider, project/run and design-system binding status; review and selection basis; immutable provenance; material coverage/unresolved decisions; proposal reconciliation status/path; and forbidden inferences.
|
|
@@ -1,58 +1,31 @@
|
|
|
1
|
-
# Design Resource Handoff
|
|
1
|
+
# Design Resource Handoff And Proposal Reconciliation
|
|
2
2
|
|
|
3
|
-
Generated resources remain ordinary external Source.
|
|
3
|
+
Generated resources remain ordinary external Source. Preserve enough identity and meaning for downstream work without creating a Tiny Context pack, registry or authority lifecycle.
|
|
4
4
|
|
|
5
5
|
## Candidate, selection and authority are separate
|
|
6
6
|
|
|
7
|
-
- **Candidate:** provider output proposed for review
|
|
8
|
-
- **
|
|
9
|
-
- **Authority adoption:** a downstream workflow reconciles
|
|
7
|
+
- **Candidate:** provider output proposed for review; it authorizes no fidelity.
|
|
8
|
+
- **Selection:** an explicit user/team choice, or explicit delegation with known criteria; it permits proposal reconciliation and selected-source preparation.
|
|
9
|
+
- **Authority adoption:** a downstream development workflow reconciles selected Source with product/surface Context and `DESIGN.md` and binds implementation/verification to declared conditions.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
This Skill may preserve an input already classified as `exact-target`; it may not promote its own candidate to one. Unknown coverage remains unknown.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Development-scope coverage
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Return promptly:
|
|
18
|
-
|
|
19
|
-
- requested scope and intent;
|
|
20
|
-
- visible candidate/preview;
|
|
21
|
-
- resource dispositions and obvious limitations;
|
|
22
|
-
- provider/artifact qualifier when execution is not clean;
|
|
23
|
-
- minimal sanity review actually performed.
|
|
24
|
-
|
|
25
|
-
Do not require files, schemas, packs, hashes or validator runs for a throwaway unselected preview unless they are needed to retrieve/show it reliably.
|
|
26
|
-
|
|
27
|
-
### Handoff
|
|
15
|
+
For every material in-scope surface/flow/region/component/control condition, record selected existing Source, newly generated Source, `not-applicable`, `excluded-by-scope`, `decision-required` or `unavailable`. Include only necessary surrounding context and explicit exclusions. One larger addressable artifact may cover several items; a static frame covers only conditions it actually shows.
|
|
28
16
|
|
|
29
|
-
|
|
17
|
+
Design resources may show user-visible triggers, transitions, states, feedback and product-rule presentation. Business, data, permission and algorithmic rules remain owned by product/technical Source and must not be invented by visuals.
|
|
30
18
|
|
|
31
|
-
|
|
32
|
-
- classification: candidate, inspiration, constraint or pre-existing exact target;
|
|
33
|
-
- provider version, project/run, selected capability/template, agent/model and design-system provenance as reported live;
|
|
34
|
-
- explicit source entry or preview locator and immutable hash/snapshot when available;
|
|
35
|
-
- declared platform, viewport, mode, state, content and interaction coverage;
|
|
36
|
-
- selection basis if a human selection already exists;
|
|
37
|
-
- unresolved decisions, known limitations and forbidden inferences;
|
|
38
|
-
- outer review performed and provider status qualifier.
|
|
19
|
+
## Final proposal reconciliation
|
|
39
20
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
### Selected-source preparation
|
|
43
|
-
|
|
44
|
-
Require explicit human selection and record who/what supplied the selection basis. Preserve the exact artifact by hash or a user-approved durable snapshot. Do not rely on a mutable preview URL. Do not choose a repository destination, edit authority files or start implementation without separate authorization.
|
|
45
|
-
|
|
46
|
-
## Accepted-design-decision delta
|
|
47
|
-
|
|
48
|
-
When raw-draft exploration leads to an explicit selection, report a delta for the separately owned proposal-revision step:
|
|
21
|
+
Keep a task-local buffer during candidate iteration:
|
|
49
22
|
|
|
50
23
|
```yaml
|
|
51
|
-
selection_basis: explicit user/team
|
|
24
|
+
selection_basis: explicit user/team choice | explicit delegated selection
|
|
52
25
|
selected_resources:
|
|
53
|
-
-
|
|
26
|
+
- stable key, provider/project/run/entry, declared conditions, immutable digest/snapshot
|
|
54
27
|
accepted:
|
|
55
|
-
- decision and
|
|
28
|
+
- decision, rationale and affected proposal section/stable keys
|
|
56
29
|
rejected:
|
|
57
30
|
- alternative and reason
|
|
58
31
|
unresolved:
|
|
@@ -65,62 +38,71 @@ impacts:
|
|
|
65
38
|
state_keys: []
|
|
66
39
|
interaction_rules: []
|
|
67
40
|
visual_constraints: []
|
|
68
|
-
forbidden_inference:
|
|
69
|
-
- candidate iteration did not itself revise the proposal or establish Design Authority
|
|
70
41
|
```
|
|
71
42
|
|
|
72
|
-
This is an explanatory shape, not a
|
|
43
|
+
This is an explanatory shape, not a schema or required file. Do not write during iteration. Once the direction is final:
|
|
73
44
|
|
|
74
|
-
|
|
45
|
+
1. confirm the selection basis and immutable resource identity;
|
|
46
|
+
2. consolidate duplicate/intermediate notes;
|
|
47
|
+
3. apply accepted decisions once while preserving all unaffected original requirements and source provenance;
|
|
48
|
+
4. exclude rejected and unresolved choices from requirements, keeping unresolved items visibly unresolved;
|
|
49
|
+
5. record selected resource keys, conditions, locators and digests in the proposal where downstream consumers can recover them;
|
|
50
|
+
6. make reruns idempotent—update the existing decision/reference instead of appending it again;
|
|
51
|
+
7. if the initial proposal has an authorized writable path, edit that file; otherwise return the full revised proposal in the response.
|
|
75
52
|
|
|
76
|
-
|
|
53
|
+
Never mutate a Source Plan, `project_context/**`, `DESIGN.md`, Delivery Contract, production code or tests. A small request may generate, select and reconcile in one turn; “once” describes final semantic writeback, not a required waiting phase.
|
|
77
54
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
55
|
+
If no selection occurs, return candidates plus a consolidated pending delta and leave the proposal unchanged.
|
|
56
|
+
|
|
57
|
+
## Intent-sized handoff
|
|
58
|
+
|
|
59
|
+
### Exploration
|
|
60
|
+
|
|
61
|
+
Return scope/intent, visible candidates, resource dispositions, obvious limitations, provider/artifact qualifiers and the sanity review performed. Do not require a pack, hash or validator for a throwaway unselected preview unless retrieval needs it.
|
|
84
62
|
|
|
85
|
-
|
|
63
|
+
### Implementation handoff
|
|
86
64
|
|
|
87
|
-
|
|
88
|
-
2. iterate inside the requested scope;
|
|
89
|
-
3. obtain explicit human selection;
|
|
90
|
-
4. when requested, return one consolidated accepted-design-decision delta;
|
|
91
|
-
5. let a separately authorized plan owner revise the proposal;
|
|
92
|
-
6. if requested, pass both the revised proposal and selected immutable resources to `source-plan-authoring`.
|
|
65
|
+
Add:
|
|
93
66
|
|
|
94
|
-
|
|
67
|
+
- output/development scope, necessary context and exclusions;
|
|
68
|
+
- stable resource, surface/control/state/target keys;
|
|
69
|
+
- candidate/inspiration/constraint/pre-existing-exact-target classification;
|
|
70
|
+
- provider version, project/run, capability/template, agent/model and live design-system binding;
|
|
71
|
+
- exact entry/preview locator plus SHA-256 or approved snapshot;
|
|
72
|
+
- declared platform, viewport, mode, state, content, interaction, accessibility and motion coverage;
|
|
73
|
+
- stable-key coverage mapping and unresolved dispositions;
|
|
74
|
+
- selection basis, proposal reconciliation path/status and known limitations;
|
|
75
|
+
- outer review and separate provider/artifact/design qualifiers.
|
|
95
76
|
|
|
96
|
-
|
|
77
|
+
No dedicated Markdown/YAML file or directory is mandatory.
|
|
78
|
+
|
|
79
|
+
## Recommended downstream routing
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
initial proposal
|
|
83
|
+
-> design-resource-authoring
|
|
84
|
+
-> selected immutable resources + reconciled initial proposal
|
|
85
|
+
-> long-task-workflow (explicit long delivery)
|
|
86
|
+
OR current native Goal + default Workflow Contract (non-long delivery)
|
|
87
|
+
```
|
|
97
88
|
|
|
98
|
-
|
|
89
|
+
`source-plan-authoring` is not an intermediate stage. A legacy Source Plan remains valid ordinary Source if supplied, but design-resource authoring never creates or edits one.
|
|
99
90
|
|
|
100
|
-
|
|
101
|
-
2. perform UI Authority Closure against product/surface Context, `DESIGN.md`, tokens and declared targets;
|
|
102
|
-
3. classify the resource and confirm selection basis/coverage;
|
|
103
|
-
4. decide `Context Delta` and adopt durable facts only through their existing owners;
|
|
104
|
-
5. implement and run project-owned verification.
|
|
91
|
+
### Default Workflow consumption
|
|
105
92
|
|
|
106
|
-
|
|
93
|
+
The consuming Goal brings the revised proposal and selected resources as ordinary Source, performs UI Authority Closure, classifies coverage, decides `Context Delta`, adopts durable facts through existing owners, implements and runs project-owned verification.
|
|
107
94
|
|
|
108
|
-
|
|
95
|
+
### Long-Task consumption
|
|
109
96
|
|
|
110
|
-
|
|
111
|
-
- Contract `source_paths`, bindings, verification inputs, check input paths and artifact globs should name only the stable locators/conditions they actually consume.
|
|
112
|
-
- Surface/control/state/target keys should connect product meaning, source targets, implementation and checks where applicable.
|
|
113
|
-
- Authority Lock, protected Authority Revision and Final Gate remain the only Long-Task authority lifecycle.
|
|
114
|
-
- This Skill creates no Contract Draft, outcome, receipt, Check result or Gate.
|
|
115
|
-
- A later Open Design rerun does not silently revise locked Source; the downstream workflow uses its normal revision rules.
|
|
97
|
+
The same revised proposal and selected resources enter `long-task-workflow`. Its integrated Source-quality authoring makes the delivery self-contained, then Contract `source_paths`, Bindings, `verification_inputs`, Check `input_paths` and `artifact_globs` name only stable locators and conditions actually consumed. Authority Lock, protected revision and Final Gate remain the sole lifecycle. This Skill creates no Contract Draft, Outcome, Receipt, Check result or Gate.
|
|
116
98
|
|
|
117
99
|
## Forbidden inferences
|
|
118
100
|
|
|
119
101
|
Unless independently proven downstream, never infer that a generated resource:
|
|
120
102
|
|
|
121
103
|
- is selected, authoritative or accepted;
|
|
122
|
-
- covers unlisted states, viewports, modes, platforms or accessibility
|
|
123
|
-
- is
|
|
124
|
-
- is editable in Figma because a
|
|
125
|
-
- changed
|
|
126
|
-
- proves production fidelity,
|
|
104
|
+
- covers unlisted states, viewports, modes, platforms or accessibility;
|
|
105
|
+
- is native implementation because an HTML/image preview renders;
|
|
106
|
+
- is editable in Figma because a capability was listed;
|
|
107
|
+
- changed Context, `DESIGN.md`, a Source Plan, code or Contract;
|
|
108
|
+
- proves production fidelity, correctness, test completion or release readiness.
|
|
@@ -37,10 +37,27 @@ Prefer, in order:
|
|
|
37
37
|
|
|
38
38
|
Never vendor a fallback template catalogue or guess a template ID from prior runs. Do not implement a transport helper unless the live host truly lacks a safe structured path; any helper may normalize metadata and transport only.
|
|
39
39
|
|
|
40
|
+
## Conditional Design Authority gate and binding
|
|
41
|
+
|
|
42
|
+
Before any style-bearing commission, read project `DESIGN.md` and its declared authored exact-value token source/generation direction. Style-bearing means the resource materially expresses visual fidelity, brand, typography/color/density, component visual treatment or a production-style prototype. Low-fidelity structure, IA/flow topology and semantics-only behavior/state studies are non-fidelity and do not require the gate.
|
|
43
|
+
|
|
44
|
+
If authority is absent, explicitly `unconfigured`, still a starter, style-only/inspiration-only, or lacks one authored token source/generation direction, stop before creating a project or run. Direct the user to explicitly invoke `$design-system-authoring`; never auto-run it. A combined explicit request authorizes the sequence.
|
|
45
|
+
|
|
46
|
+
For configured style-bearing work:
|
|
47
|
+
|
|
48
|
+
1. read the adopted Open Design design-system ID and digest/provenance from project Design Authority;
|
|
49
|
+
2. confirm `od://design-systems/<id>/DESIGN.md` is readable through MCP;
|
|
50
|
+
3. pass that ID as `designSystem` to `create_project`;
|
|
51
|
+
4. immediately call `get_project` and require `designSystemId` to match;
|
|
52
|
+
5. when reusing a project, check its binding before every new style-bearing run;
|
|
53
|
+
6. on missing/mismatch, prefer a new bounded project with the correct binding when MCP has no safe update method; otherwise feature-detect and verify the provider's structured update.
|
|
54
|
+
|
|
55
|
+
Never silently use the provider's default or a different system. A provider-side mismatch is a synchronization/rebinding issue; it does not erase the canonical project `DESIGN.md`.
|
|
56
|
+
|
|
40
57
|
## Structured commission sequence
|
|
41
58
|
|
|
42
|
-
1. Record provider version, selected agent/model, functional capability, rendering template, design system and relevant plugin/export readiness as reported live.
|
|
43
|
-
2. Reuse an existing task-local project only when its scope
|
|
59
|
+
1. Record provider version, selected agent/model, functional capability, rendering template, adopted design system and relevant plugin/export readiness as reported live.
|
|
60
|
+
2. Reuse an existing task-local project only when its scope, prior inputs and required design-system binding match; otherwise create a bounded project. For style-bearing work, pass `designSystem` and verify `get_project.designSystemId` before the run.
|
|
44
61
|
3. Start a run with the product-specific commission envelope and the provider-native capability identifier.
|
|
45
62
|
4. Poll with a bounded cadence. During a long run, report meaningful progress at least once per minute without flooding the user.
|
|
46
63
|
5. Preserve run IDs and the latest provider diagnostic. Support cancellation when the user requests it and the provider exposes it.
|
|
@@ -4,25 +4,33 @@ Use this reference to derive a bounded design-resource commission from the actua
|
|
|
4
4
|
|
|
5
5
|
## 1. Establish the scope ceiling
|
|
6
6
|
|
|
7
|
-
Extract the smallest explicit output boundary before interpreting the background:
|
|
7
|
+
Extract the smallest explicit output or development boundary before interpreting the background:
|
|
8
8
|
|
|
9
|
-
- subject: one control/component, one page, named pages, a flow or a reusable system;
|
|
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;
|
|
10
11
|
- platform and viewport when known;
|
|
11
12
|
- modes, states and transitions explicitly requested;
|
|
12
13
|
- fidelity or editability requested, if any;
|
|
13
14
|
- exclusions such as “other pages not included,” “preview only,” “no Figma” or “do not update files.”
|
|
14
15
|
|
|
15
|
-
Rich background improves a bounded artifact. It never authorizes more artifacts. If the user supplies a complete app plan but asks to preview one button, generate at most the one-control resource.
|
|
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.
|
|
16
17
|
|
|
17
18
|
## 2. Choose the intent
|
|
18
19
|
|
|
19
20
|
| Intent | User decision being supported | Default stopping point |
|
|
20
21
|
| --- | --- | --- |
|
|
21
22
|
| `exploration` | “What might this look or feel like?” | Visible scoped candidate plus minimal sanity review |
|
|
22
|
-
| `handoff` | “Can another designer/developer reliably consume this?” |
|
|
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 |
|
|
23
24
|
| `selected-source-preparation` | “Preserve this explicitly selected direction for later use.” | Immutable identity or approved snapshot, explicit selection basis and downstream notes |
|
|
24
25
|
|
|
25
|
-
Intent
|
|
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.
|
|
26
34
|
|
|
27
35
|
## 3. Inventory relevant input roles
|
|
28
36
|
|
|
@@ -36,9 +44,40 @@ Preserve each supplied item's actual role:
|
|
|
36
44
|
|
|
37
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.
|
|
38
46
|
|
|
39
|
-
## 4.
|
|
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.
|
|
40
58
|
|
|
41
|
-
|
|
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
|
+
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
|
+
|
|
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
|
+
|
|
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
|
+
|
|
78
|
+
## 5. Identify independent gaps
|
|
79
|
+
|
|
80
|
+
For exploration, ask what remains uncertain inside the scope. For a handoff, ask which material coverage items remain `new-resource-needed`:
|
|
42
81
|
|
|
43
82
|
- **structure:** information hierarchy, layout regions or page relationships;
|
|
44
83
|
- **flow:** navigation, branching, recovery or multi-step sequence;
|
|
@@ -50,23 +89,25 @@ Ask what remains uncertain inside the scope:
|
|
|
50
89
|
|
|
51
90
|
Do not manufacture a gap already resolved by selected Source.
|
|
52
91
|
|
|
53
|
-
##
|
|
92
|
+
## 6. Consider resources conditionally
|
|
54
93
|
|
|
55
94
|
| Resource | Select when it closes this gap | Usually omit when |
|
|
56
95
|
| --- | --- | --- |
|
|
57
|
-
| Control/component state study |
|
|
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 |
|
|
58
97
|
| Low-fidelity wireframe | Hierarchy, topology or flow must be judged without visual-style distraction | Structure is settled and only visual direction is unknown |
|
|
59
98
|
| High-fidelity visual candidate | Visual hierarchy, tone or composition needs selection | Existing selected targets already govern the requested conditions |
|
|
60
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 |
|
|
61
100
|
| Flow/journey board | Multiple surfaces, branches or recovery paths must be compared together | The request is one isolated surface/control |
|
|
62
101
|
| Design-system slice | Several requested artifacts need shared tokens/components or reuse rules | One exploratory candidate does not justify a system |
|
|
63
|
-
| Component inventory/specification | Development handoff needs explicit reusable variants
|
|
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 |
|
|
64
103
|
| Figma handoff | Editable collaborative frames/libraries are explicitly valuable and operational | A screenshot/HTML/project-native source is sufficient or connector/auth/export is unavailable |
|
|
65
104
|
| Image/illustration/icon/media study | Bespoke content materially defines the selected direction | Generic placeholders answer the present decision |
|
|
66
105
|
|
|
67
|
-
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.
|
|
106
|
+
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.
|
|
107
|
+
|
|
108
|
+
Do not translate control-level completeness into one artifact per control. 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.
|
|
68
109
|
|
|
69
|
-
##
|
|
110
|
+
## 7. Assign a disposition to every considered resource
|
|
70
111
|
|
|
71
112
|
- `selected`: required to close a current gap;
|
|
72
113
|
- `optional`: useful, but not necessary for the current decision;
|
|
@@ -76,21 +117,26 @@ A prototype is often valuable for new Web/App flows, but it is never automatical
|
|
|
76
117
|
|
|
77
118
|
Give one concrete reason. Do not turn `optional` into automatic extra work.
|
|
78
119
|
|
|
79
|
-
##
|
|
120
|
+
## 8. Build the commission envelope
|
|
80
121
|
|
|
81
122
|
The task-local envelope should contain only product-specific information:
|
|
82
123
|
|
|
83
124
|
```yaml
|
|
84
125
|
intent: exploration | handoff | selected-source-preparation
|
|
85
126
|
scope:
|
|
86
|
-
subjects: [named
|
|
87
|
-
ceiling: one-control | one-page | named-pages | named-flow | system-slice
|
|
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: []
|
|
88
131
|
platform: known-or-unknown
|
|
89
132
|
viewports: []
|
|
90
133
|
coverage:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
134
|
+
material_needs: []
|
|
135
|
+
existing_mappings: []
|
|
136
|
+
required_content_visual: []
|
|
137
|
+
required_components_states: []
|
|
138
|
+
required_interactions_motion: []
|
|
139
|
+
required_adaptation_accessibility: []
|
|
94
140
|
inputs:
|
|
95
141
|
exact_targets: []
|
|
96
142
|
constraints: []
|
|
@@ -99,26 +145,29 @@ inputs:
|
|
|
99
145
|
selected_capability:
|
|
100
146
|
kind: runtime-discovered-kind
|
|
101
147
|
id: runtime-discovered-id
|
|
102
|
-
exclusions: []
|
|
103
148
|
expected_entry: known-or-provider-native
|
|
104
149
|
review_promise: minimal-sanity | handoff-checks | selected-source-snapshot
|
|
105
150
|
```
|
|
106
151
|
|
|
107
152
|
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.
|
|
108
153
|
|
|
109
|
-
##
|
|
154
|
+
## 9. Iterate and stop
|
|
110
155
|
|
|
111
156
|
- Keep each revision inside the original scope ceiling unless the user explicitly expands it.
|
|
112
157
|
- Reuse the current Open Design project when that preserves context and provenance; preserve the prior artifact hash before overwriting a selected candidate.
|
|
113
158
|
- Do not create low-fi, high-fi, component boards and Figma copies merely because a process diagram lists them.
|
|
114
|
-
-
|
|
159
|
+
- For exploration, stop as soon as the requested decision is supported.
|
|
160
|
+
- For an implementation handoff, stop only when every material in-scope coverage item has an explicit disposition and the resource mapping leaves no material user-visible design decision for the implementer to invent. Honest `decision-required` or `unavailable` items may stop generation but remain visible blockers/limitations; this does not claim Design Authority or implementation acceptance.
|
|
115
161
|
|
|
116
|
-
|
|
162
|
+
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.
|
|
117
163
|
|
|
118
164
|
## Worked scope examples
|
|
119
165
|
|
|
120
166
|
- **Large draft, one filter control:** select a control-state study if anatomy and states are uncertain; omit page/flow resources.
|
|
121
|
-
- **One page, style preview:** select one high-fidelity candidate; do not add a design-system pack or validator run.
|
|
167
|
+
- **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.
|
|
168
|
+
- **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.
|
|
169
|
+
- **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.
|
|
170
|
+
- **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.
|
|
122
171
|
- **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.
|
|
123
172
|
- **Local style fix with exact target:** select no new design resource and route to implementation.
|
|
124
|
-
- **
|
|
173
|
+
- **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`.
|