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.tools
Authorized security assessment of LLM applications and AI agents: prompt injection, tool abuse, RAG exposure, memory poisoning, system-prompt extraction, and agent-compliance engineering per OWASP LLM/ASI Top 10.
development
Builds two parameterized UI modes—流光溢彩白 (iridescent white) and 五彩斑斓黑 (colorful black)—with OKLCH, WebGL/CSS fallback, vision gating, screenshot QA, and total/per-color intensity reports. Use when a UI request names either mode or needs measured color parameters.
tools
Delegate coding tasks to the Kimi Code CLI (`kimi`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
Front-end JavaScript reverse engineering: locate signature chains, analyze encrypted request parameters, sample runtime behavior, and reproduce logic locally in Node for evidence-based output.