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
|
@@ -30,35 +30,50 @@ unchanged. No other side-effect of Step 3.0.
|
|
|
30
30
|
|
|
31
31
|
### Branch B — Claude Design handoff
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
[
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
The handoff prompt is owned by the **`ds-handoff` skill** (the single SSOT). `/prd`
|
|
34
|
+
decides to hand off; `/ds-handoff` builds the field-level, 1:1 brief — it grounds
|
|
35
|
+
every screen's fields in the real data schemas and runs a coverage gate **before**
|
|
36
|
+
emitting, so Claude Design does not have to imagine the fields. (This is the same
|
|
37
|
+
delegate-or-else-inline contract as `/prd` → `/ds-new`.)
|
|
38
|
+
|
|
39
|
+
1. **Delegate to `/ds-handoff`.** Invoke it in *delegated* mode, passing the
|
|
40
|
+
resolved context so it skips its own screen-resolution prompt:
|
|
41
|
+
- the state-file path;
|
|
42
|
+
- `feature_title`, `feature_objective_one_sentence` (from `## Feature Description`);
|
|
43
|
+
- `user_flow_summary`, `primary_personas` (from `## Discovery Log` dimensions 1 + 2);
|
|
44
|
+
- `screens_in_scope[]` from `## UI Design` (derive from User Stories + ISA
|
|
45
|
+
touchpoints if not yet populated — same logic as Hybrid mode § "Build the
|
|
46
|
+
per-screen routing table");
|
|
47
|
+
- `mockup_analysis` from `## UI Design` if present (the skill reads its
|
|
48
|
+
`layout / component_props / states / responsive` as input);
|
|
49
|
+
- the `features.has_design_system` flag (the skill omits § 5 when `false`).
|
|
50
|
+
|
|
51
|
+
`/ds-handoff` runs field extraction + the coverage gate + the mandatory template
|
|
52
|
+
and returns the **rendered prompt** plus the **`field-inventory.md` path**.
|
|
53
|
+
|
|
54
|
+
**Graceful fallback** — if `/ds-handoff` is unavailable (Codex without it linked,
|
|
55
|
+
or an older install): render a **coarse** brief inline from `screens_in_scope[]`
|
|
56
|
+
(per-screen: scopo / stati / azioni primarie / dati visualizzati) and the same
|
|
57
|
+
top-level sections (obiettivo, user flow, brand, design system, stack, cosa
|
|
58
|
+
restituirmi). State explicitly to the user: *"field-level brief non disponibile →
|
|
59
|
+
brief coarse"*, so the lost fidelity is visible, not silent.
|
|
60
|
+
|
|
61
|
+
2. **Present the returned prompt** to the user inside a fenced markdown code-block,
|
|
62
|
+
prefixed with this instruction (verbatim):
|
|
49
63
|
|
|
50
64
|
> Incolla il prompt qui sotto in Claude Design. Quando hai i mockup pronti,
|
|
51
65
|
> tornami con i **path locali** dei file (PNG, HTML, TSX, o link Figma) e
|
|
52
66
|
> riprendo da qui — copio i file nella cartella del PRD, li analizzo come
|
|
53
67
|
> al solito (Step 1.6 Mockup Intake), e Step 3 entra in Hybrid mode.
|
|
54
68
|
|
|
55
|
-
|
|
69
|
+
3. **Update state file** before stopping:
|
|
56
70
|
- `mockups.status: pending_external`
|
|
57
71
|
- `mockups.source: claude-design`
|
|
58
72
|
- `mockups.handoff_prompt_path: ${paths.prd_dir}/<slug>/handoff/claude-design-prompt.md` (save the rendered prompt to disk so it survives session restarts).
|
|
73
|
+
- `mockups.field_inventory_path: ${paths.prd_dir}/<slug>/mockups/field-inventory.md` (the path `/ds-handoff` returned; omit on the coarse fallback).
|
|
59
74
|
- `step_3_mode: pending_external_handoff` (transitional — overwritten when user returns).
|
|
60
75
|
|
|
61
|
-
|
|
76
|
+
4. **STOP.** Wait for the user to return with local paths.
|
|
62
77
|
|
|
63
78
|
### Re-entry from handoff (user returns with paths)
|
|
64
79
|
|
|
@@ -246,6 +246,14 @@ prevent**: catching a duplicate primitive at the mockup stage costs minutes,
|
|
|
246
246
|
catching it after implementation costs a refactor. The weekly `ds-drift`
|
|
247
247
|
routine is a safety net, not a substitute for this check.
|
|
248
248
|
|
|
249
|
+
**Downstream visual verification (nudge, not a gate).** The chosen design is
|
|
250
|
+
verified visually **at the mockup stage** here (Step D evaluator). The fidelity
|
|
251
|
+
of the *implemented* result against this design is verified **downstream**, when
|
|
252
|
+
the design lands in a live route: that is `/e2e-review` Phase 4 — auto-run by
|
|
253
|
+
`/new`, or invoke `/e2e-review CARD-ID` manually if you implement this design
|
|
254
|
+
outside the `/new` pipeline. This is where route-level fidelity lives; it is a
|
|
255
|
+
pointer, never a blocking obligation on this skill.
|
|
256
|
+
|
|
249
257
|
---
|
|
250
258
|
|
|
251
259
|
## Design Principles (quick reference)
|
|
@@ -24,6 +24,10 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
24
24
|
> This map references **only skills shipped under `framework/.claude/skills/`**.
|
|
25
25
|
> Confirm a skill exists (its directory is present) before routing to it; never
|
|
26
26
|
> route to a skill name that has no directory.
|
|
27
|
+
>
|
|
28
|
+
> **Gating.** Many skills are gated on a `features.*` flag in `baldart.config.yml`
|
|
29
|
+
> (noted per entry). When the flag is `false` the skill REFUSES — do not route to
|
|
30
|
+
> it; resolve the gate first (e.g. `/design-system-init` for `has_design_system`).
|
|
27
31
|
|
|
28
32
|
## Core Development Skills
|
|
29
33
|
|
|
@@ -43,6 +47,19 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
43
47
|
- "Nuova funzionalità"
|
|
44
48
|
- "How should I scope..."
|
|
45
49
|
|
|
50
|
+
### prd-add
|
|
51
|
+
|
|
52
|
+
**When to use**:
|
|
53
|
+
|
|
54
|
+
- A new requirement lands on an ACTIVE `/prd` session (change request)
|
|
55
|
+
- "serve anche…", a missing endpoint/sub-feature surfaces mid-discovery
|
|
56
|
+
- Runs ICIAS impact analysis to decide which PRD phases SKIP / PATCH / REDO
|
|
57
|
+
|
|
58
|
+
**Triggers**:
|
|
59
|
+
|
|
60
|
+
- "/prd-add"
|
|
61
|
+
- "Aggiungi requisito" / "Serve anche" / "Manca un endpoint"
|
|
62
|
+
|
|
46
63
|
### context-primer
|
|
47
64
|
|
|
48
65
|
**When to use**:
|
|
@@ -68,6 +85,20 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
68
85
|
- "Implementa le card"
|
|
69
86
|
- "Esegui le card"
|
|
70
87
|
|
|
88
|
+
### new2
|
|
89
|
+
|
|
90
|
+
**When to use**:
|
|
91
|
+
|
|
92
|
+
- EXPERIMENTAL workflow-hosted variant of `/new` (A/B testing context economy)
|
|
93
|
+
- The whole card batch runs in a background dynamic workflow (subagent output never
|
|
94
|
+
enters the main context); every `/new` gate becomes a deterministic policy
|
|
95
|
+
- **Claude-only** (needs the `Workflow` tool)
|
|
96
|
+
|
|
97
|
+
**Triggers**:
|
|
98
|
+
|
|
99
|
+
- "/new2 CARD-IDS"
|
|
100
|
+
- "Implementa le card con workflow"
|
|
101
|
+
|
|
71
102
|
### bug
|
|
72
103
|
|
|
73
104
|
**When to use**:
|
|
@@ -82,6 +113,30 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
82
113
|
- "Fix [bug]"
|
|
83
114
|
- "Non funziona" / "Why is [X] not working?"
|
|
84
115
|
|
|
116
|
+
### worktree-manager
|
|
117
|
+
|
|
118
|
+
**When to use**:
|
|
119
|
+
|
|
120
|
+
- Parallel coding agents needing fully independent git worktrees
|
|
121
|
+
- Create / merge (→ PR) / list / cleanup isolated workspaces
|
|
122
|
+
- Used programmatically by `/new` for per-card worktree ops
|
|
123
|
+
|
|
124
|
+
**Triggers**:
|
|
125
|
+
|
|
126
|
+
- "/nw" (new) · "/mw" (merge) · "/lw" (list) · "/cw" (cleanup)
|
|
127
|
+
- "New worktree" / "Merge worktree"
|
|
128
|
+
|
|
129
|
+
### issue-review
|
|
130
|
+
|
|
131
|
+
**When to use**:
|
|
132
|
+
|
|
133
|
+
- Triage / planning a GitHub issue (summary + priority + plan + tests)
|
|
134
|
+
|
|
135
|
+
**Triggers**:
|
|
136
|
+
|
|
137
|
+
- "/issue-review"
|
|
138
|
+
- "Triage this issue" / "Review issue [N]"
|
|
139
|
+
|
|
85
140
|
## Code Quality Skills
|
|
86
141
|
|
|
87
142
|
### simplify
|
|
@@ -136,7 +191,129 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
136
191
|
> standalone invocable BALDART skill. Route UI work through `ui-design` /
|
|
137
192
|
> `ui-expert`, not to `ui-ux-pro-max` directly.
|
|
138
193
|
|
|
139
|
-
|
|
194
|
+
### motion-design
|
|
195
|
+
|
|
196
|
+
**When to use**:
|
|
197
|
+
|
|
198
|
+
- Animations, transitions, micro-interactions, loading/page transitions
|
|
199
|
+
- Scroll-triggered effects, choreography, timing/easing decisions
|
|
200
|
+
- Works with CSS / Framer Motion / GSAP / Lottie / Spring
|
|
201
|
+
|
|
202
|
+
**Triggers**:
|
|
203
|
+
|
|
204
|
+
- "/motion-design"
|
|
205
|
+
- "Anima…" / "transition" / "micro-interaction"
|
|
206
|
+
|
|
207
|
+
### gamification-design
|
|
208
|
+
|
|
209
|
+
**When to use**:
|
|
210
|
+
|
|
211
|
+
- Points systems, reward loops, progression mechanics, loyalty/retention
|
|
212
|
+
- B2C customer-facing engagement features
|
|
213
|
+
|
|
214
|
+
**Triggers**:
|
|
215
|
+
|
|
216
|
+
- "/gamification-design"
|
|
217
|
+
- "Punti / reward / progression / battle pass / loyalty"
|
|
218
|
+
|
|
219
|
+
## Design System Skills
|
|
220
|
+
|
|
221
|
+
> All gated on `features.has_design_system: true`. Without a registry, bootstrap
|
|
222
|
+
> first with `/design-system-init`.
|
|
223
|
+
|
|
224
|
+
### design-system-init
|
|
225
|
+
|
|
226
|
+
**When to use**:
|
|
227
|
+
|
|
228
|
+
- GREENFIELD: bootstrap a component registry (INDEX.md + DTCG tokens + per-component specs) and flip `has_design_system`
|
|
229
|
+
- UPGRADE: regenerate machine-readable HEADs / DTCG tokens on an existing prose-only registry
|
|
230
|
+
- SEED: a registry born in Claude Design (design-led)
|
|
231
|
+
|
|
232
|
+
**Triggers**:
|
|
233
|
+
|
|
234
|
+
- "/design-system-init"
|
|
235
|
+
- "Crea design system" / "inizializza registro componenti" / "aggiorna le spec"
|
|
236
|
+
- `baldart doctor` nudges (specs missing / prose-only)
|
|
237
|
+
|
|
238
|
+
### ds-new
|
|
239
|
+
|
|
240
|
+
**When to use**:
|
|
241
|
+
|
|
242
|
+
- Create ONE canonical element (a component OR a token) end-to-end: reuse-first → optional scaffold → document + register + govern + verify
|
|
243
|
+
- The on-the-fly twin of the bulk `design-system-init`; callable by `/prd` when reconciliation confirms a NEW component
|
|
244
|
+
|
|
245
|
+
**Triggers**:
|
|
246
|
+
|
|
247
|
+
- "/ds-new" · "/ds-new token [id]"
|
|
248
|
+
- "Nuovo componente design system" / "registra una primitive" / "aggiungi un token"
|
|
249
|
+
|
|
250
|
+
### ds-edit
|
|
251
|
+
|
|
252
|
+
**When to use**:
|
|
253
|
+
|
|
254
|
+
- Deliberately edit ONE existing element: resync / extend-variant / breaking / re-govern
|
|
255
|
+
- Regenerates the spec preserving agentic fields + prose
|
|
256
|
+
- NOT for the automatic mechanical doc-resync after a code change (that's already automatic via the `DS_COMPONENT_STALE` gate)
|
|
257
|
+
|
|
258
|
+
**Triggers**:
|
|
259
|
+
|
|
260
|
+
- "/ds-edit"
|
|
261
|
+
- "Aggiungi una variante" / "modifica un componente" / "breaking change su un componente"
|
|
262
|
+
|
|
263
|
+
### ds-render
|
|
264
|
+
|
|
265
|
+
**When to use**:
|
|
266
|
+
|
|
267
|
+
- Render design-system primitives in ISOLATION (one component × variant) to a PNG each
|
|
268
|
+
- Feeds isolated QUALITY verification (`/e2e-review` Phase 4b/4c) — never a fidelity diff
|
|
269
|
+
- Rides on a detected Storybook (clean no-op otherwise)
|
|
270
|
+
|
|
271
|
+
**Triggers**:
|
|
272
|
+
|
|
273
|
+
- "/ds-render"
|
|
274
|
+
- "Render i componenti" / "screenshot dei primitivi"
|
|
275
|
+
|
|
276
|
+
### ds-handoff
|
|
277
|
+
|
|
278
|
+
**When to use**:
|
|
279
|
+
|
|
280
|
+
- Produce the FIELD-LEVEL, 1:1 Claude Design handoff prompt — every screen's real fields (label / control / required / validation / default / enum / helper / readonly), grounded in the project's data schemas, coverage-gated before emission
|
|
281
|
+
- The single SSOT for the Claude Design prompt; `/prd` Step 3.0 Branch B delegates here
|
|
282
|
+
- Standalone for an ad-hoc orchestrator + `ui-expert` run
|
|
283
|
+
|
|
284
|
+
**Triggers**:
|
|
285
|
+
|
|
286
|
+
- "/ds-handoff [screens-or-feature]"
|
|
287
|
+
- "Handoff a Claude Design" / "prompt per Claude Design" / "brief field-level"
|
|
288
|
+
|
|
289
|
+
### design-sync
|
|
290
|
+
|
|
291
|
+
**When to use**:
|
|
292
|
+
|
|
293
|
+
- Mirror the in-repo registry (SSOT) UP to its Claude Design satellite (the code→design half of the closed loop)
|
|
294
|
+
- `publish` / `bootstrap` / `drift` modes; delegates every write to the DesignSync MCP; refuse-on-divergence
|
|
295
|
+
- Claude-only; interactive-auth (`/design-login`); no-op without a bound satellite
|
|
296
|
+
|
|
297
|
+
**Triggers**:
|
|
298
|
+
|
|
299
|
+
- "/design-sync"
|
|
300
|
+
- "Pubblica il design system" / "mirror su Claude Design" / "il designer ha cambiato qualcosa"
|
|
301
|
+
|
|
302
|
+
## Testing & Review Skills
|
|
303
|
+
|
|
304
|
+
### e2e-review
|
|
305
|
+
|
|
306
|
+
**When to use**:
|
|
307
|
+
|
|
308
|
+
- Deterministic BLOCKING end-to-end review after a feature is implemented
|
|
309
|
+
- Functional E2E (Playwright) + visual fidelity diff + design-quality critic, under a severity gate + bounded self-heal
|
|
310
|
+
- Auto-called by `/new` Phase 2.6; invocable manually
|
|
311
|
+
- Gated on `features.has_e2e_review`
|
|
312
|
+
|
|
313
|
+
**Triggers**:
|
|
314
|
+
|
|
315
|
+
- "/e2e-review CARD-ID"
|
|
316
|
+
- "Verifica end-to-end" / "review schermate" / "controlla i mockup"
|
|
140
317
|
|
|
141
318
|
### playwright-skill
|
|
142
319
|
|
|
@@ -166,7 +343,7 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
166
343
|
- Integration testing
|
|
167
344
|
- Server management needed
|
|
168
345
|
|
|
169
|
-
## Documentation Skills
|
|
346
|
+
## Documentation & Knowledge Skills
|
|
170
347
|
|
|
171
348
|
### doc-writing-for-rag
|
|
172
349
|
|
|
@@ -180,6 +357,64 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
180
357
|
- "doc per RAG" / "dense documentation"
|
|
181
358
|
- "template endpoint" / "compattare docs"
|
|
182
359
|
|
|
360
|
+
### capture
|
|
361
|
+
|
|
362
|
+
**When to use**:
|
|
363
|
+
|
|
364
|
+
- Distill a cross-document synthesis of the recent conversation into a reusable wiki synthesis page
|
|
365
|
+
- Implements Karpathy's query→wiki file-back loop
|
|
366
|
+
- Gated on `features.has_wiki_overlay`
|
|
367
|
+
|
|
368
|
+
**Triggers**:
|
|
369
|
+
|
|
370
|
+
- "/capture"
|
|
371
|
+
- "Salva sintesi" / "distilla conversazione" / "questa conversazione in wiki"
|
|
372
|
+
|
|
373
|
+
### graph-align
|
|
374
|
+
|
|
375
|
+
**When to use**:
|
|
376
|
+
|
|
377
|
+
- On-demand documentation alignment via the Graphify code knowledge graph
|
|
378
|
+
- Surface core code with no doc coverage, stale docs, drift vs the SSOT registry
|
|
379
|
+
- The interactive twin of the nightly `doc-graph-align` routine
|
|
380
|
+
- Gated on `features.has_code_graph`
|
|
381
|
+
|
|
382
|
+
**Triggers**:
|
|
383
|
+
|
|
384
|
+
- "/graph-align"
|
|
385
|
+
- "Allinea la documentazione" / "check doc coverage"
|
|
386
|
+
|
|
387
|
+
## Internationalization Skills
|
|
388
|
+
|
|
389
|
+
> Gated on `features.has_i18n: true`.
|
|
390
|
+
|
|
391
|
+
### i18n
|
|
392
|
+
|
|
393
|
+
**When to use**:
|
|
394
|
+
|
|
395
|
+
- Audit the i18n context registry against `t()` calls + native locale files (drift codes)
|
|
396
|
+
- Context-aware translation of missing/stale labels via the `i18n-translator` agent
|
|
397
|
+
- The interactive twin of the weekly `i18n-align` routine
|
|
398
|
+
|
|
399
|
+
**Triggers**:
|
|
400
|
+
|
|
401
|
+
- "/i18n"
|
|
402
|
+
- "Traduci le label" / "audit i18n" / "allinea le traduzioni"
|
|
403
|
+
|
|
404
|
+
### i18n-adopt
|
|
405
|
+
|
|
406
|
+
**When to use**:
|
|
407
|
+
|
|
408
|
+
- One-shot migration that externalizes ALL hardcoded user-facing strings on an existing codebase (the i18n analogue of `/design-system-init`)
|
|
409
|
+
- Full-auto on a dedicated branch, idempotent + resumable; never auto-merges
|
|
410
|
+
|
|
411
|
+
**Triggers**:
|
|
412
|
+
|
|
413
|
+
- "/i18n-adopt"
|
|
414
|
+
- "Migra a i18n" / "adotta i18n" / "externalize all strings"
|
|
415
|
+
|
|
416
|
+
## Product & Content Skills
|
|
417
|
+
|
|
183
418
|
### copywriting
|
|
184
419
|
|
|
185
420
|
**When to use**:
|
|
@@ -193,6 +428,152 @@ Map Claude Code skills to project domains and provide guidance on when to use ea
|
|
|
193
428
|
- "Migliora il testo"
|
|
194
429
|
- Landing/marketing content
|
|
195
430
|
|
|
431
|
+
### seo-audit
|
|
432
|
+
|
|
433
|
+
**When to use**:
|
|
434
|
+
|
|
435
|
+
- Audit / diagnose technical + on-page SEO issues on a site
|
|
436
|
+
|
|
437
|
+
**Triggers**:
|
|
438
|
+
|
|
439
|
+
- "/seo-audit"
|
|
440
|
+
- "SEO audit" / "why am I not ranking" / "meta tags review"
|
|
441
|
+
|
|
442
|
+
### api-design-principles
|
|
443
|
+
|
|
444
|
+
**When to use**:
|
|
445
|
+
|
|
446
|
+
- Designing a new API, reviewing an API spec, establishing API design standards (REST / GraphQL)
|
|
447
|
+
|
|
448
|
+
**Triggers**:
|
|
449
|
+
|
|
450
|
+
- "/api-design-principles"
|
|
451
|
+
- "Design this API" / "review API spec"
|
|
452
|
+
|
|
453
|
+
## Integration Skills
|
|
454
|
+
|
|
455
|
+
### kie-ai
|
|
456
|
+
|
|
457
|
+
**When to use**:
|
|
458
|
+
|
|
459
|
+
- Generate images / videos / audio via Kie.ai (80+ models), upscaling, background removal, TTS/SFX
|
|
460
|
+
|
|
461
|
+
**Triggers**:
|
|
462
|
+
|
|
463
|
+
- "/kie" / "/generate-image" / "/generate-video"
|
|
464
|
+
- "Genera immagine / video", model names ("nano banana", "veo", "kling", "suno"…)
|
|
465
|
+
|
|
466
|
+
### remotion-best-practices
|
|
467
|
+
|
|
468
|
+
**When to use**:
|
|
469
|
+
|
|
470
|
+
- Building video in React with Remotion (best practices guidance)
|
|
471
|
+
|
|
472
|
+
**Triggers**:
|
|
473
|
+
|
|
474
|
+
- "Remotion" / "video in React"
|
|
475
|
+
|
|
476
|
+
## Retrieval & Toolchain Bootstrap Skills
|
|
477
|
+
|
|
478
|
+
> Install/verify opt-in layers. Each is gated on its `features.*` flag and is
|
|
479
|
+
> idempotent (re-running re-verifies + reports drift).
|
|
480
|
+
|
|
481
|
+
### lsp-bootstrap
|
|
482
|
+
|
|
483
|
+
**When to use**:
|
|
484
|
+
|
|
485
|
+
- Install + verify the LSP symbol-search layer (language servers, `lsp.installed_servers`)
|
|
486
|
+
- After enabling `features.has_lsp_layer`
|
|
487
|
+
|
|
488
|
+
**Triggers**:
|
|
489
|
+
|
|
490
|
+
- "/lsp-bootstrap"
|
|
491
|
+
- "Install LSP" / "set up symbol search"
|
|
492
|
+
|
|
493
|
+
### graphify-bootstrap
|
|
494
|
+
|
|
495
|
+
**When to use**:
|
|
496
|
+
|
|
497
|
+
- Install + verify + wire the Graphify code-knowledge-graph layer (CLI, offline graph build, auto-rebuild hook, MCP)
|
|
498
|
+
- After enabling `features.has_code_graph`
|
|
499
|
+
|
|
500
|
+
**Triggers**:
|
|
501
|
+
|
|
502
|
+
- "/graphify-bootstrap"
|
|
503
|
+
- "Install graphify" / "set up the code graph"
|
|
504
|
+
|
|
505
|
+
### toolchain-bootstrap
|
|
506
|
+
|
|
507
|
+
**When to use**:
|
|
508
|
+
|
|
509
|
+
- Install + verify + wire the curated dev toolchain (Biome / Vitest / tsc / Lefthook) as devDeps
|
|
510
|
+
- After enabling `features.has_toolchain`
|
|
511
|
+
|
|
512
|
+
**Triggers**:
|
|
513
|
+
|
|
514
|
+
- "/toolchain-bootstrap"
|
|
515
|
+
- "Install the toolchain" / "set up biome"
|
|
516
|
+
|
|
517
|
+
## Framework Maintenance & Meta Skills
|
|
518
|
+
|
|
519
|
+
### baldart-update
|
|
520
|
+
|
|
521
|
+
**When to use**:
|
|
522
|
+
|
|
523
|
+
- Bring the BALDART framework up-to-date in a consumer repo (seamless `npx baldart update --yes`)
|
|
524
|
+
- The skill narrates the CLI; it never re-implements it
|
|
525
|
+
|
|
526
|
+
**Triggers**:
|
|
527
|
+
|
|
528
|
+
- "/baldart-update"
|
|
529
|
+
- "Aggiorna baldart" / "update del framework"
|
|
530
|
+
|
|
531
|
+
### baldart-push
|
|
532
|
+
|
|
533
|
+
**When to use**:
|
|
534
|
+
|
|
535
|
+
- Contribute local framework improvements upstream to the BALDART repo
|
|
536
|
+
- Hands off to `npx baldart push` (interactive); never pushes project-specific customizations
|
|
537
|
+
|
|
538
|
+
**Triggers**:
|
|
539
|
+
|
|
540
|
+
- "/baldart-push"
|
|
541
|
+
- "Contribuisci al framework" / "push del framework"
|
|
542
|
+
|
|
543
|
+
### overlay
|
|
544
|
+
|
|
545
|
+
**When to use**:
|
|
546
|
+
|
|
547
|
+
- Author `.baldart/overlays/` — the per-project customisation layer for skills / agents / commands
|
|
548
|
+
- Scaffolds + validates + surfaces drift via the CLI; often the answer when the `framework-edit-gate` hook blocked a direct edit
|
|
549
|
+
|
|
550
|
+
**Triggers**:
|
|
551
|
+
|
|
552
|
+
- "/overlay"
|
|
553
|
+
- "Customizza skill" / "override agent" / "personalizza comando"
|
|
554
|
+
|
|
555
|
+
### skill-creator
|
|
556
|
+
|
|
557
|
+
**When to use**:
|
|
558
|
+
|
|
559
|
+
- Create a new skill, or modify/optimize/measure an existing one
|
|
560
|
+
|
|
561
|
+
**Triggers**:
|
|
562
|
+
|
|
563
|
+
- "/skill-creator"
|
|
564
|
+
- "Crea una skill" / "improve this skill"
|
|
565
|
+
|
|
566
|
+
### find-skills
|
|
567
|
+
|
|
568
|
+
**When to use**:
|
|
569
|
+
|
|
570
|
+
- Discover/install agent skills when a needed capability might already exist as a skill
|
|
571
|
+
|
|
572
|
+
**Triggers**:
|
|
573
|
+
|
|
574
|
+
- "/find-skills"
|
|
575
|
+
- "Is there a skill that…" / "how do I do X"
|
|
576
|
+
|
|
196
577
|
## Project-Specific Skills
|
|
197
578
|
|
|
198
579
|
Add your project-specific skills here:
|
|
@@ -214,7 +595,8 @@ START: User gives a task
|
|
|
214
595
|
|
|
|
215
596
|
v
|
|
216
597
|
Is it a new feature needing scope/plan?
|
|
217
|
-
|-- YES --> /prd (scopes + plans + writes cards
|
|
598
|
+
|-- YES --> /prd (scopes + plans + writes cards; UI phase delegates the
|
|
599
|
+
| Claude Design prompt to /ds-handoff)
|
|
218
600
|
| Then /new (implements the cards end-to-end)
|
|
219
601
|
|
|
|
220
602
|
v
|
|
@@ -223,11 +605,22 @@ Is it a bug fix?
|
|
|
223
605
|
|
|
|
224
606
|
v
|
|
225
607
|
Is it UI/visual work?
|
|
226
|
-
|-- YES --> /ui-design (mockups/options) or frontend-design
|
|
608
|
+
|-- YES --> /ui-design (mockups/options) or frontend-design;
|
|
609
|
+
| motion → /motion-design
|
|
227
610
|
|
|
|
228
611
|
v
|
|
229
|
-
Is it
|
|
230
|
-
|-- YES -->
|
|
612
|
+
Is it design-system work (a component / token / handoff)?
|
|
613
|
+
|-- YES --> /ds-new (create) · /ds-edit (change) · /ds-render (isolate) ·
|
|
614
|
+
| /ds-handoff (Claude Design prompt) · /design-sync (mirror)
|
|
615
|
+
| (bootstrap the registry first with /design-system-init)
|
|
616
|
+
|
|
|
617
|
+
v
|
|
618
|
+
Is it internationalization?
|
|
619
|
+
|-- YES --> /i18n (audit + translate) or /i18n-adopt (one-shot migration)
|
|
620
|
+
|
|
|
621
|
+
v
|
|
622
|
+
Is it browser/E2E testing or review?
|
|
623
|
+
|-- YES --> playwright-skill / webapp-testing / /e2e-review (blocking)
|
|
231
624
|
|
|
|
232
625
|
v
|
|
233
626
|
Is it cleanup/complexity reduction?
|
|
@@ -250,7 +643,15 @@ Common skill chains (all skills below are shipped under `.claude/skills/`):
|
|
|
250
643
|
3. **UI Feature**:
|
|
251
644
|
- /prd → /ui-design → /new → playwright-skill (or /e2e-review for blocking E2E)
|
|
252
645
|
|
|
253
|
-
4. **
|
|
646
|
+
4. **UI Feature via Claude Design handoff**:
|
|
647
|
+
- /prd (Branch B) → /ds-handoff (field-level prompt) → [design in Claude Design]
|
|
648
|
+
→ /prd re-entry (mockup intake) → /new → /e2e-review
|
|
649
|
+
|
|
650
|
+
5. **Design System**:
|
|
651
|
+
- /design-system-init (bootstrap) → /ds-new / /ds-edit (evolve) → /ds-render
|
|
652
|
+
(verify isolated) → /design-sync (mirror to the satellite)
|
|
653
|
+
|
|
654
|
+
6. **Refactoring**:
|
|
254
655
|
- /simplify (identify + apply cleanups) → /new gates re-run lint/tsc/tests
|
|
255
656
|
|
|
256
657
|
## Anti-Patterns
|
|
@@ -263,6 +664,7 @@ Common skill chains (all skills below are shipped under `.claude/skills/`):
|
|
|
263
664
|
- Claim completion before the `/new` review + gate cycle passes
|
|
264
665
|
- Use wrong skill for the task
|
|
265
666
|
- Route to a skill name that has no directory under `.claude/skills/`
|
|
667
|
+
- Route to a feature-gated skill when its `features.*` flag is `false`
|
|
266
668
|
|
|
267
669
|
**Do**:
|
|
268
670
|
|