Plugin manifest
.claude-plugin/plugin.json is what Claude Code reads when you run claude plugins add d2c-ai/d2c. It names the plugin and describes what it does; the skills themselves live under skills/ and are discovered by convention.
Fields
Two fields today — both required.
| Field | Type | Meaning |
|---|---|---|
name | string | Plugin identifier shown in the marketplace list. Must match the repo name / install target; today d2c. |
description | string | Long-form summary. This is the text Claude Code shows on the plugin detail screen, and it’s what ChatGPT-like semantic search indexes against, so the wording matters for discoverability. |
If upstream ever adds fields (version pinning, dependency declarations, permission scopes), this page will need a prose update — the raw block below stays authoritative either way.
Raw manifest
The file exactly as served from upstream, pretty-printed:
{
"name": "d2c",
"description": "Design-aware iterative code generation from Figma to production-ready frontend code. Supports React/Next.js, Vue/Nuxt, Svelte/SvelteKit, Angular, Solid.js/SolidStart, and Astro. Generates design tokens from your codebase, pulls Figma designs via MCP, generates code matching your project conventions, and visually verifies output via Playwright screenshot comparison — iterating until the result matches the design."
}Install paths
The manifest is consumed by all three install paths documented on Install:
- Plugin —
claude plugins addreads this file to register the plugin, then pullsskills/alongside. - npm skills — the
skillsCLI reads this file for discovery but installs the individual skill definitions directly. - Manual— the install script copies the entire repo; the manifest comes along for free but isn’t actively used by Claude Code in this mode.