Lint Nurture Sequence
Skill8 starsChanged 5 months agoMITView on GitHub
Check a nurture sequence against the house style before it ships, or catch drift in a live auto queue — every email needs a clickable text CTA above the image, a consistent sign-off, a positively framed subject, a greeting, and HTML structure. Flags per-email problems AND set-wide inconsistency (the thing that makes a drip feel half-built).
In this repository101 other files it gives its agents.
- templates/CLAUDE.mdCLAUDE.md
- Add a FieldSkill
- Assemble Content PackSkill
- Assemble PackSkill
- Audit My AutomationsSkill
- Audit My DataSkill
- automate-thisSkill
- Brand My WorkspaceSkill
- Break Down A ChannelSkill
- Build Brand StrategySkill
- Build Customer VoiceSkill
- Build DocumentSkill
- Build FormSkill
- Build Knowledge Base From DocsSkill
- Build My ProofSkill
- Build My VoiceSkill
- Build Social StrategySkill
- Build SpreadsheetSkill
- Build Work Order ProcessSkill
- Cash Flow ForecastSkill
- Coach My CallsSkill
- Compare DocumentsSkill
- Connect A ToolSkill
- Delegate This WorkSkill
- Describe A ProductSkill
- Design My ScenesSkill
- Design Nurture SequenceSkill
- draft-replySkill
- Email Me A ReportSkill
- Estimate My BASSkill
- Extract DocumentSkill
- Find My Next MoveSkill
- Five Day ChallengeSkill
- Follow-up RadarSkill
- Form RadarSkill
- Get Found OnlineSkill
- Grill Me On This DecisionSkill
- import-from-anywhereSkill
- lead-triageSkill
- Learn My BusinessSkill
- Lint DocumentSkill
- Lint FormSkill
- log-this-callSkill
- make-it-happenSkill
- Make My VideoSkill
- Make Product DemoSkill
- Make Social PostSkill
- Make ThumbnailSkill
- missed-call-recoverySkill
- Nurture HealthSkill
- Onboard Team MemberSkill
- Outstanding DocumentsSkill
- Outstanding InvoicesSkill
- Package My VideoSkill
- Plan My AdsSkill
- Plan My ContentSkill
- Plan My RoadmapSkill
- Plan My YouTubeSkill
- Prep For CallSkill
- Price My WorkSkill
- The first 60 shown.
The file
Files
Lint Nurture Sequence
A nurture sequence underperforms when its emails drift apart — one has a bold clickable link above the image, the next only has the image (so anyone who blocks images has nothing to click); one signs off warmly, another just stops. This skill runs a deterministic check over the whole set and tells the operator exactly what's off, per email and across the set.
It's the quality gate between design-nurture-sequence (draft) and
wire-nurture-sequence (ship) — and it works on a live queue too, to catch
drift in something already running.
Step 1 — Pick the source
Two ways in:
- A live auto queue — lint what's actually deployed:
(Get the queue id frompython ~/.claude/bos-run.py tool lint-sequence --queue <auto_queue_id> --json/nurture-healthorpython ~/.claude/bos-run.py tool dump-crm-bundle --resources auto_queues.) - Local drafts — lint before shipping, e.g. the drafts from
design-nurture-sequence:
Drafts file:python ~/.claude/bos-run.py tool lint-sequence --drafts drafts.json --json[{"label": "Day 0", "subject": "...", "body": "<p>...</p>"}, ...].
Useful flags: --signoff "Warmest regards, Sam" to match the operator's locked
closer; --allow-em-dash if the operator is fine with em dashes (default flags
them, because the house style avoids them).
Step 2 — What each check means
Per email:
| Check | Fails when | Why it matters |
subject | missing / very long | no subject = no open; long = the hook gets truncated |
greeting | no "Hi {{contact.first_name}}" up top | a cold open reads like a blast, not a note |
html | body isn't <p> HTML | plain text renders badly in Gmail |
link | no link at all | nothing to click — the email does no work |
cta_above_image | there's an image but no text link above it | image-blocked clients see no CTA — the exact gap that silently kills clicks |
signoff | the sign-off block is missing | inconsistent closers make the set feel unfinished |
positive_subject | subject leads with negation | positive, forward-looking subjects outperform |
no_em_dash | contains — | house style (relax with --allow-em-dash) |
Across the set:
- MIXED cta_above_image is a FAIL on purpose — some emails following the pattern and others not is the single biggest "half-built" tell.
- Inconsistent sign-offs or P.S. presence are WARNs — align them unless the variation is deliberate.
Step 3 — Present and route the fixes
Lead with the verdict and the fails, then the warnings, then "the rest are clean". Translate each flag into the concrete fix.
Sequence lint — 7 emails: 2 fail, 3 warn
✗ Day 7 — Want AI to build your CRM for you?
✗ cta_above_image: image has no text link above it — add a bold "Connect Claude here:" link before the image
✗ Day 14 — Watch Claude wire up your pipeline
✗ cta_above_image: same issue
⚠ Day 21 — An automation that runs forever
⚠ signoff: 'Warmest regards' not found
Across the set:
✗ MIXED: Days 0/49 have a text CTA above the image, Days 7/14/21/28/38 don't — make it consistent.
Fix path: hand the failing emails to /design-nurture-sequence to rewrite, then
/wire-nurture-sequence to push the corrected copy. Re-run this lint to confirm green.For live-queue fails, the fix is to rewrite the copy (design-nurture-sequence)
and re-wire it (wire-nurture-sequence) — this skill never edits the queue
itself. It only reports.
What to never do
- ❌ Don't edit emails or the queue from this skill — diagnose and route only.
- ❌ Don't soften a MIXED
cta_above_imageto a warning — inconsistency across the set is the failure that matters most. - ❌ Don't treat
--allow-em-dashas the default — only pass it if the operator has said em dashes are fine in their voice.
Output shape
Open with the one-line verdict (N emails, X fail, Y warn). List failing emails with the concrete fix, then warnings, then the set-wide consistency findings. Close with the fix path (rewrite → re-wire → re-lint) and offer to kick it off.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

