agentleFS
sami2919sami2919/SignalForce/skills/compliance-manager/SKILL.md

compliance-manager

Skill9 starsChanged 3 months agoMITView on GitHub

Use when setting up outbound email compliance, managing opt-out and suppression lists, handling GDPR/CAN-SPAM/CCPA requirements, or when a prospect requests data deletion

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 12 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not "sell" personal data (sharing with data brokers counts as sale).

    line 22
  2. Distinctive:

    Remove from all active sequences in Instantly.ai immediately

    line 45
  3. Distinctive:

    Add email to global suppression CSV

    line 46
  4. Distinctive:

    Never contact again on any domain or from any alias

    line 48
  5. Distinctive:

    Remove from current sequence in Instantly.ai

    line 51
  6. Distinctive:

    Add to a "cooling-off" list with a 6-month re-engage date

    line 52
  7. Distinctive:

    Do not suppress permanently unless they explicitly ask

    line 54
  8. Distinctive:

    Never commit personal data to git or log files

    line 68
  9. Distinctive:

    Delete local CSV files after import

    line 69
  10. Distinctive:

    Never paste contact data into Slack, Notion, or unapproved tools

    line 70
  11. Distinctive:

    Use only work accounts for GTM tooling

    line 71
  12. Distinctive:

    Run on the first Monday of each month:

    line 81

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Compliance Manager

Regulatory Requirements

CAN-SPAM (US):

  • Physical mailing address in every email (registered agent or mailbox — not home address)
  • Clear opt-out mechanism (Instantly.ai footer handles this). Honor within 10 days — in practice, immediately.
  • Subject lines must not be deceptive.

GDPR (EU/UK):

  • B2B cold email is permitted under "legitimate interest" — must be professionally relevant.
  • Right to erasure: remove all data from all systems within 30 days of request.
  • Personal data only in approved systems (HubSpot, Instantly.ai, Clay).

CCPA (California):

  • Right to know, delete, and opt out of sale. Honor deletion within 45 days.
  • Do not "sell" personal data (sharing with data brokers counts as sale).

CASL (Canada):

  • Implied consent applies for B2B when contact info is publicly available and the email is professionally relevant.
  • Include business name, physical address, and unsubscribe mechanism in every email.

Suppression Lists

Maintain one global suppression CSV synced to Instantly.ai. Categories:

CategoryAdd triggerRemove policy
Opt-outsAny unsubscribe requestNever
Current customersDeal marked Closed Won in HubSpotRemove if churned (manual review)
CompetitorsManual additionOngoing review
Negative replies"Not interested", "stop emailing", "remove me"Never for opt-outs; 6-month cooling-off for "not now"
Hard bouncesBounce status from Instantly.aiNever — address is invalid

Sync schedule: export updated suppression CSV from HubSpot weekly. Upload to Instantly.ai → Settings → Suppression List → replace existing.

Opt-Out Handling

Explicit opt-out (unsubscribe link clicked, or email saying "remove me", "unsubscribe", "stop emailing"):

  1. Remove from all active sequences in Instantly.ai immediately
  2. Add email to global suppression CSV
  3. Mark contact in HubSpot as "Do Not Contact" — set DNC flag
  4. Never contact again on any domain or from any alias

Soft negative ("not interested", "not the right time", "maybe later"):

  1. Remove from current sequence in Instantly.ai
  2. Add to a "cooling-off" list with a 6-month re-engage date
  3. Log the reply in HubSpot with date and exact response text
  4. Do not suppress permanently unless they explicitly ask

"How did you get my email":

  1. Reply within 24 hours — name the source (Apollo, LinkedIn, public profile)
  2. Offer removal. If confirmed: treat as explicit opt-out.

Data Handling

Personal data (name, email, title, phone, LinkedIn URL) lives only in:

  • HubSpot — CRM of record
  • Instantly.ai — active sequences and sending
  • Clay — enrichment and monitoring

Rules:

  • Never commit personal data to git or log files
  • Delete local CSV files after import
  • Never paste contact data into Slack, Notion, or unapproved tools
  • Use only work accounts for GTM tooling

GDPR deletion request workflow:

  1. Receive request → confirm identity (ask them to reply from the email address)
  2. Within 30 days: delete from HubSpot, Instantly.ai, and Clay
  3. Reply confirming deletion date
  4. Log in a "Deletion Requests" HubSpot list (date + email hash only — no PII)

Monthly Compliance Audit Checklist

Run on the first Monday of each month:

  • Global suppression list synced to Instantly.ai
  • All active sequences contain unsubscribe footer link
  • Physical mailing address present in email footer
  • No PII committed to git repo (git log --all -- "*.csv")
  • All opt-outs from prior month honored and in suppression list
  • HubSpot DNC flags match suppression CSV
  • No personal data in shared docs, Slack, or Notion
  • Pending deletion requests completed within 30-day window
  • CASL: Canadian prospects contacted only under implied consent

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.