Initial skills documentation — 25 categories, all SKILL.md + references + scripts

This commit is contained in:
root
2026-07-15 17:42:20 -04:00
commit 1b4fcd4427
976 changed files with 188344 additions and 0 deletions
@@ -0,0 +1,73 @@
# BoxPilot Logistics — MC/DOT Solicitation Detection
## Account
- Email: `hello@boxpilotlogistics.com`
- Password: `1New.opportunity`
- IMAP: `mail.boxpilotlogistics.com:993`
- SMTP: `mail.boxpilotlogistics.com:2525` (port 587/465 blocked from netcup)
- Solicitation folder: top-level "Solicitation" (subscribed, not under INBOX)
## After initial cleanup
After running the triage script against all ~120 inbox messages:
- 87 solicitations moved to Solicitation folder
- 36 legitimate messages remain in inbox
## Detection Heuristics
Three-tier detection:
### 1. Free-domain mismatch (highest confidence)
Sender from free domain (gmail, yahoo, outlook, etc.) AND body references a business domain → solicitation
### 2. Free-domain + subject keywords
Trusting keywords from free-domain senders: insurance, factoring, fuel, dispatch, load board, freight, logistics, carrier, broker, MC authority, DOT authority, compliance, IFTA, IRP, E-log, ELD, safety, lease, warranty, quote
### 3. Business-domain service offers
Even from real company domains, anything offering to a newly registered MC: trucking insurance quotes, compliance/DOT filings (BOC-3), factoring, fuel cards, ELD sales, dispatch services, load board subscriptions, logo/web/SEO
## Domain extraction
```python
FREE_DOMAINS = {"gmail.com", "yahoo.com", "yahoo.co.uk", "ymail.com", "outlook.com",
"hotmail.com", "live.com", "msn.com", "aol.com", "icloud.com",
"me.com", "mac.com", "protonmail.com", "proton.me", "pm.me",
"mail.com", "inbox.com", "zoho.com", "yandex.com", "gmx.com",
"fastmail.com", "tutanota.com", "rediffmail.com", "libero.it",
"web.de", "gmx.de", "t-online.de", "online.de"}
def extract_domains(text):
domains = set()
for m in re.finditer(r'https?://(?:www\.)?([a-z0-9.-]+\.[a-z]{2,}(?:\.[a-z]{2,})?)', text, re.I):
d = m.group(1).lower()
if d not in ('google.com', 'youtube.com', 'facebook.com', 'linkedin.com', 'twitter.com', 'x.com', 'instagram.com'):
domains.add(d)
for m in re.finditer(r'[a-z0-9._%+-]+@([a-z0-9.-]+\.[a-z]{2,}(?:\.[a-z]{2,})?)', text, re.I):
d = m.group(1).lower()
if d not in FREE_DOMAINS:
domains.add(d)
return domains
```
## Categories of MC-registration spam seen
| Category | Example domains |
|---|---|
| Insurance | themcclureagency, coastaltruckinginsurance, allnevadainsurance |
| Compliance | uscompliance.io, dotregistrations.org, fmcsaprocessagents |
| Factoring | otr.otrsolutions.com |
| ELD | preventty.com |
| Promo | slackhq.com, Amex promo emails |
| Logo/Web | Various free-domain senders |
## Folder visibility
The Solicitation folder must be **subscribed** via IMAP (`IMAP4.subscribe('Solicitation')`) for email clients to see it. If the user doesn't see it, they may need to log out and back in.
## Cron
```bash
cronjob(action='create', schedule='every 10m', script='boxpilot-triage.py', no_agent=True, deliver='origin')
```
## Pitfalls
- **Folder not showing:** Subscribe via `conn.subscribe('Solicitation')` — clients only show subscribed folders
- **Move pattern:** `conn.copy(num, 'Solicitation')` then `conn.store(num, '+FLAGS', '\\\\Deleted')` then `conn.expunge()` — IMAP has no atomic MOVE
- **Initial cleanup:** Process ALL inbox messages, not just recent unread, since the inbox may already be flooded