MDK Logo

Agent skills

[⏱️ ~4 min] Install the MDK Developer Skill suite so your coding agent knows MDK conventions, component props, and the page recipe

The MDK Developer Skill suite (@tetherto/mdk-skill) is how an AI coding agent learns to build with MDK. It ships procedural context in the universal Agent Skills format (SKILL.md), so any skills-aware agent (Cursor, Claude Code, and others) becomes fluent in MDK conventions as soon as the suite is installed.

Nothing here calls a network or a model. Each skill is a file the agent reads, bundled with the component registry MDK builds from its own source. Install once; the agent does the rest.

Install

From your project root:

mdk skill add                      # both Cursor and Claude Code
mdk skill add --client cursor      # .cursor/skills/
mdk skill add --client claude      # .claude/skills/
mdk skill add --dir path/to/app    # target another directory

mdk is the MDK CLI (@tetherto/mdk-cli). mdk onboard also offers the install as one of its steps.

Skills land flat: one directory per skill, each with its own SKILL.md. Agents discover them automatically; there is no rule file to wire by hand.

The five skills

SkillCovers
mdkRouter: what MDK is, how the pieces fit, which skill a prompt belongs to
mdk-worker-pluginDevice workers: contract authoring, telemetry, commands
mdk-gateway-pluginGateway plugins: cross-worker endpoints and rollups
mdk-ui-componentUI pages and panels built on the React Devkit
mdk-deploymentmdk.yaml, mdk run, stack deployment

Each skill's description frontmatter is its routing trigger, so you state an intent in plain language and the right skill activates. Composite prompts are routed as an ordered chain by the mdk router.

Example promptSkill(s) it invokes
"Add a new power meter worker for our site"mdk-worker-plugin
"Build a plugin that aggregates hashrate across all miners"mdk-gateway-plugin
"Create a dashboard widget that shows live telemetry from a worker"mdk-ui-component
"Create a UI to show <metric> for <device family>"discover → mdk-gateway-pluginmdk-deploymentmdk-ui-component
"How do I deploy the MDK stack?"mdk-deployment
"What is MDK and how is it structured?"mdk

What the UI skill knows

mdk-ui-component is the one that matters for dashboards. It carries two references alongside its workflow:

  • references/ui-registry.json: a verbatim copy of the React Devkit's generated registry, listing every agent-ready component, its exact prop names and types, its category, and its usage doc. This is what stops an agent inventing props that do not exist.
  • references/page-recipe.md: the composition rules a page must follow.

The registry is generated from the devkit's source on every release, never hand-written, so it cannot drift from the components you actually have.

The layer model it enforces

A page is composition only. Data comes from a Gateway route; shaping lives in a hook; visuals come from @tetherto/mdk-react-devkit.

LayerOwns
Foundation query@tetherto/mdk-ui-foundation: endpoint and fetch
Hook@tetherto/mdk-react-adapter, or an app-local use-<thing>.ts: binds the query, shapes the payload
Pagesrc/pages/<Name>.tsx: thin glue, no fetch or shaping
Panelsrc/components/<Name>Panel.tsx: props in, markup out
Routesrc/routes.ts: one line

The workflow it follows

The agent picks visuals from indexes.componentsByName and indexes.componentsByCategory in the registry, copies prop names verbatim from the entry, and reads the worker's mdk-contract.json so units and labels line up (powerW, and so on).

Verify the install

Open the project in a skills-aware agent and give it one of the routing prompts above. The agent should name the skill it activated. If nothing activates, confirm the files landed:

ls .cursor/skills/    # or .claude/skills/

Both directories are gitignored by default: the suite is installed per developer, not committed.

Next steps

On this page