@compilr-dev/sdk 0.17.12 → 0.17.13

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.
@@ -7,3 +7,4 @@
7
7
  export declare const canvasSkill: import("@compilr-dev/agents").Skill;
8
8
  export declare const infographicSkill: import("@compilr-dev/agents").Skill;
9
9
  export declare const carouselSkill: import("@compilr-dev/agents").Skill;
10
+ export declare const boardSkill: import("@compilr-dev/agents").Skill;
@@ -29,9 +29,9 @@ export const canvasSkill = defineSkill({
29
29
  ## Canvas types (pick one)
30
30
  - **infographic** — a single self-contained composition (poster / stat card / one-pager). Default when unsure.
31
31
  - **carousel** — multiple slide "sheets"; author each slide as a top-level \`<section data-sheet>…</section>\`.
32
- - **board** — an infinite 2D board of loosely-placed elements.
32
+ - **board** — an infinite 2D coordinate space of absolutely-positioned node cards + inline-SVG connectors (mind-map / diagram / UI sketch). Wrap in \`<div data-board style="position:relative;width:Wpx;height:Hpx">\`.
33
33
 
34
- **Once you've picked the type, consult its craft guide for the design rules that make it good** — the \`infographic\` skill (hierarchy, grid, stat tiles, restrained color, correct charts) or the \`carousel\` skill (one idea per slide, narrative arc, consistent master layout, 16:9 discipline). This general skill covers the mechanics (tools, structure, theme, Tweaks); the per-type skill covers the craft.
34
+ **Once you've picked the type, consult its craft guide for the design rules that make it good** — the \`infographic\` skill (hierarchy, grid, stat tiles, restrained color, correct charts), the \`carousel\` skill (one idea per slide, narrative arc, consistent master layout, 16:9 discipline), or the \`board\` skill (declared coordinate space, absolutely-positioned node cards, inline-SVG connectors, clustering). This general skill covers the mechanics (tools, structure, theme, Tweaks); the per-type skill covers the craft.
35
35
 
36
36
  ## STEPS
37
37
 
@@ -153,3 +153,41 @@ Structure the sequence like a story, not a list:
153
153
  ## Anti-patterns (fix on sight)
154
154
  - Paragraphs on a slide. • Slides with inconsistent layouts/margins. • Text too small to read at a glance. • Edge-to-edge clutter with no whitespace. • One giant slide doing the work of five. • A deck with no arc (slides in interchangeable order).`,
155
155
  });
