add-transactional-emaillisted
Install: claude install-skill TrustyCap-Technologies/trustycap-skills
Sending is the easy half. Arriving depends on things that have nothing to do with the application.
## Diagnose
Start with evidence from the code itself. In the repository:
```bash
npx @trustycap/cli productionize --json
```
The scanner reads the route handlers with the TypeScript compiler API and classifies each against the published production standard (`GET https://api.trustycap.com/v1/production/requirements`): file and line, AST evidence, a classification (`CONFIRMED_FAIL`, `PROBABLE_GAP`, `UNKNOWN`, `PASS`), the provider-neutral requirement, the implementations that satisfy it, and the exact commands. `UNKNOWN` is not a failure; read the code it points at rather than installing over it. A requirement the project already satisfies another way is declared in `trustycap.production.json`.
- Is there a sending domain authenticated with SPF, DKIM and DMARC, and a return path that accepts bounces?
- What happens when a handler retries? Does the customer get two receipts?
- Is there a suppression list? Mailing an address that already bounced or complained damages the reputation every future message depends on.
Get any of these wrong and there is no error to catch: the call succeeds, the message is accepted, and the customer never sees it.
## Fit, and not for
**Not for** marketing campaigns, list management or newsletters, and not for inbound mail processing. This is the mail an application owes a person because of something they just did.
## Read the decision surface.