| name | about |
| description | Cross-source relationship dossier for a person. Pulls every email, meeting, and document linked to that person from the hypha archive, plus any references in live code/notes. Use when the user says "tell me about [name]", "everything about [person]", "before I meet with [name]", "who is [name]", "/about <name>". |
| argument-hint | <name-or-email> |
| allowed-tools | ["Bash","Read","Grep"] |
/about
The cross-source relationship dossier. The single demo that proves hypha's wedge is real — it answers a question Anthropic's Gmail Connector + Calendar Connector cannot: "tell me everything connected to this person across all my sources."
Arguments
User invoked with: $ARGUMENTS — should be a name, email address, or handle.
Instructions
-
Validate input. If $ARGUMENTS is empty, ask the user for the name.
-
Ensure the daemon:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/ensure-daemon.sh
-
Fetch the dossier via the daemon:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/hypha-query.sh relationship "$ARGUMENTS"
The response is JSON: { person, total_interactions, first_contact, last_contact, channels, per_year, ... }.
-
Cross-reference with the live filesystem. Search for mentions of the person in active projects:
rg --max-count 3 -i "$ARGUMENTS" ~/Projects ~/.claude/skills 2>/dev/null | head -20
This surfaces collaborations that exist in code/notes but might not be in the archive yet.
-
Render a structured response:
- Header: name + clustered identities (emails, handles, phones)
- First & most recent contact with citations to the underlying records
- Channels breakdown — how many email/calendar/drive interactions, time range, top samples
- Per-year activity — the trajectory of the relationship
- Live mentions — any active filesystem hits, with paths
- Suggested follow-ups — based on patterns: "no contact in 18 months — reach out?"; "mentioned in
apply-foo/notes.md but no recent email"; etc. Keep this 1–3 bullets.
-
If the daemon returns 404 (no person matched), fall back gracefully:
- Run
hypha search "$ARGUMENTS" --kinds identity.email,identity.handle,person
- If still nothing, run
rg -i "$ARGUMENTS" on the filesystem
- Report what was tried and what was found
Common failure modes
- Wrong person picked from cluster: if the dossier surfaces someone with the right name but wrong context (two Bobs), suggest the user disambiguate by email. The relationship-dossier endpoint matches on first FTS hit; the user can re-call with
/about bob@example.com for precision.
- Sparse data: if total_interactions is low (≤2), don't pad. State the data is sparse and ask whether to widen the search.