Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/messagebird/bird-ai/bird-clinpx skills add messagebird/bird-ai --skill bird-cligit clone --depth 1 https://github.com/messagebird/bird-aiWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00201 | $0.01661 |
| Opus 5 | $0.00101 | $0.00830 |
| Sonnet 5 | $0.00040 | $0.00332 |
| Haiku 4.5 | $0.00020 | $0.00166 |
Grade C, and why
bird-cli scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://cli.bird.com/install.sh | sh Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsSL https://cli.bird.com/install.sh | sh How it starts
The opening of the file, as written. The whole thing — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bird CLI
bird is a single binary that talks to the Bird API. Each top-level command is one operation; every operation talks to the live API, so all of them need credentials first.
If bird isn't installed (command -v bird finds nothing), install it first — a checksum-verified download to ~/.local/bin (or /usr/local/bin):
curl -fsSL https://cli.bird.com/install.sh | sh
The path
Step 0 — Authenticate (shared prerequisite). Every command below fails without a key, and the failure looks the same as a real error, so confirm credentials first: authenticate. It is a no-op when bird auth status already reports valid: true, so it is safe to run first every time. No account yet? Create one — account, organization, and workspace — from scratch: onboarding; it ends by storing the same credential a login would.
Step 1 — Run the operation the user asked for:
- Send or inspect email messages (
bird email, includingsend-batch) → email - Author reusable email templates, submit a draft, or roll one back (
bird email templates) → email-templates - Send or inspect SMS messages, or browse SMS templates (
bird sms) → sms - Draft the carrier verification a US toll-free number needs before it can send, read what the carrier asks for, or see why one was declined (
bird sms tfn verifications) → tfn-verifications - Claim an alphanumeric SMS sender, find out what a country requires of it, or register it for a country (
bird sms senders) → sms-senders - Send or inspect WhatsApp messages, follow a message's events, connect or manage the numbers and business accounts the workspace sends from, check whether WhatsApp will accept a number before buying it, or read WhatsApp traffic statistics (
bird whatsapp) → whatsapp - Browse WhatsApp templates, their versions, and each version's per-language content (
bird whatsapp templates) → whatsapp-templates - Inspect voice calls, find out why one was refused, configure a SIP trunk or an inbound number, enable or disable calling to a country, or place a test call (
bird voice) → voice - Provision Realtime apps and rotate the keys their clients connect with (
bird realtime) → realtime - Verify a recipient with a one-time passcode — send a code, then check what they submit (
bird verify verifications) → verify - Find out about a recipient before you use it — grade an email address, or identify a phone number and its network (
bird lookup) → lookup - Manage contacts, audiences, and contact properties (
bird contacts,bird audiences,bird contact-properties) → contacts - Record and look up messaging consent grants and opt-outs (
bird preferences) → preferences - Manage sending domains (
bird email domains), or find a verifiedfromto send from → domains - Count how much mail the workspace received, by period, day or hour (
bird email stats inbound) → received-mail-stats - Style the hosted page a marketing recipient lands on when they unsubscribe (
bird email unsubscribe-page) → unsubscribe-page - Manage dedicated IPs (
bird email dedicated-ips) and IP pools (bird email ip-pools) (sending reputation) → ip-pools - Receive email at inbound forward addresses (
bird email inbound-addresses), or read the mail received there (bird email inbound-messages) → inbound - Manage outbound webhook endpoints → webhooks
- Issue a workspace API key (
bird api-keys create) → api-keys (needs a login carryingapi_keys:write; an API key cannot run it) - Find out why acquiring a number or registering a sender was refused for a reason about the organization rather than the country, and settle the requirement behind it (
bird trust) → trust - Find the business a 10DLC brand is registered for, so
brands createcan name it (bird compliance identities list) → compliance-identities - Register a 10DLC brand for US A2P traffic, or file a submission against one (
bird sms 10dlc brands create,bird sms 10dlc brands submissions create) → sibling operations; node not yet authored,--helpon each carries the field list - Open a support ticket, reply to it, or wait for a support agent reply → support
- Answer a how-to or reference question about Bird from the documentation → docs (public — skips Step 0)
- Inspect resolved CLI configuration →
bird config show(sibling operation; node not yet authored)
What ships with it
26 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/api-keys.md 4.7 KB
- references/authenticate.md 2.1 KB
- references/compliance-identities.md 2.9 KB
- references/contacts.md 2.9 KB
- references/docs.md 2.4 KB
- references/domains.md 5.0 KB
- references/email-templates.md 7.2 KB
- references/email.md 6.8 KB
- references/inbound.md 4.3 KB
- references/ip-pools.md 4.4 KB
- references/lookup.md 6.7 KB
- references/onboarding.md 1.7 KB
- references/preferences.md 2.6 KB
- references/realtime.md 4.8 KB
- references/received-mail-stats.md 2.2 KB
- references/sms-senders.md 4.7 KB
- references/sms.md 3.0 KB
- references/support.md 3.6 KB
- references/tfn-verifications.md 5.0 KB
- references/trust.md 5.5 KB
- references/unsubscribe-page.md 2.0 KB
- references/verify.md 5.6 KB
- references/voice.md 13 KB
- references/webhooks.md 6.0 KB
- references/whatsapp-templates.md 4.8 KB
- references/whatsapp.md 13 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 59 lines · 201 tokens per session scan C a105cabfed85
bird-cli is a skill published in the GitHub repository messagebird/bird-ai (1 stars, last pushed yesterday), licensed MIT. It adds 201 tokens to every session and 1,661 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…