Surface Equivalency

Make a project expose the same functionality across CLI, MCP, and REST — one core, N projections, drift caught mechanically. Use this skill whenever a project needs agent access: "add an MCP server", "build a CLI for this", "expose this to agents", "should this be CLI or MCP?", or when surfaces already exist and misbehave: "keep CLI/MCP/REST in sync", "my MCP and CLI behave differently", "the API has features the CLI doesn't". Also use it for the operational half of shipping a CLI: distribution ("how do users install this?"), in-place upgrades ("self-update", "version check"), and auth for agent surfaces (OAuth for MCP, device-code login for CLI, API keys). Trigger even when the project has neither a CLI nor an MCP server yet — designing the first surface correctly is the cheapest moment to apply this skill.

pengelbrecht f135eb4 5 files · 36.2 KB Updated

File contents

pengelbrecht/skills/tree/main/skills/surface-equivalency commit f135eb41a8

Frequently asked questions

npx skillmds@latest add pengelbrecht/surface-equivalency