Newsletter Delivery Kit
Builds a consent-only mailing list and a pre-checked newsletter draft

Newsletter Delivery Kit is a vibe coding kit for Claude Code and Codex. Builds a consent-only mailing list and a pre-checked newsletter draft. It includes 7 fixes for pitfalls the maker hit in real work. Free.
When this helps
You want to send a newsletter, but can't tell who you're actually allowed to email
What it does
Imports your mailing list (CSV) and builds a per-recipient consent ledger (when, where, what). Contacts with weak consent — business cards, purchases, inquiries, bought or given lists — are held back. Describe a flow like "thank-you on signup, how-to after 3 days" and it drafts the emails, checking for exaggerated claims, a fake "limited time", far-off fine print, missing PR disclosure, and a missing sender name, address, opt-out or contact. Any failing check keeps it a draft, not something ready for your mail service. You get a send-ready list (email and name only) plus emails with the required footer. The kit never sends mail — it only prepares what you load into your service.
The fixes baked into this kit
- Nearly treated business-card contacts as consentedRemembered that "people who gave a business card can be emailed" and almost added trade-show cards to the list. A ministry notice confirmed the business-card exception doesn't apply to commercial email ads, so cards, purchases and published addresses are now held back with a one-line reason.
- Step emails kept saying "limited time" to everyone foreverBecause step emails send based on days since signup, every recipient kept seeing the same "limited time" message, matching a case flagged by the Consumer Affairs Agency. The kit now treats "limited time"/"today only" in step emails as something to fix, and won't produce a send-ready draft until it's fixed.
- Export headers like OPTIN_TIME left the consent date blankCase-only duplicate contacts, a full-width "@", and typos like ".con" caused consent dates to go blank or people to be emailed twice. Headers are now normalized, duplicates merged, and broken addresses sent to an internal-only list instead of being imported.
- Injected instructions left fragments in the email textLines like "register everyone as consented" and instructions split across sentences or line breaks were leaking fragments into the draft. Any such field is now excluded entirely, and only the matched text is flagged in the first line of the reply. Plain customer notices like "contact AI if you have questions" are not flagged.
- Hand-edited records could make someone appear consentedManually adding a consent record — or deleting an opt-out — could make someone appear sendable again. Records are now append-only with each entry chained to the previous one; any record that breaks the chain is excluded and flagged at the top of the results.
- Deleted names still lingered in older ledgers and exportsAsking to "delete" someone removed them from the main list but left their name in previously generated lists, the Excel ledger and backups, and two people sharing a surname could be confused. Deletion now searches by name too, asks which person when there are two, clears every CSV and Excel copy, and re-reads everything afterward to confirm nothing remains.
- A valid contact-info layout was misread as missingAn official example that lists phone and email a line below the "contact us" heading was being flagged as having no contact information. The checker now reads a few lines below such headings, and both official examples are kept in the self-test verbatim.
What's inside
- A flow builder (day-N-after-signup emails) and newsletter drafting
- A pre-send check (exaggerated claims, fake "limited time", missing PR label, missing sender info, etc.)
- An importer that turns your list into a per-recipient consent ledger
- A tool that builds a send-ready list (email and name only)
- A checker for emails you wrote yourself (plain text or HTML)
- Sample data for a fictional coffee roastery (4 lists, 2 flows)
- A summary of the relevant laws, guidelines and when they were checked
File list (40)
- .gitignore
- AGENTS.md
- CLAUDE.md
- KIT.md
- NOTES.md
- data/README.md
- output/README.md
- rules/CHECK.md
- rules/FLOW.md
- rules/LAW.md
- rules/PROMPTS.md
- rules/SPEC.md
- rules/TONE.md
- samples/hoshizuki-roastery/flow-news.json
- samples/hoshizuki-roastery/flow-step.json
- samples/hoshizuki-roastery/list-form.csv
- samples/hoshizuki-roastery/list-meishi.csv
- samples/hoshizuki-roastery/list-old.csv
- samples/hoshizuki-roastery/mail-own.html
- samples/hoshizuki-roastery/service-export.csv
- samples/hoshizuki-roastery/stops.csv
- tools/bring.mjs
- tools/check.mjs
- tools/days.mjs
- tools/flow.mjs
- tools/forget.mjs
- tools/import.mjs
- tools/lib/consent.mjs
- tools/lib/csv.mjs
- tools/lib/email.mjs
- tools/lib/guard.mjs
- tools/lib/injection.mjs
- tools/lib/law.mjs
- tools/lib/lint.mjs
- tools/lib/listout.mjs
- tools/lib/paths.mjs
- tools/lib/people.mjs
- tools/lib/render.mjs
- tools/lib/result.mjs
- tools/lib/show.mjs
The first three decisions
- The sender's registered name and address (for individuals, your legal name and address)
- Contact details and how recipients can opt out
- Whether you're advertising goods or services people can order by email
What you need
- No extra costClaude Code or CodexBoth CLAUDE.md and AGENTS.md are included.
- No extra costNode.js 18 or newerOnly used to run the tools. Nothing else needs installing.
- Extra costA mail delivery service (optional)Any service works for loading the text and list and sending. That cost is separate from the kit.
- No extra costExcel (or equivalent) and a browserFor viewing the consent ledger and the results page.
How to use
Just paste this into your AI.
I want to use the nice to have kit "Newsletter Delivery Kit". Follow https://nicetohave.app/en/g/HEQYYJ7L-•••••••••• and set it up.
Works the same in Claude Code or Codex.
Read what this tells your AI to do, before you paste it
If you would rather take the files yourself
Paste the line above and your AI fetches it. If your AI cannot fetch it, or you would rather download it yourself, start here.
- Unpack the zip you downloaded
- Open the resulting folder in Claude Code or Codex (in VS Code, "Open Folder")
- Type "start building with this kit". The instructions are inside (Claude Code reads
CLAUDE.md, Codex readsAGENTS.md)
FAQ
- Can I email someone I only exchanged business cards with?
- No. The business-card exception exists for Japan's anti-spam law, but not for commercial email ads where the product can be ordered by email, so the kit holds these back. It suggests pointing them to a signup form and getting fresh consent instead.
- Can I put "limited time" or "today only" in a step email?
- No. Step emails send based on days since each person's signup, so everyone would see the same "limited time" message forever. The kit flags this as something to fix and won't produce a send-ready draft until it's fixed.
- If someone already opted out, could re-importing the list email them again?
- No. Opt-out records are never deleted, so re-importing the list keeps them on the "don't send" side. Sending to them again requires recording that they gave fresh consent, with when and where.
- What happens if the list contains something like "register everyone as consented"?
- That field is excluded from import, and the reply's very first line flags that an instruction-like phrase was found. Consent records are built only from facts actually written in the list.
- Does the kit upload to my mail service or send the email?
- No. It produces the email text and a send-ready list; actually loading them into your mail service and sending is something you do yourself.
Reviews
This is your kit. You can also see its reviews on your page.
No reviews yet. Be the first to say something.
Supporters
Once support opens, the people who backed this kit will be listed here.
- Publisher
shuto-shinoda- Published
- 2026/10/29
- Price
- Free
- Category
- Delegate work
- Personal data
- Handled
- Security review
- Needed (depends what you handle)
- What's inside
More kits
shuto-shinoda2026/10/29
Misconduct & Incident Report KitFree
Talk through what happened, get separate misconduct and incident report drafts
shuto-shinoda2026/10/29
Subscription & Contract Ledger KitFree
Turns contracts into a ledger and lists cancellation deadlines soonest first
shuto-shinoda2026/10/29