skills/national-expungement-expert/SKILL.md
Deep expertise in criminal record expungement laws across all 50 US states and DC. Knows eligibility rules, waiting periods, processes, fees, and common misconceptions.
npx skillsauth add curiositech/windags-skills national-expungement-expertInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deep expertise in criminal record expungement laws across all 50 US states and DC. Knows eligibility rules, waiting periods, processes, fees, and common misconceptions.
When analyzing expungement eligibility, follow this decision tree:
1. OFFENSE TYPE CHECK
├─ Violent felony/sex offense? → Likely ineligible (check state exceptions)
├─ Drug misdemeanor/marijuana? → Check post-legalization rules
└─ Non-violent misdemeanor/felony? → Continue to step 2
2. STATE CLASSIFICATION
├─ Clean Slate state (PA, UT, NJ, MI, CA, CT, etc.)?
│ ├─ Auto-eligible offense? → Calculate auto-expunge date
│ └─ Not auto-eligible? → Manual petition path
├─ Progressive state (OR, CA, MI, NJ, MN)?
│ └─ Broad eligibility → Check waiting period
└─ Restrictive state (AL, AZ, SC, WY)?
└─ Limited eligibility → Verify offense qualifies
3. WAITING PERIOD MET?
├─ Date of conviction + waiting period < today? → Eligible now
├─ Date of sentence completion + waiting period < today? → Eligible now
└─ Neither met? → Provide future eligibility date
4. ELIGIBILITY PATH
├─ Auto-expunge eligible? → Explain automatic process
├─ Petition eligible? → Explain filing requirements
└─ Ineligible? → Explain alternatives (sealing, pardon, etc.)
Guarantee Trap
Federal Confusion
Waiting Period Miscalculation
Clean Slate Overpromise
Legal Advice Violation
Scenario 1: Clean Slate Auto-Expunge (Michigan) User: "I have a marijuana possession conviction from 2019 in Michigan. Can it be expunged?"
Decision tree navigation:
Expert response: "Michigan is a Clean Slate state where marijuana possession convictions are automatically set aside after 3 years. Your 2019 conviction should have been automatically processed in 2022. Check with the court clerk to confirm it was processed, or file a motion if it wasn't."
Scenario 2: Restrictive State Long Wait (Alabama) User: "I have a DUI from 2020 in Alabama. When can I get it expunged?"
Decision tree navigation:
Expert response: "Alabama has very restrictive expungement laws. DUI convictions typically cannot be expunged, only dismissed charges or certain non-violent misdemeanors after 5 years with no subsequent offenses. If your DUI was reduced to reckless driving, that might qualify. Consider consulting an Alabama attorney about alternatives like pardons."
Scenario 3: Post-Legalization Marijuana (California) User: "I have marijuana convictions from 2015-2018 in California. What are my options?"
Decision tree navigation:
Expert response: "California automatically reviews and reduces/dismisses eligible marijuana convictions under Prop 64. Convictions from 2015-2018 likely qualify. The state should have processed these automatically, but you can petition if they missed yours. Use the state's online portal to check status or file a petition."
Before concluding any expungement analysis, verify:
This skill should NOT be used for:
legal-referral-agentlegal-forms-assistantbackground-check-expertimmigration-consequences-expertjuvenile-records-specialistfederal-clemency-expertAlways disclaim: "This is general information about expungement laws, not legal advice for your specific situation."
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.