contacts
Add, enrich, and manage contacts in Joel's Vault. Fire the Inngest enrichment pipeline for full multi-source dossiers, or create quick contacts manually. Use when: 'add a contact', 'enrich this person', 'who is X', 'VIP contact', 'update contact', or any task involving the Vault/Contacts directory.
Security Assessment
About contacts
The Contacts skill manages a personal knowledge vault for contact information stored as markdown files with structured YAML frontmatter. It provides two workflows: an automated enrichment pipeline that aggregates data from multiple sources (Slack, GitHub, web search, memory systems, and more), and a manual quick-create option for simple contacts. The skill solves the problem of maintaining comprehensive, up-to-date contact records by automating research and synthesis across disparate data sources.
The enrichment pipeline is the core feature, triggered via Inngest events. It supports two modes: 'full' enrichment queries seven data sources and uses LLM synthesis to create detailed dossiers in about 60 seconds, while 'quick' mode focuses on Slack and memory data for faster results. Each contact file includes structured metadata (role, organizations, social handles, VIP status) and freeform sections for contact channels, projects, key context, and activity logs. The system maintains an index file with wikilinks to all contacts for easy navigation.
This skill is designed for professionals managing relationship networks, particularly those using Obsidian or similar markdown-based knowledge management systems. VIP contacts receive enhanced treatment with deep enrichment playbooks that systematically gather biographical data, career timelines, media appearances, and collaboration history. The skill is especially valuable for developers, consultants, community managers, and anyone who needs to maintain rich context about their professional network without manual research overhead.
FAQ
What's the difference between 'full' and 'quick' enrichment modes?
'Full' mode queries all seven data sources (Slack, Roam, web/GitHub, Granola, recall memory, Typesense) and synthesizes results with LLM, taking ~60 seconds and costing ~$0.05. 'Quick' mode only queries Slack and memory sources, completing in ~10 seconds for ~$0.01, ideal for real-time VIP detection or simple updates.
Do I need to provide hints when enriching a contact?
Hints are optional but recommended. Providing known identifiers like Slack user ID, GitHub username, email, Twitter handle, or website URL helps seed the search across data sources and significantly improves enrichment quality and accuracy.
How does the system handle updates to existing contacts?
Re-run the enrichment pipeline with the existing vault path specified. The synthesizer intelligently merges new data with existing content, preserving facts unless they're contradicted by newer information, so you won't lose manually added context.
What makes a contact 'VIP' and what additional features do they get?
VIP contacts are marked with 'vip: true' in frontmatter and receive deep enrichment treatment including systematic capture of biographical data, career timelines, podcast appearances, collaborations, and ongoing monitoring. The deep enrichment playbook uses multi-step research across web searches, interviews, and transcripts.
What are the system requirements to run this skill?
You need a file system with access to ~/Vault/Contacts/ directory, Inngest running locally (typically on port 8288), and the contact-enrich function deployed. The skill expects markdown files with YAML frontmatter and maintains an index.md file for contact navigation.
Install contacts
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
joelhooks/joelclaw