feat: add Claude Code investigation skill#9
Open
tdimino wants to merge 3 commits intoShinMegamiBoson:mainfrom
Open
feat: add Claude Code investigation skill#9tdimino wants to merge 3 commits intoShinMegamiBoson:mainfrom
tdimino wants to merge 3 commits intoShinMegamiBoson:mainfrom
Conversation
Add skills/openplanter/ — a zero-dependency Claude Code skill extracting OpenPlanter's investigation methodology (entity resolution, evidence chains, confidence scoring) into standalone Python stdlib scripts. - 5 scripts: init_workspace, entity_resolver, cross_reference, evidence_chain, confidence_scorer - 3 reference docs: entity resolution patterns, investigation methodology, output templates - SKILL.md with epistemic framework, Admiralty confidence tiers, ACH methodology - README.md with installation, quick start, and minoan-swarm integration link - ARCHITECTURE.md following matklad's guidelines (codemap, invariants, layer boundaries) - AGENTS.md for cross-agent compatibility (Codex, Cursor, Copilot, Devin) - Enhanced CLAUDE.md with project overview, commands, conventions, provider config
…n, and pipeline orchestrator Add 5 new scripts (dataset_fetcher, web_enrich, scrape_records, investigate, delegate_to_rlm), 2 agent definitions (investigation-agent, verifier-agent), and public-records-apis reference. Provider-agnostic RLM delegation auto-infers from model name. Three integration modes: methodology only, web-enriched, full RLM delegation. All scripts stdlib-only, verified passing --help. Review fixes: scrape phase added to pipeline, FEC API key stripped from errors, pagination truncation warning, Cerebras examples use --provider explicitly, investigate.py docs include workspace arg, EDGAR URL matches actual script.
Expand the Claude Code investigation skill with: - 6 specialized data fetcher scripts (Census ACS, EPA ECHO, ICIJ Offshore Leaks, OSHA DOL, ProPublica 990, SAM.gov) — all stdlib-only - wiki_graph_query.py for read-only access to OpenPlanter wiki knowledge graphs (entity lookup, BFS pathfinding, neighbor traversal) - delegate_to_rlm.py upgraded with --resume, --list-sessions, --list-models, --reasoning-effort, Ollama provider auto-detection - SKILL.md expanded with new capabilities, 24 tool mappings, 12 API sources documented - public-records-apis.md updated with 6 new government API endpoints Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
|
Hey @ShinMegamiBoson — just pushed a major expansion to this PR:
We've been using this skill to power World War Watcher, a real-time dashboard tracking the Iran-US war's impact on infrastructure and economics — entity resolution across defense contractors, government contract data (SAM.gov), and OSINT source chains all run through OpenPlanter methodology: https://x.com/IdaeanDaktyl/status/2031455436591747519 Would love your thoughts on the direction — especially the fetcher pattern and whether you'd want to expose these as native OpenPlanter tools in a future PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why a Claude Code Skill for OpenPlanter?
OpenPlanter is a recursive investigation agent with its own runtime. Claude Code is a general-purpose AI coding assistant with native file, web, and shell tools. This skill bridges them:
delegate_to_rlm.pyspawns the full OpenPlanter agent as a subprocess with session resume supportThis is not a port. It's a bridge between two complementary investigation paradigms.
Summary
dataset_fetcher.py(bulk datasets),web_enrich.py(Exa neural search),scrape_records.py(SEC/FEC/LDA/USAspending),investigate.py(pipeline orchestrator),delegate_to_rlm.py(provider-agnostic RLM bridge with session management),entity_resolver.py,cross_reference.py,confidence_scorer.py,evidence_chain.py,init_workspace.pyfetch_census.py,fetch_epa.py,fetch_icij.py,fetch_osha.py,fetch_propublica990.py,fetch_sam.pywiki_graph_query.py(read-only query of OpenPlanter knowledge graphs — entity lookup, BFS pathfinding, neighbor traversal, stats)investigation-agent.md(decision tree: scripts vs. RLM delegation),verifier-agent.md(read-only uncorrelated verification)public-records-apis.md(12 API endpoints with auth, rate limits, linking keys)Three Integration Modes
dataset_fetcher.py,web_enrich.py,scrape_records.py, 6 specialized fetchersdelegate_to_rlm.py→ full OpenPlanter agent (session-resumable)Provider-Agnostic RLM Delegation
delegate_to_rlm.pyauto-infers provider from model name:claude-*→ anthropic,gpt-*→ openai,org/model→ openrouterllama/qwen/mistral/gemma/phi/deepseek→ ollama (local inference)--providerexplicitlySession management:
--resume SESSION_IDcontinues a previous investigation,--list-sessionsshows saved sessions,--list-modelsshows available models per provider.--reasoning-effort low|medium|highcontrols investigation depth.6 Specialized Government API Fetchers
fetch_census.pyCENSUS_API_KEYfetch_epa.pyfetch_icij.pyfetch_osha.pyfetch_propublica990.pyfetch_sam.pySAM_GOV_API_KEYAll fetchers follow the same pattern: argparse CLI →
urllib.request→datasets/scraped/{source}/→ provenance.json sidecar with SHA-256.Wiki Knowledge Graph Query
wiki_graph_query.pyprovides read-only access to OpenPlanter wiki graphs (NetworkX node-link JSON):Review Fixes Applied (from original PR)
scrapephase added toinvestigate.pycollect groupdataset_fetcher.py--provider cerebrasexplicitlyinvestigate.pyexamples include required workspace positional argevidence_chain.pywrite side-effectweb_enrich.pyexits on parse error instead of returning misleading messageVision for Next PR
Agent-side integration: modify
agent/tools.pyandtool_defs.pyto expose skill scripts as native OpenPlanter agent tools, enabling the RLM agent to invoke the same entity resolution and evidence chain scripts programmatically.Test plan
--helpandpy_compileinvestigate.py /tmp/test --phases all --dry-runscrape_records.py /tmp/test --entities "Apple" --sources sec --dry-rundelegate_to_rlm.py --checkfetch_sam.py /tmp/test --list(verify NAICS codes)wiki_graph_query.py /tmp/test --stats🤖 Generated with Claude Code