SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

probe-person

Pesquisa e Web

Conduct deep background investigation on a person (probe). Adaptive system that profiles the subject first, then selects relevant searches from global corporate registries, professional license databases, sanctions/PEP lists, court records, social media, and news sources. Use when user asks to probe, investigate, research, or conduct due diligence on a person. Outputs detailed prose report to Docu

1estrelas
Ver no GitHub ↗Autor: 199-biotechnologiesLicença: MIT

Probe Person - Adaptive Background Investigation

Execution Model

CRITICAL: This skill uses a file-first map/reduce pipeline to prevent context overflow. Investigation agents write full findings to files and return only short summaries. A dedicated synthesis agent with fresh context reads the files and writes the final report.

Architecture: File-First Map/Reduce

CONTEXT = CONTROL PLANE (lightweight)     FILES = DATA PLANE (unlimited)
──────────────────────────────────         ─────────────────────────────────

Phase 0: Orchestrator                      ~/Documents/Probe/{run_dir}/
  - Profile discovery                        manifest.json ← profile data
  - Create run directory
  - Write manifest.json
          │
          ▼
Phase 1: Spawn investigation agents ──────→ raw/corporate.md
         (parallel, background)              raw/sanctions.md
         Each agent:                         raw/media.md
           - Writes FULL findings to file    raw/legal.md
           - Returns ONLY 300-token summary  raw/network.md
          │                                  raw/licenses.md (conditional)
          ▼                                  raw/digital.md (conditional)
Phase 2: Orchestrator collects summaries
  - Updates manifest.json with summaries
  - NEVER reads raw files
          │
          ▼
Phase 3: Spawn synthesis agent ──────────→ report.md
         (fresh context)                    report.html (if requested)
         Reads: manifest + raw files
         Writes: final report

Why This Architecture

The previous design had agents return all findings inline, flooding the orchestrator with ~50K tokens and causing context overflow before synthesis could happen. This design:

  • Crash-proof: Files persist even if any agent or the orchestrator hits context limits
  • Resumable: Can re-run synthesis without re-running investigation
  • Debuggable: Can inspect each agent's raw output independently
  • Scalable: Adding agents doesn't increase orchestrator context pressure

AGENT OUTPUT CONTRACT (HARD RULE)

Every investigation agent MUST follow this contract. No exceptions.

What agents MUST do:

  1. Write ALL findings, sources, and analysis to their assigned file in {RUN_DIR}/raw/
  2. Return ONLY a short summary (max 300 tokens) containing:
    • STATUS: complete | partial | no_findings
    • KEY_FINDINGS: 3-5 bullet points of most important discoveries
    • RED_FLAGS: Any concerns or warnings (or "None")
    • SOURCE_COUNT: Number of sources searched
    • FILE: Path to the full findings file

What agents MUST NOT do:

  • Return full search results inline
  • Return lengthy analysis in the task response
  • Skip writing to the file

Example agent return (what the orchestrator sees):

STATUS: complete
KEY_FINDINGS:
- 4 active directorships across UK and Singapore
- 199 Biotechnologies (SG) Pte Ltd incorporated 2021, active
- 2 dissolved companies in UK (dormant, no trading history)
- Co-director Zico Yip appears on 3 of 4 active companies
RED_FLAGS: Two dormant companies dissolved within 12 months of incorporation
SOURCE_COUNT: 14 (OpenCorporates, Companies House, ACRA, Crunchbase)
FILE: ~/Documents/Probe/Boris_Djordjevic_20260217/raw/corporate.md

This is ~100 tokens. The full 5000+ token analysis is in the file.


Run Directory Structure

Every investigation creates a run directory:

