{
  "version": 1,
  "site": "https://gucli.com",
  "about": "Skills for AI coding CLIs (Claude Code, gu). No sign-in needed.",
  "for_agents": [
    "1. Pick the skill in `skills` that matches what the user wants.",
    "2. For each entry in its `params` that is not `secret`, ASK THE USER (use `ask`; show the default) and wait for the answer. Do not guess. A `secret` param is set by the user in their own terminal, never in chat or as a flag.",
    "3. Run the skill's `install` commands, adding `--set <name>=<answer>` for each answer that differs from the default. Use `--target claude` for Claude Code, `gu` for gu, `both` for both. Run `node install-skill.mjs --list` to see every skill and setting.",
    "4. Tell the user to start a new Claude Code session and type /mcp to check the server is connected."
  ],
  "installer": "https://gucli.com/skills/install-skill.mjs",
  "skills": [
    {
      "name": "email-server",
      "type": "mcp-skill",
      "description": "Send an email through the user's own mail server. Use when the user asks to send, write and send, mail or notify someone by email, for example \"send an email to anna@example.com about the meeting\" or \"email Bob that the build is done\".",
      "base": "https://gucli.com/skills/email-server/",
      "files": [
        "SKILL.md",
        "mailer-mcp.mjs"
      ],
      "targets": [
        "claude",
        "gu"
      ],
      "needs": "Node 18+.",
      "params": [
        {
          "name": "url",
          "env": "MAILER_URL",
          "type": "url",
          "required": true,
          "default": "https://l6514unzid.execute-api.ap-southeast-1.amazonaws.com/prod/mailer/command/send",
          "label": "Mail server send URL",
          "ask": "Which mail server should send the mail? The default is the shared test server (fixed From address). Keep it, or give the send URL of your own server (an https:// address that takes a POST with to, subject and html)."
        },
        {
          "name": "from",
          "env": "MAILER_FROM",
          "type": "email",
          "required": false,
          "default": "",
          "label": "Sender address (optional)",
          "ask": "Optional: the From address, if your mail server accepts a `from` field and may send as it. Leave empty to use whatever the server uses."
        },
        {
          "name": "apiKey",
          "env": "MAILER_API_KEY",
          "secret": true,
          "required": false,
          "label": "Mail server API key (optional)",
          "ask": "Only if your mail server needs a key: the USER sets it in their own terminal as MAILER_API_KEY before the install. Never ask for it in chat and never pass it as a flag."
        }
      ],
      "mcp": {
        "command": "node",
        "args": [
          "{dir}/mailer-mcp.mjs"
        ]
      },
      "install": [
        "curl -fsSL https://gucli.com/skills/install-skill.mjs -o /tmp/gu-install-skill.mjs",
        "node /tmp/gu-install-skill.mjs email-server --target claude"
      ]
    },
    {
      "name": "claude-session-memory-orchestration",
      "description": "Project memory shared by gu and Claude Code. Every step of a task (the request, the plan, commands and their results, edits) is saved automatically, so unfinished work can be picked up in either tool. Use when a \"Resume\" block or memory snapshot appears, when the user asks to continue or resume, when starting work with several steps, and before searching the repository for something memory may already know.",
      "base": "https://gucli.com/skills/claude-session-memory-orchestration/",
      "type": "package",
      "files": [
        "SKILL.md"
      ],
      "zip": "https://gucli.com/skills/claude-session-memory-orchestration.zip",
      "needs": "Node 18+ and Python 3 (the installer builds a venv).",
      "install": [
        "curl -fsSL https://gucli.com/skills/claude-session-memory-orchestration.zip -o /tmp/gu-memory.zip",
        "unzip -o /tmp/gu-memory.zip -d /tmp",
        "node /tmp/claude-session-memory-orchestration/install.mjs"
      ]
    }
  ]
}
