buriedsignals/spotlight/integrations
Claude Code and agent skill by buriedsignals/spotlight
- community
Checking that the SKILL.md file is still in the repository.
Use when an investigation step may need an external integration such as browser acquisition, Maigret account discovery, Junkipedia narrative tracking, Apify social-media collection, Arbiter social-media case studies, OSINT Navigator tool discovery, Noosphere C2PA signing, or Unpaywall access lookup.
Install
npx vskill@latest install buriedsignals/spotlight/integrationsSKILL.md
Integrations — External Tool Routing
Spotlight ships with a framework for external OSINT tool integrations (integrations/ at the repo root). Each integration is a directory with manifest.json + integration.md. This skill is the agent-facing routing layer: given an investigation need, which integration (if any) should the agent reach for?
The preflight result is authoritative. Before routing, the orchestrator should have run integrations/preflight.py during Preflight. If an integration is red (missing env var) or yellow (smoke test failed), do not route to it — use a fallback.
When to invoke this skill
- Before you make a decision that could benefit from an external tool: "should I use an integration for this step, or stay with the core verbs?"
- When the orchestrator wants to show the user which integrations are live
- Mid-investigation: "I need to verify a claim from a deleted tweet — is Junkipedia available?"
The skill is cheap to load — it's a routing table, not a deep methodology guide.
Current integrations
| Integration | Category | Capabilities | When to pick | |
|---|---|---|---|---|
dev-browser | browser-automation | dynamic-page-acquisition, form-navigation, screenshot-capture, download-capture, visual-verification, authenticated-browser-session | Use for specific investigative tasks that require browser automation after ordinary search/scrape is insufficient: portals, JS-rendered pages, forms, screenshots, downloads, visual verification, and acquisition evidence bundles. | |
browse | browser-automation | skill-catalog-navigation, selector-based-driver, ref-based-driver, accessibility-tree-snapshot, portal-navigation | Second-tier browser tool. Use when a curated browse.sh skill exists for the target portal and dev-browser would require writing navigation logic from scratch. | |
browser-harness | browser-automation | cdp-browser-control, dynamic-page-acquisition, screenshot-capture, download-capture, visual-verification | Legacy browser fallback. Do not pick as the default while dev-browser is green. | |
browser-use | browser-automation | form-navigation, search-export, login-driving, multi-step-browsing | Legacy/adjacent browser automation. Do not pick as the default while dev-browser is green. | |
arbiter | social-osint | curated-case-study-browse, entity-stance-analysis, hierarchical-theme-analysis, consolidated-case-study-report, case-study-creation | Analysing a collected social corpus: per-entity stance, theme clustering, actor/community structure, archived posts. Uses the member's own ARBITER_API_KEY through the native HTTPS API. | |
junkipedia | social-osint | narrative-tracking, misinformation-search, social-media-monitoring, cross-platform-query | Tracking how a claim spread; finding social posts deleted from origin; cross-platform narrative investigation. | |
apify | social-osint | social-post-collection, profile-post-history, conversation-thread-capture, keyword-post-search, cross-platform-collection | Bounded collection of public posts from X, Instagram, TikTok, Facebook, or LinkedIn when no native platform API path fits. Optional: unconfigured until APIFY_API_TOKEN is set. Billed to the member's own Apify account. X collection violates X ToS even for public posts — record the collection authority in access_notes and prefer the official API or a licensed broker where legal scrutiny is likely. | |
maigret | social-osint | username-search, account-discovery, profile-url-collection | Username-led account discovery. Produces candidate profile leads only; never use as attribution proof. | |
rea | technical-osint | electron-app-analysis, javascript-module-graph, network-capture-analysis, dotnet-assembly-inventory, android-package-inspection | Static, no-execution look inside a file the case holds: Electron app, HAR/mitmproxy capture, .NET assembly or APK. Requires the reviewed rea-agents@6.4.0 CLI on PATH. Observations only; never claims what an app did on a device. | |
webcheck | technical-osint | dns-records, domain-registration, certificate-transparency-subdomains, archive-history, http-headers, tracker-detection, tech-stack | Website or domain recon through the member's own Web-Check instance. Lookup checks (DNS, RDAP/WHOIS, CT subdomains, Wayback history) by default; page checks (headers, TLS, trackers, tech stack) contact the live host and need contact_target: true plus the user's explicit approval; never for a suspicious indicator. unconfigured until WEB_CHECK_URL is set. Observations only, never attribution. | |
noosphere-c2pa | provenance-signing | case-provenance-manifest, c2pa-content-credentials, optional-signing-receipt | PENDING integration — opt-in signer. Preflight reports unconfigured until NOOSPHERE_C2PA_URL is set. After Investigation gate, the base provenance path always writes status: unsigned and proceeds; signing runs only against a configured signer endpoint. Never a mandatory or blocking step. | |
osint-navigator | tool-discovery | tool-search-by-keyword, complex-query-synthesis, country-specific-tool-lookup | Entitlement-gated (subscription tier): first tool-discovery pass in Methodology when green + sensitive mode false. Local/open tier and all fallbacks use scripts/osint-tools.py find (local SQL index, 12,500 tools). | |
decisions | verification-signals | claim-grounding-signals, report-prose-fidelity, claim-facets | Orchestrator only, opt-in per case. Run scripts/decision-signals.py at the Investigation gate preparation and after report drafting when --check reports ready, the config enables it, the case is not sensitive and the user agreed. Signals are classifications, never evidence; they only lower confidence or add flags. Uses the member's OPENROUTER_API_KEY (environment or integrations.decisions.env_file); scripts/decision-signals.py CASE_DIR --phase investigation-gate --check reports readiness. | |
unpaywall | academic-open-access | doi-open-access-lookup, academic-fulltext-discovery, legal-pdf-location | Academic papers with DOIs when the content-access hierarchy needs a legal open-access copy. |
Routing decision tree
How to check preflight status mid-execution
Parse the JSON output. summary.green tells you how many integrations are usable. integrations[].status tells you per-integration. Only route to green integrations; log a note and fall back for red/yellow/unconfigured.
Using an integration
Each integration's exact usage — verb calls, request shape, output format — is documented in integrations/<id>/integration.md. Read that file when you decide to use an integration, then emit the documented verb calls.
Example flow for a narrative-tracking task:
- Read this skill (you are here)
- Pick
junkipediafrom the routing table - Check preflight:
junkipediais green? read-file("integrations/junkipedia/integration.md")- Follow the documented
execute-shell("curl …")calls - Parse output, fold into findings
Output handling
Any data retrieved through an integration follows the usual evidence-grounding rules:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/integrations/SKILL.md
Popularity
- Repository stars
- 33
- Repository forks
- 5
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 25 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/buriedsignals/spotlight/integrations)