agent-transcript
Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.
Twilio SMS CLI: buy/list/keep numbers, send/check messages, credential routing.
$ npx -y skills add steipete/agent-scripts --skill twilio-sms --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/twilio-smsContext preview
The summary Claude sees to decide when to auto-load this skill.
Twilio SMS CLI: buy/list/keep numbers, send/check messages, credential routing.
name: twilio-sms description: "Twilio SMS CLI: buy/list/keep numbers, send/check messages, credential routing." metadata: short-description: Twilio SMS numbers and messages
Use for Twilio phone-number and SMS work: create/buy numbers, list owned numbers, keep/label numbers, send texts, and check inbound/outbound messages.
1. Check Twilio CLI/profile:
2. Check exact env presence only:
3. If only partial env exists, search 1Password metadata first. 4. Prefer an item with fields matching:
5. If `op` only sees a restricted vault, retry desktop-backed reads with `env -u OP_SERVICE_ACCOUNT_TOKEN`. 6. Verify auth before any purchase/send:
curl -sS -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN" \ "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID.json"
Twilio CLI profile creation requires account auth token, not just API key creds:
npx -y twilio-cli profiles:create "$TWILIO_ACCOUNT_SID" \ --auth-token "$TWILIO_AUTH_TOKEN" \ --profile default --force --silent npx -y twilio-cli profiles:use default
Use `npx -y twilio-cli` when `twilio` is not installed.
List owned:
npx -y twilio-cli api:core:incoming-phone-numbers:list \ --properties phoneNumber,friendlyName,capabilities
Search US local SMS-capable inventory:
npx -y twilio-cli api:core:available-phone-numbers:local:list \ --country-code US --sms-enabled --voice-enabled --limit 5
If the CLI shape is awkward or missing flags, use REST:
curl -sS -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN" \ "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/AvailablePhoneNumbers/US/Local.json?SmsEnabled=true&VoiceEnabled=true&PageSize=5"
Buy one candidate:
curl -sS -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN" \ -X POST "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/IncomingPhoneNumbers.json" \ --data-urlencode "PhoneNumber=$PHONE_NUMBER"
Verify ownership/capabilities after purchase. Twilio JSON uses lowercase keys:
capabilities.sms capabilities.mms capabilities.voice
Mark numbers the user wants to keep:
npx -y twilio-cli api:core:incoming-phone-numbers:update \ --sid "$PHONE_NUMBER_SID" \ --friendly-name "KEEP - <purpose>"
Retention rule: a number is kept while it remains in the Twilio account and billing is healthy. Do not release/delete unless explicitly asked.
Send:
npx -y twilio-cli api:core:messages:create \ --from "$FROM_NUMBER" \ --to "$TO_NUMBER" \ --body "$BODY" \ -o json
Fetch status:
npx -y twilio-cli api:core:messages:fetch --sid "$MESSAGE_SID" -o json
Check inbound to a number:
npx -y twilio-cli api:core:messages:list \ --to "$NUMBER" --limit 20 -o json
Check outbound from a number:
npx -y twilio-cli api:core:messages:list \ --from "$NUMBER" --limit 20 -o json
Twilio CLI JSON can return an array for single-resource commands. Parse defensively:
jq 'if type=="array" then .[0] else . end'
Shared agent instructions, skills, and small portable helpers for Peter's local workspaces.
Repo: steipete/agent-scripts
Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.
Control the user's existing signed-in Chrome: callable Codex Chrome plugin first, then…
ClawSweeper status: URLs, workflow health, active workers, ops snapshot.
ClickClack ops: chat app, Cloudflare Workers deploy, DNS/docs/app, container rollout.
Cloudflare Registrar: domain availability, prices, registration via mcporter.