Skip to content
Back to skills

Lob

ASecurity

Print and mail physical letters and postcards through Lob, verify US addresses, and cancel pieces before production. Trigger phrases: lob, send postcard, send letter, direct mail, print and mail.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
testinggobashapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 25, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill lob --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lob?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lob
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-lob/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-lob)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "lob"
description: "Print and mail physical letters and postcards through Lob, verify US addresses, and cancel pieces before production. Trigger phrases: lob, send postcard, send letter, direct mail, print and mail."
metadata: { "includeInPrompt": true }
tagline: "Send physical mail through Lob's Print and Mail API: verify US addresses; create postcards and letters that get printed and mailed; list what was sent; cancel a piece while it is still before production. Reach for this when the user wants a real letter or postcard in the mail rather than an email."
catalog_auth: "API key via the secure credential flow"
catalog_hosts: ["api.lob.com"]
---

# Lob

## Purpose
Send physical mail through Lob's Print and Mail API: verify US addresses; create postcards and letters that get printed and mailed; list what was sent; cancel a piece while it is still before production. Reach for this when the user wants a real letter or postcard in the mail rather than an email.

## Tooling
All commands go through `bin/lob.py`:

```bash
bin/lob.py auth                                   # verify the API key
bin/lob.py verify-address --file address.json     # verify/correct a US address (no mail sent)
bin/lob.py send-postcard --file postcard.json \
    --confirm "mail postcard to Jane Doe at 123 Main St"   # send a postcard (test key: simulated)
bin/lob.py send-letter --file letter.json \
    --confirm "mail letter to Jane Doe at 123 Main St"     # send a letter (test key: simulated)
bin/lob.py send-postcard --file postcard.json --live \
    --confirm "mail postcard to Jane Doe at 123 Main St"   # production key path: --live AND --confirm
bin/lob.py postcards                               # list postcards
bin/lob.py get-letter --id ltr_abc123             # retrieve a letter
bin/lob.py cancel-postcard --id psc_abc123        # cancel before production (no effect after)
bin/lob.py cancel-letter --id ltr_abc123          # cancel before production (no effect after)
```

`postcard.json` / `letter.json` hold the Lob create payloads (`to`, `from`, `front`/`back` HTML or template, `size`). Address verification never sends anything.

## Auth
- Provider id: `lob` (credential is collected as `custom.lob`)
- Collection: API key via the secure credential flow (`credentials.request_api_access`); issued in the Lob dashboard
- Auth scheme: HTTP Basic with the API key as the username and a blank password; placement is resolved by the helper from the credential config
- Allowed hosts: `api.lob.com`
- Status check: `bin/lob.py auth`
- Key types: keys beginning `test_` simulate the full lifecycle free (nothing printed, nothing charged). Keys beginning `live_` print and mail for real.

## Operating Rules
1. **Test keys are the default path.** With a `test_` key the full lifecycle is simulated free. Never send real mail on a test run.
2. **Live sends are a HIGH actuation:** `POST /postcards` and `POST /letters` with a live key print a physical piece, hand it to the postal stream, and charge printing plus postage per piece. Once a piece enters production it cannot be recalled. The CLI enforces the gate: `--live` (your explicit acknowledgment that the stored key is live and real mail will go out) AND `--confirm` with the exact string the CLI echoes (recipient and address) are both required. The string must match exactly.
3. **Cancellation only works pre-production.** `DELETE /postcards/{id}` and `DELETE /letters/{id}` cancel a piece only while it is still in a cancellable state; after production starts they do nothing and spent fees are not refunded.
4. Per-piece pricing: printing plus postage are charged per piece on live keys; current prices are published on lob.com. Always state the piece count and type when confirming a send.
5. Never exfiltrate the credential: the CLI only ever handles surrogates (see `bin/lob.py`). Do not print, log, or transmit the key value.

## Files
- SKILL.md
- bin/lob.py

## Maturity
Draft: written from Lob's public API docs; not yet live-tested end-to-end.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…