156
+ // =============================================================================
157
+ // /board — craft guide for an infinite-board canvas (Phase 5)
158
+ // =============================================================================
159
+ export const boardSkill = defineSkill({
160
+ name: 'board',
161
+ description: 'Craft guidance for authoring a GREAT infinite-board canvas — a pannable/zoomable 2D space for ' +
162
+ 'mind-maps, system diagrams, and UI-layout sketches. Nodes are absolutely positioned in a declared ' +
163
+ 'coordinate space; connectors are inline SVG. Consult after choosing the board canvas type.',
164
+ tags: ['visual', 'canvas', 'board', 'diagram', 'design'],
165
+ prompt: `Craft guide for an INFINITE BOARD — a pannable/zoomable 2D space (mind-map, system/architecture diagram, UI-layout sketch). This is design guidance; author with the canvas tools (see the \`canvas\` skill). YOU author the board; the user pans, zooms, and lightly restyles — they do NOT drag nodes, so your layout is the final layout.
166
+
167
+ ## The coordinate-space contract (REQUIRED)
168
+ - The board is ONE HTML document laid out in a logical pixel coordinate space. Wrap everything in a root with an EXPLICIT declared size:
169
+ \`<div data-board style="position:relative;width:2400px;height:1500px">…</div>\`
170
+ The \`data-board\` element and its px \`width\`/\`height\` ARE the board's extent — the host uses them to fit-to-view and to export. Pick a size that comfortably holds your content with margins (e.g. 2000–4000 wide). Keep all content INSIDE these bounds.
171
+ - **Nodes** are self-contained blocks, ABSOLUTELY positioned inside the board: \`position:absolute; left:Xpx; top:Ypx; width:Wpx\`. Snap X/Y/W to a grid (e.g. multiples of 20) so the board reads as ordered, not scattered.
172
+ - Do NOT paint the board background — the host draws a dot-grid backdrop on \`var(--canvas-bg)\`. Style the NODE CARDS with the theme vars (\`var(--canvas-card)\` fill, \`var(--canvas-border)\` edge, \`var(--canvas-fg)\` text, \`var(--canvas-accent)\` for emphasis).
173
+
174
+ ## Connectors — inline SVG overlay
175
+ - Draw relationships as ONE inline-SVG layer spanning the whole board, BEHIND the nodes:
176
+ \`<svg style="position:absolute;inset:0;width:100%;height:100%;pointer-events:none" viewBox="0 0 2400 1500">…</svg>\`
177
+ - Connect node edge-points with \`<line>\`/\`<path>\` in \`var(--canvas-border)\` or \`var(--canvas-muted)\`; add \`<polygon>\`/marker arrowheads for direction. Keep the viewBox equal to the board size so SVG coordinates match node coordinates.
178
+ - Route to avoid crossing nodes; prefer orthogonal (elbow) paths for diagrams, straight/curved for mind-maps.
179
+
180
+ ## Layout craft
181
+ - **Cluster by meaning.** Group related nodes into visual clusters with shared proximity (and optionally a faint labeled region). Space clusters apart so the structure is legible at fit-zoom.
182
+ - **A clear reading order / center of gravity.** Mind-map: a central node with branches radiating out. Architecture: layered (client → service → data), left-to-right or top-to-bottom. UI sketch: screens laid out in flow order.
183
+ - **Label everything** — every node has a short title; every cluster/region a heading; connectors labeled when the relationship isn't obvious.
184
+ - **Legible at a glance.** Node titles ~16–20px, body ~13–14px. Don't rely on the user zooming in to read essential labels — the board should make sense at fit-view.
185
+ - Consistent node sizing within a cluster; consistent card style board-wide.
186
+
187
+ ## Before you finish
188
+ - Confirm all content sits inside the declared \`data-board\` bounds (nothing clipped at the edges).
189
+ - Add 2–4 **bound** Tweaks (accent color, node title size, a toggle for connector labels or a cluster).
190
+
191
+ ## Anti-patterns (fix on sight)
192
+ - No \`data-board\` wrapper / no declared size (breaks fit + export). • Content outside the declared bounds. • Nodes scattered off-grid with no clusters. • Painting a full-board background (the host owns the backdrop). • Connectors that cross through nodes or are unlabeled where the relation is ambiguous. • Text only readable when zoomed in. • Reinventing a whiteboard — this is an authored diagram, not a drag-and-drop surface.`,
193
+ });
@@ -11,8 +11,8 @@ export { businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, fina
11
11
  export { brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } from './content-skills.js';
12
12
  export { curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } from './course-skills.js';
13
13
  export { bookOutlineSkill, characterDesignSkill, plotThreadsSkill, sceneBreakdownSkill, bookReviewSkill, } from './book-skills.js';
14
- export { canvasSkill, infographicSkill, carouselSkill } from './canvas-skills.js';
14
+ export { canvasSkill, infographicSkill, carouselSkill, boardSkill } from './canvas-skills.js';
15
15
  /**
16
- * All platform-specific skills (37 total).
16
+ * All platform-specific skills (38 total).
17
17
  */
18
18
  export declare const platformSkills: Skill[];
@@ -17,7 +17,7 @@ export { curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseRe
17
17
  // Book
18
18
  export { bookOutlineSkill, characterDesignSkill, plotThreadsSkill, sceneBreakdownSkill, bookReviewSkill, } from './book-skills.js';
19
19
  // Canvas (visual)
20
- export { canvasSkill, infographicSkill, carouselSkill } from './canvas-skills.js';
20
+ export { canvasSkill, infographicSkill, carouselSkill, boardSkill } from './canvas-skills.js';
21
21
  // Import all for the aggregate array
22
22
  import { designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, } from './software-skills.js';
23
23
  import { outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, } from './research-skills.js';
@@ -25,9 +25,9 @@ import { businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, fina
25
25
  import { brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } from './content-skills.js';
26
26
  import { curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } from './course-skills.js';
27
27
  import { bookOutlineSkill, characterDesignSkill, plotThreadsSkill, sceneBreakdownSkill, bookReviewSkill, } from './book-skills.js';
28
- import { canvasSkill, infographicSkill, carouselSkill } from './canvas-skills.js';
28
+ import { canvasSkill, infographicSkill, carouselSkill, boardSkill } from './canvas-skills.js';
29
29
  /**
30
- * All platform-specific skills (37 total).
30
+ * All platform-specific skills (38 total).
31
31
  */
32
32
  export const platformSkills = [
33
33
  // Software (9)
@@ -70,8 +70,9 @@ export const platformSkills = [
70
70
  plotThreadsSkill,
71
71
  sceneBreakdownSkill,
72
72
  bookReviewSkill,
73
- // Canvas (3)
73
+ // Canvas (4)
74
74
  canvasSkill,
75
75
  infographicSkill,
76
76
  carouselSkill,
77
+ boardSkill,
77
78
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/sdk",
3
- "version": "0.17.12",
3
+ "version": "0.17.13",
4
4
  "description": "Universal agent runtime for building AI-powered applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",