project-tiny-context-harness 0.7.7 → 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 +24 -15
- package/assets/README.md +28 -28
- package/assets/README.zh-CN.md +26 -26
- package/assets/agents/AGENTS_CORE.md +4 -4
- package/assets/skills/context_uiux_design/SKILL.md +4 -3
- package/assets/skills/design-resource-authoring/SKILL.md +53 -41
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +61 -91
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +19 -2
- package/assets/skills/design-resource-authoring/references/resource-selection.md +11 -4
- 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,68 +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, implementation handoff, or the design resources needed for an explicitly named development scope from raw drafts, product/technical plans,
|
|
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 for the explicitly requested output or development scope from
|
|
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
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- Never
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
- Do not install or persistently configure MCP
|
|
22
|
-
- Do not create a
|
|
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.
|
|
23
23
|
|
|
24
24
|
## Read the references
|
|
25
25
|
|
|
26
|
-
1. Always read [resource-selection.md](references/resource-selection.md) before deciding what to generate.
|
|
27
|
-
2. Read [open-design-provider.md](references/open-design-provider.md) before capability discovery, provider execution, recovery or Figma routing.
|
|
28
|
-
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.
|
|
29
29
|
|
|
30
30
|
## Core workflow
|
|
31
31
|
|
|
32
|
-
1. **Fix the
|
|
33
|
-
2. **Inventory
|
|
34
|
-
3. **
|
|
35
|
-
4. **
|
|
36
|
-
5. **
|
|
37
|
-
6. **
|
|
38
|
-
7. **
|
|
39
|
-
8. **
|
|
40
|
-
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.
|
|
41
43
|
|
|
42
|
-
##
|
|
44
|
+
## Conditional Design Authority gate
|
|
43
45
|
|
|
44
|
-
|
|
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:
|
|
45
57
|
|
|
46
58
|
```text
|
|
47
|
-
|
|
48
|
-
-> bounded
|
|
49
|
-
->
|
|
50
|
-
-> explicit
|
|
51
|
-
->
|
|
52
|
-
->
|
|
53
|
-
->
|
|
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
|
|
54
66
|
```
|
|
55
67
|
|
|
56
|
-
|
|
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.
|
|
57
69
|
|
|
58
70
|
## Stop and route elsewhere
|
|
59
71
|
|
|
60
|
-
- Route
|
|
61
|
-
- Route
|
|
62
|
-
- Route ordinary implementation with sufficient
|
|
63
|
-
- Route a complete explicit Single-Goal delivery to `long-task-workflow`.
|
|
64
|
-
- 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.
|
|
65
77
|
|
|
66
78
|
## Completion response
|
|
67
79
|
|
|
68
|
-
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,70 +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
|
-
|
|
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.
|
|
16
16
|
|
|
17
|
-
|
|
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.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## Final proposal reconciliation
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
## Intent-sized response
|
|
24
|
-
|
|
25
|
-
### Exploration
|
|
26
|
-
|
|
27
|
-
Return promptly:
|
|
28
|
-
|
|
29
|
-
- requested scope and intent;
|
|
30
|
-
- visible candidate/preview;
|
|
31
|
-
- resource dispositions and obvious limitations;
|
|
32
|
-
- provider/artifact qualifier when execution is not clean;
|
|
33
|
-
- minimal sanity review actually performed.
|
|
34
|
-
|
|
35
|
-
Do not require files, schemas, packs, hashes or validator runs for a throwaway unselected preview unless they are needed to retrieve/show it reliably.
|
|
36
|
-
|
|
37
|
-
### Handoff
|
|
38
|
-
|
|
39
|
-
Add only the fields needed for another person or workflow to consume it:
|
|
40
|
-
|
|
41
|
-
- explicit output/development scope, necessary surrounding context and exclusions;
|
|
42
|
-
- stable resource key plus surface/control/state/target keys when known;
|
|
43
|
-
- classification: candidate, inspiration, constraint or pre-existing exact target;
|
|
44
|
-
- provider version, project/run, selected capability/template, agent/model and design-system provenance as reported live;
|
|
45
|
-
- explicit source entry or preview locator and immutable hash/snapshot when available;
|
|
46
|
-
- declared platform, viewport, mode, state, content and interaction coverage;
|
|
47
|
-
- for an implementation handoff, a stable-key mapping from each material surface/flow/region/component/control condition to its owning existing/generated resource or unresolved disposition;
|
|
48
|
-
- selection basis if a human selection already exists;
|
|
49
|
-
- unresolved decisions, known limitations and forbidden inferences;
|
|
50
|
-
- outer review performed and provider status qualifier.
|
|
51
|
-
|
|
52
|
-
No dedicated Markdown/YAML file or directory is mandatory. Use concise prose for simple work and a task-local structured block when fields would otherwise become ambiguous.
|
|
53
|
-
|
|
54
|
-
### Selected-source preparation
|
|
55
|
-
|
|
56
|
-
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.
|
|
57
|
-
|
|
58
|
-
## Accepted-design-decision delta
|
|
59
|
-
|
|
60
|
-
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:
|
|
61
22
|
|
|
62
23
|
```yaml
|
|
63
|
-
selection_basis: explicit user/team
|
|
24
|
+
selection_basis: explicit user/team choice | explicit delegated selection
|
|
64
25
|
selected_resources:
|
|
65
|
-
-
|
|
26
|
+
- stable key, provider/project/run/entry, declared conditions, immutable digest/snapshot
|
|
66
27
|
accepted:
|
|
67
|
-
- decision and
|
|
28
|
+
- decision, rationale and affected proposal section/stable keys
|
|
68
29
|
rejected:
|
|
69
30
|
- alternative and reason
|
|
70
31
|
unresolved:
|
|
@@ -77,62 +38,71 @@ impacts:
|
|
|
77
38
|
state_keys: []
|
|
78
39
|
interaction_rules: []
|
|
79
40
|
visual_constraints: []
|
|
80
|
-
forbidden_inference:
|
|
81
|
-
- candidate iteration did not itself revise the proposal or establish Design Authority
|
|
82
41
|
```
|
|
83
42
|
|
|
84
|
-
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:
|
|
85
44
|
|
|
86
|
-
|
|
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.
|
|
87
52
|
|
|
88
|
-
|
|
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.
|
|
89
54
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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.
|
|
62
|
+
|
|
63
|
+
### Implementation handoff
|
|
96
64
|
|
|
97
|
-
|
|
65
|
+
Add:
|
|
98
66
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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.
|
|
105
76
|
|
|
106
|
-
|
|
77
|
+
No dedicated Markdown/YAML file or directory is mandatory.
|
|
107
78
|
|
|
108
|
-
##
|
|
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
|
+
```
|
|
109
88
|
|
|
110
|
-
|
|
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.
|
|
111
90
|
|
|
112
|
-
|
|
113
|
-
2. perform UI Authority Closure against product/surface Context, `DESIGN.md`, tokens and declared targets;
|
|
114
|
-
3. classify the resource and confirm selection basis/coverage;
|
|
115
|
-
4. decide `Context Delta` and adopt durable facts only through their existing owners;
|
|
116
|
-
5. implement and run project-owned verification.
|
|
91
|
+
### Default Workflow consumption
|
|
117
92
|
|
|
118
|
-
|
|
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.
|
|
119
94
|
|
|
120
|
-
|
|
95
|
+
### Long-Task consumption
|
|
121
96
|
|
|
122
|
-
|
|
123
|
-
- Contract `source_paths`, bindings, verification inputs, check input paths and artifact globs should name only the stable locators/conditions they actually consume.
|
|
124
|
-
- Surface/control/state/target keys should connect product meaning, source targets, implementation and checks where applicable.
|
|
125
|
-
- Authority Lock, protected Authority Revision and Final Gate remain the only Long-Task authority lifecycle.
|
|
126
|
-
- This Skill creates no Contract Draft, outcome, receipt, Check result or Gate.
|
|
127
|
-
- 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.
|
|
128
98
|
|
|
129
99
|
## Forbidden inferences
|
|
130
100
|
|
|
131
101
|
Unless independently proven downstream, never infer that a generated resource:
|
|
132
102
|
|
|
133
103
|
- is selected, authoritative or accepted;
|
|
134
|
-
- covers unlisted states, viewports, modes, platforms or accessibility
|
|
135
|
-
- is
|
|
136
|
-
- is editable in Figma because a
|
|
137
|
-
- changed
|
|
138
|
-
- 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.
|
|
@@ -23,7 +23,14 @@ Rich background improves a bounded artifact. It never authorizes more artifacts.
|
|
|
23
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
24
|
| `selected-source-preparation` | “Preserve this explicitly selected direction for later use.” | Immutable identity or approved snapshot, explicit selection basis and downstream notes |
|
|
25
25
|
|
|
26
|
-
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.
|
|
27
34
|
|
|
28
35
|
## 3. Inventory relevant input roles
|
|
29
36
|
|
|
@@ -152,15 +159,15 @@ This is an explanatory shape, not a required file or schema. Never paste or para
|
|
|
152
159
|
- For exploration, stop as soon as the requested decision is supported.
|
|
153
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.
|
|
154
161
|
|
|
155
|
-
|
|
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.
|
|
156
163
|
|
|
157
164
|
## Worked scope examples
|
|
158
165
|
|
|
159
166
|
- **Large draft, one filter control:** select a control-state study if anatomy and states are uncertain; omit page/flow resources.
|
|
160
|
-
- **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.
|
|
161
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.
|
|
162
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.
|
|
163
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.
|
|
164
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.
|
|
165
172
|
- **Local style fix with exact target:** select no new design resource and route to implementation.
|
|
166
|
-
- **
|
|
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`.
|
|
@@ -0,0 +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.
|
|
@@ -0,0 +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
|
|
@@ -0,0 +1,47 @@
|
|
|
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, source/snapshot locator and SHA-256 digest. 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 connect owners 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.
|
|
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
|
+
- no competing design-system authority or duplicate token owner was introduced;
|
|
43
|
+
- MCP can read the provider design system;
|
|
44
|
+
- a downstream Open Design project reports the matching `designSystemId`;
|
|
45
|
+
- candidate resources remain candidates unless independently selected.
|
|
46
|
+
|
|
47
|
+
Report changed owners and validation results. Do not claim production visual acceptance from these checks.
|