bundled-skills/sendblue/sendblue-cli/SKILL.md
Send iMessage and SMS from the shell via the @sendblue/cli npm package — outbound sends, contact management, and account setup with no API client or webhook server required.
npx skillsauth add FrancoStino/opencode-skills-antigravity sendblue-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
@sendblue/cli is a Node CLI that creates a Sendblue account, provisions an iMessage-enabled number, and sends messages. It is the fastest way to text from a shell, script, or Claude Code hook — no API client, no webhook server, no credentials in env vars. Credentials live at ~/.sendblue/credentials.json (mode 600) and Node.js 18+ is required.
sendblue as a CLI/binary or asks to set up the @sendblue/cli package.npm install -g @sendblue/cli # global, exposes `sendblue`
# or one-shot:
npx @sendblue/cli <command>
sendblue setup runs interactively by default. For CI/scripts, run it in two phases — the first call sends an 8-digit verification code by email, the second consumes it.
sendblue setup --email [email protected] # sends code
sendblue setup --email [email protected] --code 12345678 \
--company my-co --contact +15551234567 # completes setup
| Flag | Notes |
|---|---|
| --email | Email address |
| --code | 8-digit verification code (from the email) |
| --company | Lowercase, hyphens/underscores, 3–64 chars |
| --contact | First contact, E.164 |
sendblue send +15551234567 'Hello from Sendblue!'
sendblue messages --inbound --limit 20
Phone numbers must be E.164 (+ + country code + digits, no spaces or dashes).
On the free plan, a contact must text your Sendblue number once before outbound sends to that contact will work. After sendblue setup ... --contact +15551234567, have that contact send any text to the printed Sendblue number, then run sendblue contacts to confirm verification.
| Command | Purpose |
|---|---|
| sendblue setup | Create account, verify email, set company name, add first contact |
| sendblue login | Log in to an existing account |
| sendblue send <number> <message> | Send an iMessage |
| sendblue messages [--inbound\|--outbound] [-n <number>] [-l <count>] | List recent messages |
| sendblue add-contact <number> | Register a contact |
| sendblue contacts | List contacts and their verification status |
| sendblue status | Account/plan info |
| sendblue whoami | Show current credentials and verify validity |
long_running_thing && sendblue send +15551234567 "✅ done: $(date)"
sendblue messages -n +15551234567 --inbound --limit 50
sendblue whoami || sendblue login
Stop hookTo text yourself at the end of every agent turn, register a Stop hook in settings.json that shells out to sendblue send. Defer the actual hook wiring to [[update-config]] and the trigger logic to [[sendblue-notify]] — this skill only owns the CLI invocation.
+15551234567, never 5551234567 or (555) 123-4567.sendblue whoami before unattended batches to fail fast on stale or missing creds.setup as the same OS user that owns ~/.sendblue/credentials.json.sudo — it writes creds to root's home and the next non-sudo run won't see them.~/.sendblue/credentials.json with mode 600. Treat that file like an API key — do not commit it, do not copy it across machines without the same posture.sudo writes a separate copy under root's home and silently desyncs.sendblue send into hooks or loops only after gating on duration or success conditions to avoid spamming the recipient.5551234567 or (555) 123-4567 will fail — always +15551234567.sendblue contacts.--email alone only sends the code; you must run a second invocation with --code and the rest of the flags to finish.~/.sendblue/credentials.json is owner-only (600). Don't sudo and pollute root's home — re-running as the same user that ran setup is what works.@sendblue-api — HTTP/JSON alternative for application code, webhooks, and features the CLI does not expose.@sendblue-notify — Patterns and copy rules for "text me when X is done" workflows that sit on top of this CLI.@update-config — Wires sendblue send into Claude Code hooks (Stop, Notification) without owning the message logic.data-ai
Snapshot a site's SEO state and detect ranking, indexation, metadata, canonical, robots, schema, and on-page regressions over time.
development
Coordinate focused subagents on substantial work, keep their ownership non-overlapping, and integrate verified results. Use for large-scope Codex tasks; keep trivial work with the coordinator.
data-ai
Use when an owner asks to find a cofounder or project partner. Assess only that agent's own owner and rank only approved profiles other agents posted for their own owners.
devops
Install, configure, verify, repair, update, and uninstall Hyprland on Fedora Linux with GPU-aware detection (NVIDIA/AMD/Intel).