people-relationship-map
Personal CRM and relationship graph for OpenClaw. Tracks people, their connections to each other, and what you know about them. Stores everything as Obsidian-friendly Markdown + a JSON graph index. Use when you want to remember who knows who, prepare for meetings, or get nudged about stale relationships.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/gobiraj/people-relationship-mapPeople Relationship Map
A lightweight personal CRM that tracks people as nodes and their connections as edges. Everything is stored as Obsidian-compatible Markdown files (one per person) with a JSON graph index for fast querying.
Workspace layout
<workspace>/people/
├── _graph.json # Node + edge index (source of truth for connections)
├── _alex-chen.md # One Markdown file per person
├── _jordan-lee.md
└── ...
Each person file uses this template:
# Alex Chen
- **Tags:** #colleague #engineering
- **Org:** Acme Corp
- **Role:** Staff Engineer
- **Met:** 2025-06-15
- **Last contact:** 2026-02-20
- **Tier:** close
## Notes
- 2026-02-20 — Mentioned looking for a new apartment in Brooklyn
- 2026-01-10 — Helped me debug the auth migration
## Connections
- [[Jordan Lee]] — same team at Acme
- [[Sam Patel]] — college roommates
The _graph.json file stores the machine-readable graph:
{
"nodes": {
"alex-chen": {
"displayName": "Alex Chen",
"tags": ["colleague", "engineering"],
"org": "Acme Corp",
"role": "Staff Engineer",
"met": "2025-06-15",
"lastContact": "2026-02-20",
"tier": "close",
"file": "_alex-chen.md"
}
},
"edges": [
{
"from": "alex-chen",
"to": "jordan-lee",
"label": "same team at Acme"
}
]
}
Commands
All commands go through the Python script. Run them via:
python3 {baseDir}/scripts/relmap.py <command> [options]
Add a person
python3 {baseDir}/scripts/relmap.py add \
--name "Alex Chen" \
--tags colleague,engineering \
--org "Acme Corp" \
--role "Staff Engineer" \
--tier close \
--note "Met at the offsite in Denver"
Tiers: close, regular, acquaintance (default: acquaintance).
Link two people
python3 {baseDir}/scripts/relmap.py link \
--from "Alex Chen" \
--to "Jordan Lee" \
--label "same team at Acme"
Add a note to a person
python3 {baseDir}/scripts/relmap.py note \
--person "Alex Chen" \
--text "Mentioned looking for a new apartment in Brooklyn"
This also bumps lastContact to today.
Touch (update last contact without a note)
python3 {baseDir}/scripts/relmap.py touch --person "Alex Chen"
Query commands
# Show everything about a person
python3 {baseDir}/scripts/relmap.py show --person "Alex Chen"
# Find who is connected to a person
python3 {baseDir}/scripts/relmap.py connections --person "Alex Chen"
# Find all people at an org
python3 {baseDir}/scripts/relmap.py query --org "Acme Corp"
# Find by tag
python3 {baseDir}/scripts/relmap.py query --tag engineering
# Find by tier
python3 {baseDir}/scripts/relmap.py query --tier close
# Search notes for a keyword
python3 {baseDir}/scripts/relmap.py search --query "apartment"
# List all people
python3 {baseDir}/scripts/relmap.py list
Relationship staleness report
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-gobiraj-people-relationship-map": {
"enabled": true,
"auto_update": true
}
}
}