baldart 4.78.1 → 4.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +2 -2
- package/VERSION +1 -1
- package/framework/.claude/skills/ds-handoff/SKILL.md +183 -0
- package/framework/.claude/skills/ds-handoff/assets/claude-design-handoff-prompt.template.md +197 -0
- package/framework/.claude/skills/ds-handoff/references/coverage-gate.md +109 -0
- package/framework/.claude/skills/ds-handoff/references/field-extraction.md +78 -0
- package/framework/.claude/skills/ds-render/SKILL.md +8 -0
- package/framework/.claude/skills/prd/references/ui-design-phase.md +33 -18
- package/framework/.claude/skills/ui-design/SKILL.md +8 -0
- package/framework/agents/skills-mapping.md +409 -7
- package/package.json +1 -1
- package/framework/.claude/skills/prd/assets/claude-design-handoff-prompt.template.md +0 -137
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# Claude Design Handoff Prompt — Template
|
|
2
|
-
|
|
3
|
-
> Template populated at runtime by **Step 3.0 (Mockup Source Decision)** in
|
|
4
|
-
> [../references/ui-design-phase.md](../references/ui-design-phase.md) when the
|
|
5
|
-
> user picks the **handoff** branch. All `{{placeholders}}` are resolved from the
|
|
6
|
-
> PRD state file (`${paths.prd_dir}/sessions/YYYY-MM-DD-<slug>-state.md`),
|
|
7
|
-
> `baldart.config.yml`, and optional overlays.
|
|
8
|
-
>
|
|
9
|
-
> Render rules:
|
|
10
|
-
> - Conditional sections (marked `{{#if …}} … {{/if}}`) are emitted only when the
|
|
11
|
-
> condition is true. Skip the entire section (including its heading) when false.
|
|
12
|
-
> - Lists (marked `{{#each …}}`) render one bullet per item; emit "—" if empty.
|
|
13
|
-
> - The rendered output is presented to the user inside a fenced markdown
|
|
14
|
-
> code-block so they can copy-paste verbatim into Claude Design.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# Feature: {{feature_title}}
|
|
19
|
-
|
|
20
|
-
## 1. Obiettivo
|
|
21
|
-
|
|
22
|
-
{{feature_objective_one_sentence}}
|
|
23
|
-
|
|
24
|
-
## 2. User flow
|
|
25
|
-
|
|
26
|
-
{{user_flow_summary}}
|
|
27
|
-
|
|
28
|
-
{{#if primary_personas}}
|
|
29
|
-
**Personas target**:
|
|
30
|
-
{{#each primary_personas}}
|
|
31
|
-
- {{this.name}} — {{this.context}}
|
|
32
|
-
{{/each}}
|
|
33
|
-
{{/if}}
|
|
34
|
-
|
|
35
|
-
## 3. Schermate in scope
|
|
36
|
-
|
|
37
|
-
> **Vincolo di tracciabilità funzionale.** Inserisci SOLO controlli (bottoni,
|
|
38
|
-
> icone-azione, voci di menu, tab, toggle) legati a una funzione elencata qui
|
|
39
|
-
> sotto. Non aggiungere chrome interattivo "per completezza visiva": ogni
|
|
40
|
-
> affordance senza funzione diventa codice morto in implementazione. Se proponi
|
|
41
|
-
> un elemento interattivo non presente nelle azioni primarie, segnalalo in
|
|
42
|
-
> consegna come *proposta da validare*, non come requisito. Gli elementi
|
|
43
|
-
> puramente decorativi (icone di sezione, marchi) marcali esplicitamente come
|
|
44
|
-
> **decorativi**.
|
|
45
|
-
|
|
46
|
-
{{#each screens_in_scope}}
|
|
47
|
-
### {{this.name}}
|
|
48
|
-
|
|
49
|
-
- **Scopo**: {{this.purpose}}
|
|
50
|
-
- **Stati richiesti**: {{this.states_required}} <!-- empty, loading, populated, error, success, ecc. -->
|
|
51
|
-
- **Azioni primarie**: {{this.primary_actions}}
|
|
52
|
-
- **Dati visualizzati**: {{this.data_shown}}
|
|
53
|
-
{{#if this.notes}}
|
|
54
|
-
- **Note**: {{this.notes}}
|
|
55
|
-
{{/if}}
|
|
56
|
-
|
|
57
|
-
{{/each}}
|
|
58
|
-
> **Nota per l'export.** Dai al canvas di questa feature un titolo che contenga il
|
|
59
|
-
> nome feature («{{feature_title}}»), e numera gli artboard in modo coerente con gli
|
|
60
|
-
> ID schermata qui sopra (es. schermata 3.1 → artboard `s31`). Scaricherò il bundle
|
|
61
|
-
> completo del workspace: questo mi permette di ritrovare esattamente le TUE schermate
|
|
62
|
-
> ed evitare ambiguità con le altre feature.
|
|
63
|
-
|
|
64
|
-
{{#if brand_voice}}
|
|
65
|
-
## 4. Brand & voice
|
|
66
|
-
|
|
67
|
-
- **Tono**: {{brand_voice.tone}}
|
|
68
|
-
- **Personalità**: {{brand_voice.personality}}
|
|
69
|
-
- **Do**: {{brand_voice.do}}
|
|
70
|
-
- **Don't**: {{brand_voice.dont}}
|
|
71
|
-
{{#if brand_voice.references}}
|
|
72
|
-
- **Riferimenti visivi**: {{brand_voice.references}}
|
|
73
|
-
{{/if}}
|
|
74
|
-
{{/if}}
|
|
75
|
-
|
|
76
|
-
{{#if has_design_system}}
|
|
77
|
-
## 5. Design system constraints
|
|
78
|
-
|
|
79
|
-
> Riusa SOLO i token e le primitive elencate. Se devi proporre qualcosa di nuovo,
|
|
80
|
-
> segnalalo esplicitamente nella consegna così posso aggiornare il registro.
|
|
81
|
-
|
|
82
|
-
### Token chiave
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
{{design_tokens_excerpt}}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Primitive da riusare
|
|
89
|
-
|
|
90
|
-
{{#each registered_primitives}}
|
|
91
|
-
- **{{this.name}}** — {{this.purpose}} ({{this.path}})
|
|
92
|
-
{{/each}}
|
|
93
|
-
|
|
94
|
-
### Vincoli numerici (da `design-system-protocol.md`)
|
|
95
|
-
|
|
96
|
-
- Type scale: {{tokens.type_scale}}
|
|
97
|
-
- Spacing scale: {{tokens.spacing_scale}}
|
|
98
|
-
- Radius: {{tokens.radius_scale}}
|
|
99
|
-
- Contrast minimo: {{tokens.contrast_target}} (WCAG AA + APCA Lc ≥ {{tokens.apca_target}})
|
|
100
|
-
- Motion durations: {{tokens.motion_durations}}
|
|
101
|
-
{{/if}}
|
|
102
|
-
|
|
103
|
-
## 6. Stack target
|
|
104
|
-
|
|
105
|
-
- **Framework**: {{stack.framework}}
|
|
106
|
-
- **Output preferito**: {{output_format_preference}} <!-- "HTML/CSS standalone" | "React component (Tailwind)" | "Figma frame" -->
|
|
107
|
-
{{#if stack.charting}}
|
|
108
|
-
- **Charting library**: {{stack.charting}}
|
|
109
|
-
{{/if}}
|
|
110
|
-
{{#if stack.animation}}
|
|
111
|
-
- **Animation library**: {{stack.animation}}
|
|
112
|
-
{{/if}}
|
|
113
|
-
|
|
114
|
-
## 7. Cosa restituirmi
|
|
115
|
-
|
|
116
|
-
Per ogni schermata elencata in § 3:
|
|
117
|
-
|
|
118
|
-
1. **PNG export** ad alta risoluzione (≥ 2x) di OGNI stato richiesto (es. `lista-ordini__empty.png`, `lista-ordini__populated.png`).
|
|
119
|
-
2. {{output_format_preference_block}} <!-- "Codice HTML/CSS in un file unico" | "Codice React (.tsx) con import Tailwind" | "Link Figma alla frame" -->
|
|
120
|
-
3. **Mappa di tracciabilità** — per OGNI elemento interattivo o iconografico
|
|
121
|
-
della schermata, una riga: `elemento → funzione che lo motiva` (l'azione
|
|
122
|
-
primaria / il dato di § 3 che serve), oppure marcalo **decorativo** se non ha
|
|
123
|
-
comportamento. Qualunque elemento che non riesci a tracciare a una funzione,
|
|
124
|
-
elencalo separatamente come *orphan da decidere* — così posso scegliere se
|
|
125
|
-
dargli una funzione, renderlo decorativo o rimuoverlo, invece di
|
|
126
|
-
implementarlo a vuoto.
|
|
127
|
-
4. **Note inline** su:
|
|
128
|
-
- Componenti nuovi (non presenti nel registry sopra) che hai introdotto e perché.
|
|
129
|
-
- Token deviation: qualunque colore/spacing/radius fuori dalla palette sopra, con motivazione.
|
|
130
|
-
- Decisioni di layout non ovvie (es. priority sort, hierarchy visiva, density).
|
|
131
|
-
|
|
132
|
-
Quando hai pronto, dimmi i **path locali** dei file (PNG/HTML/TSX) — li importerò in questa sessione PRD per analisi e validazione contro il design system.
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
<!-- baldart-handoff: do-not-edit-manually -->
|
|
137
|
-
<!-- Generated from claude-design-handoff-prompt.template.md by /prd Step 3.0 -->
|