The MCP lets Claude operate a workspace. This is the other half — what a function may reach, what the manifest accepts, and the handful of things that are easy to get wrong.
It is a Claude Skill: markdown with a name and a description at the top. Save it as SKILL.md in a skill folder, drop it in a CLAUDE.md, or paste it into a chat.
The whole Skill. Click in the box, select all, copy.
Three of these are mistakes we watched get made, and none of them is guessable from the outside.
| The trap | What the Skill says |
|---|---|
| Ticking a capability and not requiring it | :needs decides what a function may require. The code still has to require it |
| Wrapping database calls in try/catch | They return values. A failure is a map with :error/kind |
Reaching for :allow :signed-in | It refuses every call. End-user auth is not built, and the console does not offer it |
Assuming clojure.core is current | It predates 1.11. parse-long and friends are provided explicitly |
With the Skill for writing and the MCP for shipping, Claude can take a function from an idea to a live URL without you opening a browser.