Cranes Help
Open Cranes

Help MCP

opencode, Antigravity, Pi, and other agents that read skills

Add Cranes to agents that read Agent Skills, keep your Cranes skills synced into them with the cranes command, and run guidance per prompt where the agent allows it.

Agents that read Agent Skills, folders with a SKILL.md in them, can use Cranes in three parts: the Cranes connection, the Cranes skill that tells the agent when to call Cranes and what to save, and the cranes command that copies your own Cranes skills into the agent.

For Claude Code, Cursor, and Codex, use their own pages instead: Claude Code, Cursor, Codex.

What’s automatic, and what depends on the agent

  • Your thinking on each prompt: the agent decides, guided by the Cranes skill. None of these agents offers a way to add Cranes’s guidance to every prompt on its own.
  • Your skills: synced when the agent starts a session in opencode; elsewhere, run the sync yourself when your skills change.
  • Saving: the agent offers, and keeps nothing without your yes.

Set up the cranes command

The command, the skill, and the steps below come from a copy of Cranes’s code for now; they aren’t published as a package yet. From a checkout of the repository, in a terminal:

mkdir -p ~/.cranes && cp pikespeak/plugins/core/cranes.py ~/.cranes/cranes.py
python3 ~/.cranes/cranes.py login

Your browser opens Cranes; choose what it may use and choose Allow. This sign-in is shared with the Cranes plugins for Claude Code, Cursor, and Codex on your computer.

To copy your Cranes skills into an agent:

python3 ~/.cranes/cranes.py skills sync --dir <the agent's skills folder>

Without --dir, they go to ~/.agents/skills. Each skill becomes a folder named cranes- and the skill’s name. A copy you edit is never overwritten; the command says so, and the agent can offer to save your edit back to Cranes. Copies of skills you removed from Cranes are removed unless you edited them, and folders Cranes didn’t write are never touched.

opencode

  1. Add the Cranes skill: mkdir -p ~/.agents/skills && cp -R pikespeak/plugins/skills/cranes ~/.agents/skills/cranes.

  2. Add Cranes to opencode.json, then run opencode mcp auth cranes to sign in:

    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "cranes": { "type": "remote", "url": "https://usecranes.com/connect/mcp", "enabled": true, "oauth": {} }
      }
    }
    
  3. Sync your skills: opencode reads ~/.agents/skills, so python3 ~/.cranes/cranes.py skills sync is enough. To sync whenever a session starts, save this as ~/.config/opencode/plugins/cranes.js:

    export const Cranes = async ({ $ }) => ({
      event: async ({ event }) => {
        if (event.type === "session.created") {
          await $`python3 ${process.env.HOME}/.cranes/cranes.py skills sync`.quiet().nothrow()
        }
      },
    })
    

Google Antigravity

  1. Add the Cranes skill and your skills to Antigravity’s skills folder, ~/.gemini/config/skills for Antigravity 2.0 and the IDE (for the CLI, use ~/.gemini/antigravity-cli/skills):

    cp -R pikespeak/plugins/skills/cranes ~/.gemini/config/skills/cranes
    python3 ~/.cranes/cranes.py skills sync --dir ~/.gemini/config/skills
    
  2. Add Cranes to ~/.gemini/config/mcp_config.json. Antigravity needs the serverUrl field, and signs you in on its own:

    { "mcpServers": { "cranes": { "serverUrl": "https://usecranes.com/connect/mcp" } } }
    

Antigravity has no hook that runs when a session starts, so run the sync again when your skills change.

Pi

  1. Add the Cranes skill: mkdir -p ~/.agents/skills && cp -R pikespeak/plugins/skills/cranes ~/.agents/skills/cranes.

  2. Add Cranes and sign in:

    pi mcp add cranes --url https://usecranes.com/connect/mcp
    pi mcp login cranes
    

    Or add it to ~/.pi/agent/mcp.json as { "mcpServers": { "cranes": { "url": "https://usecranes.com/connect/mcp" } } }, and sign in from /mcp in a session.

  3. Sync your skills: Pi reads ~/.agents/skills, so python3 ~/.cranes/cranes.py skills sync is enough. Run it again when your skills change.

Any other agent

  1. Copy pikespeak/plugins/skills/cranes into the agent’s skills folder.
  2. Add https://usecranes.com/connect/mcp as a remote MCP server with OAuth. See Any other AI that supports MCP.
  3. Run python3 ~/.cranes/cranes.py skills sync --dir <its skills folder>.

If your agent has a hook that runs on each prompt and passes a command’s output to the model, run python3 ~/.cranes/cranes.py guidance there with the prompt as input. It prints the part of your thinking that bears on the prompt, or nothing, and never makes the hook fail. Then Cranes comes in on every prompt, as it does with the Claude Code and Codex plugins.

opencode, Antigravity, Pi, and other agents that read skills Ask us