What problem does it solve? Investigating people and companies across scattered public records — corporate filings, government contracts, lobbying disclosures, sanctions lists, property deeds, court records — requires querying many disconnected databases and manually reconciling inconsistent entity names. This Skill automates acquisition, entity resolution, timing correlation, and evidence-chain construction across eleven public-record sources. ## Core Features & Use Cases - Multi-source data acquisition: Stdlib-only Python fetchers for SEC EDGAR, USAspending, Senate lobbying, OFAC SDN, ICIJ Offshore Leaks, NYC ACRIS, OpenCorporates, CourtListener, Wayback Machine, Wikipedia/Wikidata, and GDELT, all writing normalized CSVs. - Entity resolution with confidence tiers: Match names across sources using exact, fuzzy (word-bag), and token-overlap tiers, each labeled high/medium/low confidence. - Statistical timing analysis: Permutation tests detect whether events like lobbying filings cluster suspiciously near contract awards. - Use Case: A journalist investigating pay-to-play patterns fetches a company's Senate lobbying filings and USAspending contract awards, resolves entity names across both CSVs, runs a timing test, and produces a findings.json where every claim traces back to a specific source row. ## Quick Start Ask the agent to investigate whether a specific company has lobbying filings that correlate with federal contract awards, using the osint-investigation scripts to fetch both datasets and build an evidence chain.