~/Documents/Probe/{Subject_Name}_{YYYYMMDD}/
├── manifest.json          # Profile + agent status + summaries
├── raw/
│   ├── corporate.md       # Corporate Registry agent full findings
│   ├── sanctions.md       # Sanctions & PEP agent full findings
│   ├── media.md           # News & Media agent full findings
│   ├── legal.md           # Legal & Courts agent full findings
│   ├── network.md         # Network & Associates agent full findings
│   ├── licenses.md        # (conditional) Professional License agent
│   └── digital.md         # (conditional) Digital Identity agent
├── report.md              # Final synthesized report (written by synthesis agent)
└── report.html            # HTML version (if requested, written by synthesis agent)

Manifest Schema

{
  "subject": "Full Name",
  "run_id": "Subject_Name_YYYYMMDD",
  "run_dir": "~/Documents/Probe/Subject_Name_YYYYMMDD",
  "created": "2026-02-17T14:30:00Z",
  "profile": {
    "locations": ["London, UK", "Singapore"],
    "nationality": "Serbian",
    "profession": "Biotechnology CEO",
    "industry": "Longevity / Cellular Reprogramming",
    "companies": ["199 Biotechnologies", "SenaClear"],
    "identifiers": {},
    "public_profile_level": "moderate",
    "phase0_summary": "Brief narrative of what Phase 0 discovered..."
  },
  "agents": {
    "corporate": { "status": "pending", "file": "raw/corporate.md", "summary": null },
    "sanctions": { "status": "pending", "file": "raw/sanctions.md", "summary": null },
    "media":     { "status": "pending", "file": "raw/media.md",     "summary": null },
    "legal":     { "status": "pending", "file": "raw/legal.md",     "summary": null },
    "network":   { "status": "pending", "file": "raw/network.md",   "summary": null }
  },
  "synthesis": { "status": "pending", "report_file": "report.md" }
}

Philosophy & Approach

This skill produces intelligence-grade background reports written in the tradition of investigative journalism and private intelligence firms. Reports must read as compelling narratives that illuminate the subject's character, trajectory, and significance—not as data dumps or checkbox exercises.

Core Principles:

  1. Parallel Execution: Spawn multiple investigation agents simultaneously to cover maximum OSINT breadth. Don't search sequentially when you can search in parallel.

  2. Adaptive, Not Checklist: Every investigation is different. A doctor in Sydney requires different searches than a hedge fund manager in London. Profile the subject first, then select relevant databases—don't run FINRA on a pastry chef.

  3. Prose Over Bullet Points: Every section should be written as flowing narrative paragraphs. Tables are permitted only for dense factual data (company registrations, dates). Bullet points should be rare exceptions.

  4. Depth Over Breadth: It is better to deeply explore five meaningful threads than to superficially list fifty facts. Follow interesting leads. Ask "why" and "so what" about every finding.

  5. Precision of Language: Every word should be intentional. Avoid vague qualifiers ("various," "several," "some"). Be specific. Instead of "worked in finance," write "spent seven years structuring equity derivatives at JP Morgan's London desk."

  6. Contextualisation: Raw facts without context are meaningless. A company directorship means nothing until you explain what the company does, why it matters, and what it reveals about the subject.

  7. Narrative Arc: The report should tell a story. How did this person arrive at their current position? What patterns emerge across their career? What do their choices reveal about their priorities and character?

  8. Investigative Rigour: Distinguish clearly between verified facts, reasonable inferences, and speculation. Flag gaps in the record. Note when sources conflict. Acknowledge limitations.

  9. Verification of High-Profile Claims: If a subject claims major deals, company exits, executive roles at notable companies, or relationships with prominent figures, there MUST be independent corroborating evidence. High-profile achievements leave paper trails. If no corroboration exists, the claim must be explicitly flagged as UNVERIFIED.


Phase 0: Profile Discovery (ORCHESTRATOR EXECUTES DIRECTLY)

Before spawning any agents, the orchestrator must establish who this person is AND set up the run directory.

Step 1: Quick Discovery

Execute these searches yourself before spawning agents:

WebSearch: "[NAME] LinkedIn"
WebSearch: "[NAME] biography"

Como adicionar

/plugin marketplace add 199-biotechnologies/probe-person

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.