Sign inGet started

Agent skills

Bird publishes agent skills: packaged procedure files that teach a coding agent the bird CLI workflows. A skill provides the operation's happy path, the state checks to run first, and the traps that waste loop iterations. This guidance helps the agent reach a correct command without rediscovering flags and failure modes from --help output.
They ship as the bird-ai marketplace plugin, one source that Claude Code, Cursor, Codex, and GitHub Copilot each read as a plugin. Factory Droid instead copies the skill files in by hand (see Install the plugin). On Claude Code, installing the plugin also registers the hosted MCP server, which you then sign in to once with /mcp (see Skills, the plugin, and MCP).
Each reference encodes one operation per task. The agent picks the one that matches the request. Apart from the shared authentication prerequisite, they have no ordering.

Install the plugin

The marketplace lives at messagebird/bird-ai. The plugin follows Agent Plugins, so a client that implements the specification installs it from that repository as it is, skills and MCP server together.
The per-client steps below cover the rest. On Claude Code, run:
कोड उदाहरण
claude plugin marketplace add messagebird/bird-ai
claude plugin install bird@bird-ai
On Cursor, add the marketplace and install the bird plugin from Settings > Plugins. On Codex, run codex plugin marketplace add messagebird/bird-ai, then codex plugin add bird@bird-ai. On GitHub Copilot, run copilot plugin marketplace add messagebird/bird-ai, then copilot plugin install bird@bird-ai. Factory Droid has no plugin format to read: clone messagebird/bird-ai and copy both skill directories out of plugins/bird/skills/ into .factory/skills/ by hand.

The skills

Two skills ship in the plugin.
bird-cli is the general one. It routes a request to one reference per CLI command group, so the agent loads the page for the operation in front of it and nothing else. Its routing table spans sending and inspecting messages on every channel Bird runs, the setup each channel needs before it can send, one-time-passcode verification, recipient lookup, contacts and audiences, messaging preferences, Realtime provisioning, webhooks, API keys, support tickets, and documentation search. The skill's own SKILL.md carries that table, and it is the authoritative list: this page deliberately does not copy it, because a second copy is a copy that goes stale.
Every entry shares one habit worth naming here, because it is the one agents get wrong: a send returns 202 with status: accepted, which means Bird took the message and delivery is still pending. The skills teach the agent to read the message back for the final outcome instead of declaring success at accepted.
email-audit is a specialist. It runs bird email tools audit <domain> to resolve and grade a domain's live DMARC, SPF, DKIM, BIMI, and MX records, then reads the severity-tagged findings back as a prioritized fix list. It is DNS-only, so it needs no authentication and sends no mail.

The shared prerequisite: authenticate first

Almost every operation hits the live Bird API, so bird-cli starts each one by confirming credentials with bird auth status. The check is idempotent and does nothing when the CLI already reports valid: true, so it is safe to run first every time. Without it, a missing login fails identically to a real API error and can send the agent down the wrong debugging path.
The exceptions are the operations that read something public rather than your workspace: email-audit resolves DNS, and documentation search reads the published docs. Neither needs a login, and neither is blocked by a missing one.
कोड उदाहरण
bird auth status --format json
# gate on "valid": true, then run the operation
If credentials are missing, the skill routes the agent through bird auth login and back to the task. Authentication uses a browser, with a device-code flow for headless hosts, so the workflow does not stall at an authentication prompt.

Failures surface the same way everywhere

Because every operation is a thin wrapper over the live API, failures come back through the CLI's uniform contract rather than per-skill error handling:
  • JSON by default: Successes print structured JSON to stdout and errors go to stderr, so the agent's loop can parse outcomes without scraping prose.
  • Semantic exit codes: one of six codes tells the agent the failure category before it reads a message. See the full table in CLI. The agent branches on the category without parsing the message: exit 4 means re-run the auth step, and exit 3 means the resource ID is wrong, so retrying does not help.
This is the same contract the CLI presents to humans and scripts. The skills add no layer; they teach the agent to use the existing contract. See CLI for agents for the full contract, including output formats and configuration.

Composing skills into an agent loop

Because each reference is one self-checking operation with a machine-readable outcome, they compose into a loop without glue code. For example, "send the launch email and confirm it delivered" decomposes as follows:
  1. Authenticate: Run bird auth status; log in only if needed.
  2. Find a sender: Use the domains reference to pick a from address on a verified domain. Exit 0 plus a verified domain in the JSON means this step is complete; otherwise, enter the create-and-verify loop.
  3. Send: Use the email reference to run bird email send …. A successful request returns 202, an em_… ID, and status: accepted.
  4. Confirm the outcome: Use the email reference again to run bird email get <em_…> until the counts show delivered. If they show bounced, report the failure.
Each step's "done when" condition is checkable from the previous step's JSON output, which is what makes the loop reliable: the agent never has to infer state from prose.

Skills, the plugin, and MCP

Skills are one of three ways to point an agent at Bird, and they layer rather than compete:
  • The bird CLI is the execution surface. Skills assume a shell-capable agent that can run it.
  • The MCP server is the alternative for agents that call tools instead of running commands; the operations are equivalent, the transport differs.
  • AI onboarding is the guided setup path that gets either one connected in minutes.
Whether the plugin install also configures the MCP server depends on the client. Claude Code lets a plugin declare a remote MCP server, so installing bird-ai there registers https://mcp.bird.com for you. Other clients support remote MCP, but their plugins cannot pre-declare a server. On Cursor, Codex, and Copilot, the plugin installs the skills; on Droid, you copy the skill files in by hand. Every client but Claude Code needs the server added manually, using the one-line configuration in the MCP server guide.
What no plugin can do is authenticate for you. The hosted server is OAuth-gated, so on every client, including Claude Code, you sign in once after the server is registered: in Claude Code that is /mcp, then select bird, then Authenticate. Until you do, the tools are listed and every call fails. The per-client authenticate steps cover the rest.
ClientSkills via pluginMCP server registeredSign-in
Claude CodeYesYes, declared by the pluginYou: /mcp > bird > Authenticate
CursorYesManual, add the remote server onceYou: Needs login in Tools & Integrations
CodexYesManual, add the remote server onceYou: codex mcp login bird
GitHub CopilotYesManual, add the remote server onceVS Code opens the browser on first start
Factory DroidManual, copy the skill files inManual, add the remote server onceYou: /mcp inside droid

Next steps

  • Set up your coding agent: the one-prompt setup that installs the plugin for you.
  • MCP server: the tool surface the plugin bundles, and how to add it manually.
  • CLI for agents: the command surface the skills teach, for shell-capable agents.
  • AI onboarding: the guided, end-to-end setup with the docs corpus wired in.