@vpxa/aikit 0.1.128 → 0.1.130
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/package.json +1 -1
- package/packages/core/dist/index.js +1 -1
- package/packages/embeddings/dist/index.d.ts +14 -0
- package/packages/embeddings/dist/index.js +1 -1
- package/packages/present/dist/index.html +275 -248
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/{server-C_cXoajp.js → server-nizfrMPw.js} +323 -1047
- package/packages/tools/dist/index.js +1 -1
- package/scaffold/dist/adapters/skills.mjs +1 -1
- package/scaffold/dist/definitions/prompts.mjs +126 -1
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +26 -2
- package/scaffold/dist/definitions/skills/docs.mjs +7 -3
- package/scaffold/dist/definitions/skills/present.mjs +3 -47
- package/scaffold/dist/generated/block-docs.mjs +81 -0
- package/scaffold/generated/block-docs.mjs +13 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
function e({blockDocs:e}={}){return[{file:`SKILL.md`,content:`---
|
|
2
2
|
name: present
|
|
3
3
|
description: "Use the AI Kit \`present\` tool to display rich interactive dashboards, charts, timelines, status boards, and data visualizations in the browser or in-chat. Covers all block types, chart types, actions, composition patterns, and MCP Apps templates (list-sort, data-table, picker, flame-graph, form, timeline, kanban, tree, diff-view, dashboard). Load this skill before calling the present tool to ensure professional output."
|
|
4
4
|
metadata:
|
|
@@ -61,51 +61,7 @@ openBrowserPage({ url: "http://127.0.0.1:{port}" }) // Playwright MCP - opens UR
|
|
|
61
61
|
|
|
62
62
|
Content is an array of **typed blocks**. Each block has \`{ type, title?, value }\`. All blocks compose into a single unified page — use multiple blocks for sections.
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
| Type | Value Shape | Renders As |
|
|
67
|
-
|------|------------|------------|
|
|
68
|
-
| \`markdown\` | \`string\` (markdown text) | Rendered HTML with full GFM support |
|
|
69
|
-
| \`code\` | \`string\` (source code) | Syntax-highlighted code block |
|
|
70
|
-
| \`mermaid\` | \`string\` (mermaid syntax) | Interactive diagram |
|
|
71
|
-
| \`table\` | \`Array<Record<string, unknown>>\` | Sortable/filterable table |
|
|
72
|
-
| \`metrics\` | \`Array<{ label, value }>\` | KPI metric cards grid |
|
|
73
|
-
| \`cards\` | \`Array<{ title, body, badge? }>\` | Card grid layout |
|
|
74
|
-
| \`tree\` | \`Record<string, unknown>\` | Expandable tree view |
|
|
75
|
-
| \`graph\` | \`{ nodes: [], edges: [] }\` | Mermaid graph diagram |
|
|
76
|
-
|
|
77
|
-
### Chart Block
|
|
78
|
-
|
|
79
|
-
\`\`\`json
|
|
80
|
-
{
|
|
81
|
-
"type": "chart",
|
|
82
|
-
"title": "Revenue Trend",
|
|
83
|
-
"value": {
|
|
84
|
-
"chartType": "line",
|
|
85
|
-
"data": [{"month": "Jan", "revenue": 1200}, {"month": "Feb", "revenue": 1800}],
|
|
86
|
-
"xKey": "month",
|
|
87
|
-
"yKeys": ["revenue"],
|
|
88
|
-
"showLegend": true,
|
|
89
|
-
"showGrid": true,
|
|
90
|
-
"height": 300
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
\`\`\`
|
|
94
|
-
|
|
95
|
-
**Chart types:** \`line\`, \`area\`, \`bar\`, \`horizontal-bar\`, \`pie\`, \`donut\`, \`sparkline\`, \`heatmap\`
|
|
96
|
-
|
|
97
|
-
> **⚠️ Chart Format**: Always use the ChartValue format shown above (\`chartType\`, \`data\`, \`xKey\`, \`yKeys\`). Do **NOT** use Chart.js format (\`labels\`, \`datasets\`) — while it will be auto-converted, the native ChartValue format is required for reliable rendering.
|
|
98
|
-
|
|
99
|
-
### New Block Types
|
|
100
|
-
|
|
101
|
-
| Type | Value Shape | Renders As |
|
|
102
|
-
|------|------------|------------|
|
|
103
|
-
| \`timeline\` | \`{ items: [{ phase?, title, description?, status? }] }\` | Vertical timeline with status dots (done/active/pending/error) |
|
|
104
|
-
| \`checklist\` | \`{ items: [{ label, checked?, note? }] }\` | Interactive checklist with checkmarks |
|
|
105
|
-
| \`comparison\` | \`{ columns: [{ title, items: [string] }] }\` | Side-by-side comparison grid |
|
|
106
|
-
| \`status-board\` | \`{ items: [{ label, status, detail? }] }\` | Status indicator rows (success/warning/error/info/pending) |
|
|
107
|
-
| \`prompt\` | \`{ question, context?, placeholder? }\` | Highlighted question/prompt block |
|
|
108
|
-
| \`progress\` | \`{ items: [{ label, value, max? }] }\` | Progress bars with percentages |
|
|
64
|
+
${e?.bySkill?.present||``}
|
|
109
65
|
|
|
110
66
|
---
|
|
111
67
|
|
|
@@ -614,4 +570,4 @@ Metric types: \`'stat'\` (default), \`'progress'\` (with bar), \`'list'\` (sub-i
|
|
|
614
570
|
| tree | Display only | — |
|
|
615
571
|
| diff-view | Display only | — |
|
|
616
572
|
| dashboard | Display only | — |
|
|
617
|
-
`}]
|
|
573
|
+
`}]}export{e as default};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const e="| Type | Description | Value Shape |\n|------|-------------|-------------|\n| `markdown` | Markdown content rendered with the marked parser. | `string` |\n| `code` | Formatted code block rendered inside pre/code tags. | `string` |\n| `mermaid` | Mermaid diagram source rendered in a mermaid pre block. | `string` |\n| `table` | Tabular data rendered from records or explicit headers and rows. | `Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }` |\n| `metrics` | Metric cards showing label/value pairs with optional trend and status. | `Array<{ label: string; value: string | number; trend?: string | number; status?: string }>` |\n| `cards` | Card grid for titled items with optional body, badge, and status. | `Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>` |\n| `tree` | Hierarchical object or name/children tree rendered recursively. | `{ name: string; children?: unknown[] } | Record<string, unknown>` |\n| `graph` | Node and edge graph rendered as a Mermaid flow graph in HTML mode. | `{ nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }` |\n| `chart` | Structured chart definition rendered as SVG. | `{ chartType: string; data: Record<string, unknown>[]; xKey: string; yKeys: string[] }` |\n| `timeline` | Timeline entries rendered as a vertical sequence of events. | `Array<{ title: string; description?: string; timestamp?: string; status?: string }>` |\n| `checklist` | Checklist items with boolean checked state. | `Array<{label, checked}> | {items: Array<{label, checked}>}` |\n| `comparison` | Side-by-side comparison columns with titled item lists. | `Array<{title, items}> | {columns: Array<{title, items}>}` |\n| `status-board` | Status categories containing labeled status items. | `Array<{category, items}> | {items: Array<{category, items}>}` |\n| `prompt` | Prompt payload rendered through the prompt display helper. | `unknown` |\n| `progress` | Progress bar with current value and optional maximum. | `{label, value, max?} | {items: Array<{label, value, max?, color?}>}` |\n| `viewer-link` | Styled card linking to a standalone interactive viewer. | `{ viewerType: string; label: string; description?: string; url?: string; icon?: string }` |\n| `docs-browser` | Collapsible file tree with markdown content for documentation browsing. | `{ files: Array<{ path: string; title?: string; content?: string; status?: \"current\" | \"stale\" | \"missing\" }>; title?: string }` |\n| `text` | Plain text content rendered through the markdown parser. | `string` |\n| `heading` | Single heading with configurable level from h1 to h6. | `string` |\n| `paragraph` | Single paragraph rendered inside a p tag. | `string` |\n| `separator` | Horizontal rule used to separate adjacent blocks. | `undefined` |\n| `actions` | Action bar containing button and select action definitions. | `Array<{ type: string; id: string; label: string; variant?: string; options?: Array<string | { label: string; value: string }> }>` |\n\n### Usage Examples\n\n#### `viewer-link`\n\n```typescript\n{\n type: 'viewer-link',\n value: {\n viewerType: 'c4',\n label: 'Open Interactive C4 Diagram',\n description: 'Drag, zoom, and pan with ELK auto-layout',\n icon: '🏗️',\n },\n}\n```\n\n#### `docs-browser`\n\n```typescript\n{\n type: 'docs-browser',\n value: {\n title: 'Project Docs',\n files: [\n { path: 'docs/README.md', title: 'Overview', status: 'current' },\n { path: 'docs/api.md', title: 'API Reference', status: 'stale' },\n ],\n },\n}\n```",t=` - type:"markdown" → value: string
|
|
2
|
+
- type:"code" → value: string
|
|
3
|
+
- type:"mermaid" → value: string
|
|
4
|
+
- type:"table" → value: Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }
|
|
5
|
+
- type:"metrics" → value: Array<{ label: string; value: string | number; trend?: string | number; status?: string }>
|
|
6
|
+
- type:"cards" → value: Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>
|
|
7
|
+
- type:"tree" → value: { name: string; children?: unknown[] } | Record<string, unknown>
|
|
8
|
+
- type:"graph" → value: { nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }
|
|
9
|
+
- type:"chart" → value: { chartType: string; data: Record<string, unknown>[]; xKey: string; yKeys: string[] }
|
|
10
|
+
- type:"timeline" → value: Array<{ title: string; description?: string; timestamp?: string; status?: string }>
|
|
11
|
+
- type:"checklist" → value: Array<{label, checked}> | {items: Array<{label, checked}>}
|
|
12
|
+
- type:"comparison" → value: Array<{title, items}> | {columns: Array<{title, items}>}
|
|
13
|
+
- type:"status-board" → value: Array<{category, items}> | {items: Array<{category, items}>}
|
|
14
|
+
- type:"prompt" → value: unknown
|
|
15
|
+
- type:"progress" → value: {label, value, max?} | {items: Array<{label, value, max?, color?}>}
|
|
16
|
+
- type:"viewer-link" → value: { viewerType: string; label: string; description?: string; url?: string; icon?: string }
|
|
17
|
+
- type:"docs-browser" → value: { files: Array<{ path: string; title?: string; content?: string; status?: "current" | "stale" | "missing" }>; title?: string }
|
|
18
|
+
- type:"text" → value: string
|
|
19
|
+
- type:"heading" → value: string
|
|
20
|
+
- type:"paragraph" → value: string
|
|
21
|
+
- type:"separator" → value: undefined
|
|
22
|
+
- type:"actions" → value: Array<{ type: string; id: string; label: string; variant?: string; options?: Array<string | { label: string; value: string }> }>`,n={present:"| Type | Description | Value Shape |\n|------|-------------|-------------|\n| `markdown` | Markdown content rendered with the marked parser. | `string` |\n| `code` | Formatted code block rendered inside pre/code tags. | `string` |\n| `mermaid` | Mermaid diagram source rendered in a mermaid pre block. | `string` |\n| `table` | Tabular data rendered from records or explicit headers and rows. | `Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }` |\n| `metrics` | Metric cards showing label/value pairs with optional trend and status. | `Array<{ label: string; value: string | number; trend?: string | number; status?: string }>` |\n| `cards` | Card grid for titled items with optional body, badge, and status. | `Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>` |\n| `tree` | Hierarchical object or name/children tree rendered recursively. | `{ name: string; children?: unknown[] } | Record<string, unknown>` |\n| `graph` | Node and edge graph rendered as a Mermaid flow graph in HTML mode. | `{ nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }` |\n| `chart` | Structured chart definition rendered as SVG. | `{ chartType: string; data: Record<string, unknown>[]; xKey: string; yKeys: string[] }` |\n| `timeline` | Timeline entries rendered as a vertical sequence of events. | `Array<{ title: string; description?: string; timestamp?: string; status?: string }>` |\n| `checklist` | Checklist items with boolean checked state. | `Array<{label, checked}> | {items: Array<{label, checked}>}` |\n| `comparison` | Side-by-side comparison columns with titled item lists. | `Array<{title, items}> | {columns: Array<{title, items}>}` |\n| `status-board` | Status categories containing labeled status items. | `Array<{category, items}> | {items: Array<{category, items}>}` |\n| `prompt` | Prompt payload rendered through the prompt display helper. | `unknown` |\n| `progress` | Progress bar with current value and optional maximum. | `{label, value, max?} | {items: Array<{label, value, max?, color?}>}` |\n| `viewer-link` | Styled card linking to a standalone interactive viewer. | `{ viewerType: string; label: string; description?: string; url?: string; icon?: string }` |\n| `docs-browser` | Collapsible file tree with markdown content for documentation browsing. | `{ files: Array<{ path: string; title?: string; content?: string; status?: \"current\" | \"stale\" | \"missing\" }>; title?: string }` |\n\n### Usage Examples\n\n#### `viewer-link`\n\n```typescript\n{\n type: 'viewer-link',\n value: {\n viewerType: 'c4',\n label: 'Open Interactive C4 Diagram',\n description: 'Drag, zoom, and pan with ELK auto-layout',\n icon: '🏗️',\n },\n}\n```\n\n#### `docs-browser`\n\n```typescript\n{\n type: 'docs-browser',\n value: {\n title: 'Project Docs',\n files: [\n { path: 'docs/README.md', title: 'Overview', status: 'current' },\n { path: 'docs/api.md', title: 'API Reference', status: 'stale' },\n ],\n },\n}\n```",docs:`| Type | Description | Value Shape |
|
|
23
|
+
|------|-------------|-------------|
|
|
24
|
+
| \`markdown\` | Markdown content rendered with the marked parser. | \`string\` |
|
|
25
|
+
| \`code\` | Formatted code block rendered inside pre/code tags. | \`string\` |
|
|
26
|
+
| \`mermaid\` | Mermaid diagram source rendered in a mermaid pre block. | \`string\` |
|
|
27
|
+
| \`table\` | Tabular data rendered from records or explicit headers and rows. | \`Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }\` |
|
|
28
|
+
| \`cards\` | Card grid for titled items with optional body, badge, and status. | \`Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>\` |
|
|
29
|
+
| \`viewer-link\` | Styled card linking to a standalone interactive viewer. | \`{ viewerType: string; label: string; description?: string; url?: string; icon?: string }\` |
|
|
30
|
+
| \`docs-browser\` | Collapsible file tree with markdown content for documentation browsing. | \`{ files: Array<{ path: string; title?: string; content?: string; status?: "current" | "stale" | "missing" }>; title?: string }\` |
|
|
31
|
+
|
|
32
|
+
### Usage Examples
|
|
33
|
+
|
|
34
|
+
#### \`viewer-link\`
|
|
35
|
+
|
|
36
|
+
\`\`\`typescript
|
|
37
|
+
{
|
|
38
|
+
type: 'viewer-link',
|
|
39
|
+
value: {
|
|
40
|
+
viewerType: 'c4',
|
|
41
|
+
label: 'Open Interactive C4 Diagram',
|
|
42
|
+
description: 'Drag, zoom, and pan with ELK auto-layout',
|
|
43
|
+
icon: '🏗️',
|
|
44
|
+
},
|
|
45
|
+
}
|
|
46
|
+
\`\`\`
|
|
47
|
+
|
|
48
|
+
#### \`docs-browser\`
|
|
49
|
+
|
|
50
|
+
\`\`\`typescript
|
|
51
|
+
{
|
|
52
|
+
type: 'docs-browser',
|
|
53
|
+
value: {
|
|
54
|
+
title: 'Project Docs',
|
|
55
|
+
files: [
|
|
56
|
+
{ path: 'docs/README.md', title: 'Overview', status: 'current' },
|
|
57
|
+
{ path: 'docs/api.md', title: 'API Reference', status: 'stale' },
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
}
|
|
61
|
+
\`\`\``,"c4-architecture":`| Type | Description | Value Shape |
|
|
62
|
+
|------|-------------|-------------|
|
|
63
|
+
| \`mermaid\` | Mermaid diagram source rendered in a mermaid pre block. | \`string\` |
|
|
64
|
+
| \`graph\` | Node and edge graph rendered as a Mermaid flow graph in HTML mode. | \`{ nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }\` |
|
|
65
|
+
| \`viewer-link\` | Styled card linking to a standalone interactive viewer. | \`{ viewerType: string; label: string; description?: string; url?: string; icon?: string }\` |
|
|
66
|
+
|
|
67
|
+
### Usage Examples
|
|
68
|
+
|
|
69
|
+
#### \`viewer-link\`
|
|
70
|
+
|
|
71
|
+
\`\`\`typescript
|
|
72
|
+
{
|
|
73
|
+
type: 'viewer-link',
|
|
74
|
+
value: {
|
|
75
|
+
viewerType: 'c4',
|
|
76
|
+
label: 'Open Interactive C4 Diagram',
|
|
77
|
+
description: 'Drag, zoom, and pan with ELK auto-layout',
|
|
78
|
+
icon: '🏗️',
|
|
79
|
+
},
|
|
80
|
+
}
|
|
81
|
+
\`\`\``};export{e as ALL_BLOCK_DOCS,n as BLOCK_DOCS_BY_SKILL,t as BLOCK_TYPE_LIST};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// AUTO-GENERATED - do not edit manually.
|
|
2
|
+
// Source: packages/server/src/tools/present/block-registry.ts
|
|
3
|
+
// Generated at: 2026-05-10T12:09:40.613Z
|
|
4
|
+
|
|
5
|
+
export const ALL_BLOCK_DOCS = "| Type | Description | Value Shape |\n|------|-------------|-------------|\n| `markdown` | Markdown content rendered with the marked parser. | `string` |\n| `code` | Formatted code block rendered inside pre/code tags. | `string` |\n| `mermaid` | Mermaid diagram source rendered in a mermaid pre block. | `string` |\n| `table` | Tabular data rendered from records or explicit headers and rows. | `Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }` |\n| `metrics` | Metric cards showing label/value pairs with optional trend and status. | `Array<{ label: string; value: string | number; trend?: string | number; status?: string }>` |\n| `cards` | Card grid for titled items with optional body, badge, and status. | `Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>` |\n| `tree` | Hierarchical object or name/children tree rendered recursively. | `{ name: string; children?: unknown[] } | Record<string, unknown>` |\n| `graph` | Node and edge graph rendered as a Mermaid flow graph in HTML mode. | `{ nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }` |\n| `chart` | Structured chart definition rendered as SVG. | `{ chartType: string; data: Record<string, unknown>[]; xKey: string; yKeys: string[] }` |\n| `timeline` | Timeline entries rendered as a vertical sequence of events. | `Array<{ title: string; description?: string; timestamp?: string; status?: string }>` |\n| `checklist` | Checklist items with boolean checked state. | `Array<{label, checked}> | {items: Array<{label, checked}>}` |\n| `comparison` | Side-by-side comparison columns with titled item lists. | `Array<{title, items}> | {columns: Array<{title, items}>}` |\n| `status-board` | Status categories containing labeled status items. | `Array<{category, items}> | {items: Array<{category, items}>}` |\n| `prompt` | Prompt payload rendered through the prompt display helper. | `unknown` |\n| `progress` | Progress bar with current value and optional maximum. | `{label, value, max?} | {items: Array<{label, value, max?, color?}>}` |\n| `viewer-link` | Styled card linking to a standalone interactive viewer. | `{ viewerType: string; label: string; description?: string; url?: string; icon?: string }` |\n| `docs-browser` | Collapsible file tree with markdown content for documentation browsing. | `{ files: Array<{ path: string; title?: string; content?: string; status?: \"current\" | \"stale\" | \"missing\" }>; title?: string }` |\n| `text` | Plain text content rendered through the markdown parser. | `string` |\n| `heading` | Single heading with configurable level from h1 to h6. | `string` |\n| `paragraph` | Single paragraph rendered inside a p tag. | `string` |\n| `separator` | Horizontal rule used to separate adjacent blocks. | `undefined` |\n| `actions` | Action bar containing button and select action definitions. | `Array<{ type: string; id: string; label: string; variant?: string; options?: Array<string | { label: string; value: string }> }>` |\n\n### Usage Examples\n\n#### `viewer-link`\n\n```typescript\n{\n type: 'viewer-link',\n value: {\n viewerType: 'c4',\n label: 'Open Interactive C4 Diagram',\n description: 'Drag, zoom, and pan with ELK auto-layout',\n icon: '🏗️',\n },\n}\n```\n\n#### `docs-browser`\n\n```typescript\n{\n type: 'docs-browser',\n value: {\n title: 'Project Docs',\n files: [\n { path: 'docs/README.md', title: 'Overview', status: 'current' },\n { path: 'docs/api.md', title: 'API Reference', status: 'stale' },\n ],\n },\n}\n```";
|
|
6
|
+
|
|
7
|
+
export const BLOCK_TYPE_LIST = " - type:\"markdown\" → value: string\n - type:\"code\" → value: string\n - type:\"mermaid\" → value: string\n - type:\"table\" → value: Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }\n - type:\"metrics\" → value: Array<{ label: string; value: string | number; trend?: string | number; status?: string }>\n - type:\"cards\" → value: Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>\n - type:\"tree\" → value: { name: string; children?: unknown[] } | Record<string, unknown>\n - type:\"graph\" → value: { nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }\n - type:\"chart\" → value: { chartType: string; data: Record<string, unknown>[]; xKey: string; yKeys: string[] }\n - type:\"timeline\" → value: Array<{ title: string; description?: string; timestamp?: string; status?: string }>\n - type:\"checklist\" → value: Array<{label, checked}> | {items: Array<{label, checked}>}\n - type:\"comparison\" → value: Array<{title, items}> | {columns: Array<{title, items}>}\n - type:\"status-board\" → value: Array<{category, items}> | {items: Array<{category, items}>}\n - type:\"prompt\" → value: unknown\n - type:\"progress\" → value: {label, value, max?} | {items: Array<{label, value, max?, color?}>}\n - type:\"viewer-link\" → value: { viewerType: string; label: string; description?: string; url?: string; icon?: string }\n - type:\"docs-browser\" → value: { files: Array<{ path: string; title?: string; content?: string; status?: \"current\" | \"stale\" | \"missing\" }>; title?: string }\n - type:\"text\" → value: string\n - type:\"heading\" → value: string\n - type:\"paragraph\" → value: string\n - type:\"separator\" → value: undefined\n - type:\"actions\" → value: Array<{ type: string; id: string; label: string; variant?: string; options?: Array<string | { label: string; value: string }> }>";
|
|
8
|
+
|
|
9
|
+
export const BLOCK_DOCS_BY_SKILL = {
|
|
10
|
+
"present": "| Type | Description | Value Shape |\n|------|-------------|-------------|\n| `markdown` | Markdown content rendered with the marked parser. | `string` |\n| `code` | Formatted code block rendered inside pre/code tags. | `string` |\n| `mermaid` | Mermaid diagram source rendered in a mermaid pre block. | `string` |\n| `table` | Tabular data rendered from records or explicit headers and rows. | `Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }` |\n| `metrics` | Metric cards showing label/value pairs with optional trend and status. | `Array<{ label: string; value: string | number; trend?: string | number; status?: string }>` |\n| `cards` | Card grid for titled items with optional body, badge, and status. | `Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>` |\n| `tree` | Hierarchical object or name/children tree rendered recursively. | `{ name: string; children?: unknown[] } | Record<string, unknown>` |\n| `graph` | Node and edge graph rendered as a Mermaid flow graph in HTML mode. | `{ nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }` |\n| `chart` | Structured chart definition rendered as SVG. | `{ chartType: string; data: Record<string, unknown>[]; xKey: string; yKeys: string[] }` |\n| `timeline` | Timeline entries rendered as a vertical sequence of events. | `Array<{ title: string; description?: string; timestamp?: string; status?: string }>` |\n| `checklist` | Checklist items with boolean checked state. | `Array<{label, checked}> | {items: Array<{label, checked}>}` |\n| `comparison` | Side-by-side comparison columns with titled item lists. | `Array<{title, items}> | {columns: Array<{title, items}>}` |\n| `status-board` | Status categories containing labeled status items. | `Array<{category, items}> | {items: Array<{category, items}>}` |\n| `prompt` | Prompt payload rendered through the prompt display helper. | `unknown` |\n| `progress` | Progress bar with current value and optional maximum. | `{label, value, max?} | {items: Array<{label, value, max?, color?}>}` |\n| `viewer-link` | Styled card linking to a standalone interactive viewer. | `{ viewerType: string; label: string; description?: string; url?: string; icon?: string }` |\n| `docs-browser` | Collapsible file tree with markdown content for documentation browsing. | `{ files: Array<{ path: string; title?: string; content?: string; status?: \"current\" | \"stale\" | \"missing\" }>; title?: string }` |\n\n### Usage Examples\n\n#### `viewer-link`\n\n```typescript\n{\n type: 'viewer-link',\n value: {\n viewerType: 'c4',\n label: 'Open Interactive C4 Diagram',\n description: 'Drag, zoom, and pan with ELK auto-layout',\n icon: '🏗️',\n },\n}\n```\n\n#### `docs-browser`\n\n```typescript\n{\n type: 'docs-browser',\n value: {\n title: 'Project Docs',\n files: [\n { path: 'docs/README.md', title: 'Overview', status: 'current' },\n { path: 'docs/api.md', title: 'API Reference', status: 'stale' },\n ],\n },\n}\n```",
|
|
11
|
+
"docs": "| Type | Description | Value Shape |\n|------|-------------|-------------|\n| `markdown` | Markdown content rendered with the marked parser. | `string` |\n| `code` | Formatted code block rendered inside pre/code tags. | `string` |\n| `mermaid` | Mermaid diagram source rendered in a mermaid pre block. | `string` |\n| `table` | Tabular data rendered from records or explicit headers and rows. | `Record<string, unknown>[] | { headers: string[]; rows: unknown[][] }` |\n| `cards` | Card grid for titled items with optional body, badge, and status. | `Array<{ title: string; body?: string; badge?: string; status?: string; description?: string }>` |\n| `viewer-link` | Styled card linking to a standalone interactive viewer. | `{ viewerType: string; label: string; description?: string; url?: string; icon?: string }` |\n| `docs-browser` | Collapsible file tree with markdown content for documentation browsing. | `{ files: Array<{ path: string; title?: string; content?: string; status?: \"current\" | \"stale\" | \"missing\" }>; title?: string }` |\n\n### Usage Examples\n\n#### `viewer-link`\n\n```typescript\n{\n type: 'viewer-link',\n value: {\n viewerType: 'c4',\n label: 'Open Interactive C4 Diagram',\n description: 'Drag, zoom, and pan with ELK auto-layout',\n icon: '🏗️',\n },\n}\n```\n\n#### `docs-browser`\n\n```typescript\n{\n type: 'docs-browser',\n value: {\n title: 'Project Docs',\n files: [\n { path: 'docs/README.md', title: 'Overview', status: 'current' },\n { path: 'docs/api.md', title: 'API Reference', status: 'stale' },\n ],\n },\n}\n```",
|
|
12
|
+
"c4-architecture": "| Type | Description | Value Shape |\n|------|-------------|-------------|\n| `mermaid` | Mermaid diagram source rendered in a mermaid pre block. | `string` |\n| `graph` | Node and edge graph rendered as a Mermaid flow graph in HTML mode. | `{ nodes: Array<{ id: string; label?: string }>; edges: Array<{ from: string; to: string; label?: string }> }` |\n| `viewer-link` | Styled card linking to a standalone interactive viewer. | `{ viewerType: string; label: string; description?: string; url?: string; icon?: string }` |\n\n### Usage Examples\n\n#### `viewer-link`\n\n```typescript\n{\n type: 'viewer-link',\n value: {\n viewerType: 'c4',\n label: 'Open Interactive C4 Diagram',\n description: 'Drag, zoom, and pan with ELK auto-layout',\n icon: '🏗️',\n },\n}\n```"
|
|
13
|
+
};
|