Install
Three pieces — a Claude Code plugin (skill + slash commands + MCP), an org connector (MCP only), and a skill (prose only) — distributed across four surfaces. Pick your surface; the recipe below tells you what to wire and how.
Four Anthropic surfaces consume the Dashbook brand system in different ways. Use this matrix to find your recipe.
| Surface | MCP tools | Skill prose | Slash commands | Org-admin push |
|---|---|---|---|---|
| Claude Code (CLI) | ✓ via plugin | ✓ via plugin | ✓ via plugin | ✓ Cowork |
| claude.ai (web) | ✓ via Connector | — (see notes) | — | ✓ Connectors tab |
| Claude Desktop | ✓ via manual config or Cowork | — | — | partial (Cowork-installed Claude Code) |
| Claude Design (Labs) | — (coming weeks) | — | — | — |
The full bundle — tools + skill + slash commands + boundary signals — only reaches Claude Code today. Other surfaces get the tool layer, with skill prose reaching them indirectly via the boundary signal baked into every tool description.
Adds the marketplace, installs the plugin, registers the MCP server, loads the skill, and wires three slash commands. Three commands total.
# Two commands in Claude Code:
/plugin marketplace add FunnelDash/core --sparse .claude-plugin packages/brand-book/claude-plugin
/plugin install dashbook@dashfi# Verify:
/mcp # "dashbook" should appear, connected
# Try a slash command:
/dashbook-component button # fetches Button anatomy from MCP
/dashbook-port input react # generates React snippet
/dashbook-voice # brand voice rules
# Or in natural language — the skill auto-activates on Dash.fi keywords:
# "Use the Dashbook product design system. Build a settings page."Owner-only, one-time. Registers the dashbook plugin as part of the org's plugin marketplace so every Dash.fi engineer's Claude Code auto-installs it on next session. Updates propagate automatically. Requires Team or Enterprise plan.
# claude.ai admin → Plugins → Create Plugin Marketplace
# 1. Choose: GitHub syncing
# 2. Repo: FunnelDash/core (auto-pulls .claude-plugin/marketplace.json)
# 3. Installation preference:
# Installed by default ← recommended for Dash.fi engineers
# Available ← members install manually
# Required ← installed + uninstall-blocked
# 4. Publish.
#
# Every org member's Claude Code auto-installs Dashbook on next session.
# Updates propagate automatically when this page pushes new marketplace.json.Owners only — Admins can't push Cowork plugins. Verify with the Manage Claude Cowork plugins doc. Once published, members see Dashbook listed in their /plugin marketplace list alongside Anthropic's defaults.
Owner-only, one-time. Registers the Dashbook MCP server at the org level so every member of the workspace can opt in from their Customize panel. Tool-only — no skill prose, no slash commands. Requires Team or Enterprise plan.
# claude.ai admin → Organization settings → Connectors → Add → Custom → Web
#
# Name: Dashbook
# Remote MCP URL: https://brand.dash.fi/mcp
# OAuth Client ID: (leave blank — Dashbook MCP is unauthenticated)
# OAuth Client Secret: (leave blank)
# Action permissions: (defaults are fine)
#
# Save. The connector appears under each member's Customize → Connectors —
# they click Enable once to opt in. No forced auto-activation, no per-member
# admin approval.# In any org member's claude.ai chat:
"Show me the Dashbook brand voice rules."
# Expected: Claude calls marketing_get_brand_voice (visible in the tool-call
# expansion in chat) and returns the structured voice spec.Each member needs to click Enable the first time it appears under their Customize → Connectors. No forced auto-activation; no per-member admin approval after. Get started with custom connectors.
claude.ai doesn't have a first-class org-skills feature today. The skill's routing prose only reaches web users in two indirect ways.
- Tool-description boundary signal — every Dashbook
product_*tool description ends with a paragraph naming the cross-namespace rule ("wordmarks live in marketing_*, not here"). When Claude on claude.ai introspects the connector's tool catalogue, it sees the boundary at tool-discovery time. This is what makes the cross-namespace bug fix work even without explicit skill prose. - Org-wide workspace instructions — paste the relevant rules from
SKILL.mdinto your org's default workspace instructions (claude.ai admin → Organization settings → Default instructions). Always-on rather than keyword-activated; useful if your org does a lot of Dash.fi UI / marketing work.
Direct config edit. Wires the MCP server only — does not install the skill or slash commands (those come with the Claude Code plugin path).
// macOS — ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"dashbook": {
"url": "https://brand.dash.fi/mcp"
}
}
}// Windows — %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dashbook": {
"url": "https://brand.dash.fi/mcp"
}
}
}Restart Claude Desktop after editing. Manual config is a fallback — prefer the Cowork org push (which reaches Claude Code, and Desktop where supported) when you can.
Claude Design (claude.ai/design) is live as a visual collaboration tool, but doesn't yet support MCP, connectors, skills, or plugins. Anthropic has stated integration support is coming. Use Claude Code or claude.ai web for Dashbook access in the meantime.
- Status: integration mechanisms not yet shipped per the Claude Design announcement. The announcement note: "Over the coming weeks, we'll make it easier to build integrations with Claude Design."
- Workaround: when you need Dashbook context inside a design session, generate the assets in Claude Code (using the plugin) and paste / drag them into Claude Design.
- When it ships: this page will be updated with the connector / skill registration recipe for Claude Design. Subscribe to the Dashbook changelog to know when.
One plugin install, four artefacts.
- Skill —
dashbook-design-system. Auto-activates on Dash.fi keywords (Dash.fi, dashbook, jade brand, dash card, agent names, partner co-branding, launch email). Routes the agent to the right tool namespace (product vs marketing). Includes the cross-namespace rule and the wordmark-is-single-source invariant. - MCP server — registered at
https://brand.dash.fi/mcp. 22 tools acrossproduct_*(components, foundations, tokens, port-to, page-templates, logo proxy),marketing_*(voice, logos, palette, partner kits, disclosures, card art), and shared (version, changelog). - Boundary signals — every
product_*tool description ends with a paragraph naming what the namespace does NOT contain ("brand wordmarks, partner logos, legal disclosures…"), pointing agents at the marketing namespace. Mirrored onmarketing_*. Teaches the boundary at tool-discovery time even when the skill prose isn't loaded. - Slash commands (Claude Code only):
/dashbook-component <slug>— fetches anatomy for one component./dashbook-port <slug> <stack>— generates a stack-specific port (react / react-native / html-css / vue)./dashbook-voice— brand voice + tone rules for copywriting.
No client needed — works from any machine with curl.
# Sanity-check the live endpoint from any machine:
curl -sS -X POST https://brand.dash.fi/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{
"protocolVersion":"2024-11-05",
"capabilities":{},
"clientInfo":{"name":"curl","version":"0"}}}'
# Expect: data: {"result":{...,"serverInfo":{"name":"dashbook"...}}}When MCP isn't the right tool — agents without MCP, crawlers, archives, SEO, server-side render pipelines — Dashbook exposes every asset over plain HTTP. All GET, no auth, 24-hour cache, CORS-enabled. Designed for any client.
- Logo SVG —
GET https://brand.dash.fi/api/logo/<variant>/<preset>?format=svg&size=400. Variants:wordmark,app. Presets:jade,ink,white-on-ink, others. Also acceptsformat=png&scale=1-4. - Card art SVG (MDES slots) —
GET https://brand.dash.fi/api/card/<variant>/<slot>. Slots:background,app-icon,cobrand-logo,issuer-logo,preview. Also?format=png. - Component catalogue JSON —
GET https://brand.dash.fi/api/components.json. - Component anatomy JSON —
GET https://brand.dash.fi/api/components/<slug>.json(e.g.button,input,dialog). Same structured data theproduct_get_componentMCP tool returns. - Foundation JSON —
GET https://brand.dash.fi/api/foundations/{color,typography,spacing}.json. - Marketing pattern catalogue + recipe JSON —
GET https://brand.dash.fi/api/marketing/patterns.jsonfor the catalogue,/api/marketing/patterns/<slug>.jsonfor one pattern's full recipe (e.g.hero,stat-trio). Same data themarketing_list_patterns/marketing_get_patternMCP tools return. - Marketing foundation JSON —
GET https://brand.dash.fi/api/marketing/foundations.json+/api/marketing/foundations/{tokens,typography,layout,section,motion}.json.
# Logo SVG (variants: wordmark, app · presets: jade, ink, white-on-ink, …):
curl -sS 'https://brand.dash.fi/api/logo/wordmark/jade?format=svg&size=400'
curl -sS 'https://brand.dash.fi/api/logo/wordmark/jade?format=png&scale=2'
# Card art SVG (MDES slots: background, app-icon, cobrand-logo, issuer-logo, preview):
curl -sS 'https://brand.dash.fi/api/card/jade/background'
curl -sS 'https://brand.dash.fi/api/card/jade/preview?format=png'
# Component catalogue + per-component anatomy JSON:
curl -sS 'https://brand.dash.fi/api/components.json'
curl -sS 'https://brand.dash.fi/api/components/button.json'
# Foundation JSON (color, typography, spacing):
curl -sS 'https://brand.dash.fi/api/foundations/color.json'The server speaks Streamable HTTP, so anything MCP-aware can point at the remote URL.
- Cursor / Zed / Windsurf / others — each has its own MCP config file. URL is
the same:
https://brand.dash.fi/mcp. - Stdio (via npm) —
npx -y @dashfi/mcp-server. Proxies to the same remote endpoint. Useful for environments that don't support remote MCP URLs. - API / Anthropic Console — workspace MCP settings on
console.anthropic.com. Same URL. Note this is the API admin, separate from claude.ai's org admin.
Plugin source lives in this repo so the bundled skill and the live docs stay in sync. PRs welcome.
- Marketplace manifest —
.claude-plugin/marketplace.json - Plugin manifest —
claude-plugin/.claude-plugin/plugin.json - Skill —
claude-plugin/skills/dashbook-design-system/SKILL.md - Slash commands —
claude-plugin/commands/ - MCP server —
src/lib/mcp/+ endpoint atsrc/routes/mcp/+server.ts