Skip to main content

discover-contacts

Research and enrich professional contacts and marketing prospects. Uses /dogpile to find current company, role, recent news, and company intelligence. Ingests CSV contact lists and outputs enriched profiles to /memory.

Aller à l'installation

Informations de source

Dépôt
grahama1970/agent-skills
Dernière activité de la source
9 août 2026 à 15:03
Langue détectée de SKILL.md
anglais
Étoiles
5
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
7 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
discover-contacts
description
Research and enrich professional contacts and marketing prospects. Uses /dogpile to find current company, role, recent news, and company intelligence. Ingests CSV contact lists and outputs enriched profiles to /memory.
allowed-tools
["Bash","Read","Write","Task"]
triggers
["research contacts","enrich contacts","discover contacts","look up contacts","research prospects","find out about this person","who is this contact","company research","prospect research","enrich this CSV","research this company","what does their company do","marketing research"]
metadata
{"short-description":"Contact and prospect research via /dogpile enrichment","author":"Graham","version":"0.1.0"}
provides
["discover-contacts"]
composes
["task-monitor","agentic-evals"]
disciplines
["research-retrieval"]
domains
["marketing"]
# discover-contacts Research and enrich professional contacts and marketing prospects. Takes a contact list (CSV, YAML, or individual names) and uses `/dogpile` to build comprehensive profiles with current company info, role, recent news, and company intelligence. ## Why This Exists Contact lists go stale fast. People change jobs, companies get acquired, divisions restructure. A CSV from a DARPA conference 6 months ago is already outdated. This skill uses deep multi-source research to answer: **"Who is this person NOW, and what is their company doing?"** ## Architecture ``` ┌──────────────────────────────────────────────────────┐ │ discover-contacts │ │ - Ingest contact list (CSV/YAML/name) │ │ - Batch or single-contact research │ │ - Rate-limited concurrent /dogpile calls │ │ - Enrichment pipeline │ └──────────────────────────────────────────────────────┘ │ │ ┌────┴──────┐ ┌─────┴─────────┐ │ Person │ │ Company │ │ Research │ │ Research │ ├───────────┤ ├────────────────┤ │ - LinkedIn│ │ - Website │ │ - Papers │ │ - News │ │ - GitHub │ │ - Funding │ │ - News │ │ - Contracts │ │ - Patents │ │ - Key hires │ └───────────┘ └────────────────┘ │ │ └──────────┬───────────────────┘ │ ┌───────────────┴────────────────────┐ │ Enriched Profile │ │ - Current role + company │ │ - Company summary + sector │ │ - Recent news (last 6 months) │ │ - Publications / patents │ │ - Social links │ │ - Confidence + staleness score │ │ → Stored to /memory │ │ → Written to enriched CSV/YAML │ └────────────────────────────────────┘ ``` ## Commands ```bash # Research a single contact ./run.sh research "John Rushby" --org "SRI International" # Research a company ./run.sh company "Galois, Inc." # Enrich a CSV contact list (batch) ./run.sh enrich /mnt/storage12tb/media/personas/references/darpa_arcos_contacts.csv # Enrich with concurrency limit ./run.sh enrich contacts.csv --concurrency 3 --delay 5 # Research a specific contact from the CSV ./run.sh research --csv contacts.csv --row 5 # Check enrichment freshness ./run.sh freshness contacts.csv # Export enriched profiles ./run.sh export contacts.csv --format yaml --output enriched_contacts.yaml ``` ## Input Formats ### CSV (primary) ```csv first_name,last_name,organization,email John,Rushby,SRI International,rushby@csl.sri.com ``` ### YAML ```yaml contacts: - name: John Rushby org: SRI International email: rushby@csl.sri.com ``` ### Single contact (CLI) ```bash ./run.sh research "John Rushby" --org "SRI International" ``` ## Enrichment Pipeline For each contact, the skill runs a structured research pipeline: ### 1. Person Research ``` /dogpile "{first_name} {last_name} {organization} current role" ``` Extracts: - **Current role and company** (may have changed from CSV) - **LinkedIn profile** (via Brave search) - **Recent publications** (ArXiv, Google Scholar) - **GitHub activity** (if technical) - **Recent news mentions** - **Conference talks** (YouTube) ### 2. Company Research ``` /dogpile "{organization} recent news funding contracts" ``` Extracts: - **Company summary** — what they do, sector, size - **Recent news** — last 6 months of significant events - **Government contracts** — via /ops-sam-gov if relevant - **DARPA programs** — via /ops-darpa if relevant - **Key hires/departures** — leadership changes - **Funding/acquisitions** — financial events ### 3. Profile Assembly Merges person + company research into enriched profile: ```yaml contact: name: John Rushby current_role: Senior Computer Scientist current_org: SRI International previous_org: null # or previous if changed email: rushby@csl.sri.com email_status: likely_valid # or stale, bounced linkedin: null github: null research: publications: 3 # recent papers found patents: 0 talks: 1 company: name: SRI International sector: Defense/Research size: 2000+ recent_news: - "SRI awarded $X contract for..." darpa_programs: - ARCOS - PROOFS sam_gov_active: true enriched_at: "2026-02-12T12:00:00Z" confidence: 0.85 # how confident in current info staleness_days: 0 ``` ## Rate Limiting Batch enrichment is rate-limited to avoid burning through API quotas: | Setting | Default | Description | |---------|---------|-------------| | `--concurrency` | 2 | Parallel /dogpile calls | | `--delay` | 10 | Seconds between batches | | `--budget` | 20 | Max /dogpile calls per run | | `--skip-enriched` | true | Skip contacts enriched within 30 days | ## Storage ``` /mnt/storage12tb/media/personas/references/ ├── darpa_arcos_contacts.csv # Original CSV ├── darpa_arcos_enriched.yaml # Enriched profiles ├── company_profiles/ │ ├── sri_international.yaml │ ├── galois_inc.yaml │ └── ... └── enrichment_log.json # Audit trail ``` ## Memory + Taxonomy Integration The skill integrates with the shared memory and taxonomy systems via `memory_integration.py` for cross-session contact intelligence: - **Pre-hook (`recall_prior_research`)**: Before researching a contact, recalls prior enrichment data for that person. Avoids redundant /dogpile calls and surfaces previously gathered intelligence. - **Post-hook (`learn_contact`)**: After enrichment, stores the contact profile (name, company, role, sources, enrichment data) to memory with taxonomy bridge tags for cross-skill recall. - **Bridge keywords**: Precision, Resilience, Fragility, Corruption, Loyalty, Stealth (tuned to contact research domain). - **Tags**: `["discover_contacts", person_name] + bridges` Gracefully degrades if `common.memory_client` or `taxonomy/taxonomy.py` are unavailable. Enriched profiles are also stored to `/memory` for cross-skill access: ```bash # After enrichment, profiles available via: /memory recall "John Rushby SRI International" /memory recall "DARPA ARCOS contacts" /memory recall "defense contractors formal verification" ``` ## File Structure ``` discover-contacts/ SKILL.md # This file run.sh # Shell entry point sanity.sh # Sanity checks config.py # Paths, constants, skill references memory_integration.py # Memory + Taxonomy hooks ``` ## Leveraged Skills | Skill | Purpose | |-------|---------| | `/dogpile` | Multi-source deep research per contact | | `/memory` | Store enriched profiles for recall | | `/ops-sam-gov` | Government contract lookup | | `/ops-darpa` | DARPA program participation | | `/brave-search` | Free web search for current info | | `/perplexity` | Deep research for high-value contacts | ## Persona Generation Enriched contacts can seed `/create-persona` for fictional personas: ```bash # Research a contact, then create an inspired-by persona ./run.sh research "Natasha Neogi" --org NASA /create-persona --inspired-by /mnt/storage12tb/media/personas/references/company_profiles/nasa.yaml ``` This bridges the gap between real-world contacts and the persona system. ## Privacy & Ethics - Contact data is stored locally only (12TB drive) - No data is sent to external services beyond search queries - Research uses only publicly available information - Email validation does NOT send emails - Enrichment log tracks all research for audit
Voir sur GitHub