Surface matrix

Four Anthropic surfaces consume the Dashbook brand system in different ways. Use this matrix to find your recipe.

SurfaceMCP toolsSkill proseSlash commandsOrg-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 Coworkpartial
(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.

Claude Code (CLI) · per-user install

Adds the marketplace, installs the plugin, registers the MCP server, loads the skill, and wires three slash commands. Three commands total.

bash
# Two commands in Claude Code:
/plugin marketplace add FunnelDash/core --sparse .claude-plugin packages/brand-book/claude-plugin
/plugin install dashbook@dashfi
After install
bash
# 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."
Claude Code (CLI) · org-wide push (Cowork)

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.

bash
# 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.

claude.ai (web) · org Connector

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.

bash
# 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.
Verify
bash
# 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 (web) · skill prose

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.md into 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.
Claude Desktop · manual MCP config

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
json
// macOS — ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "dashbook": {
      "url": "https://brand.dash.fi/mcp"
    }
  }
}
Windows
json
// 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 (Anthropic Labs) · coming soon

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.
What the plugin bundle includes

One plugin install, four artefacts.

  • Skilldashbook-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 across product_* (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 on marketing_*. 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.
Verify the server is alive

No client needed — works from any machine with curl.

bash
# 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"...}}}
Assets you can fetch directly

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 SVGGET https://brand.dash.fi/api/logo/<variant>/<preset>?format=svg&size=400. Variants: wordmark, app. Presets: jade, ink, white-on-ink, others. Also accepts format=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 JSONGET https://brand.dash.fi/api/components.json.
  • Component anatomy JSONGET https://brand.dash.fi/api/components/<slug>.json (e.g. button, input, dialog). Same structured data the product_get_component MCP tool returns.
  • Foundation JSONGET https://brand.dash.fi/api/foundations/{color,typography,spacing}.json.
  • Marketing pattern catalogue + recipe JSONGET https://brand.dash.fi/api/marketing/patterns.json for the catalogue, /api/marketing/patterns/<slug>.json for one pattern's full recipe (e.g. hero, stat-trio). Same data the marketing_list_patterns / marketing_get_pattern MCP tools return.
  • Marketing foundation JSONGET https://brand.dash.fi/api/marketing/foundations.json + /api/marketing/foundations/{tokens,typography,layout,section,motion}.json.
Try it
bash
# 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'
Other MCP-aware clients

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.
Source

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 at src/routes/mcp/+server.ts