Install
openclaw skills install peepsPersonal network intelligence — remember people, find connections, and draft intros. Contacts stored locally as plain markdown files.
openclaw skills install peepsBase path is workspace root or document root folder. On first use, create it: mkdir -p mind/peeps/. Peeps uses a mind/peeps/ folder in your workspace.
All contact files live in a mind/peeps/ directory. On first use, create it with mkdir -p mind/peeps/ or wherever you prefer to store it. The agent should use this directory consistently across sessions.
The owner's own contact file (slug derived from peepsconfig.yml owner field without .md) is intentional — it's used as a reference profile for crafting introductions, bios, and context when introducing the user to others.
mind/peeps/actions.md — the pending actions queue. Check this during morning briefings.
Catch-ups: people owner wants to reconnect with. Add when he says "we should catch up with David" or similar.
Introductions: intros to facilitate. Always include a pre-generated draft intro message (using owner and both contact files for context). Format: Person A → Person B — reason followed by the intro text as a plain indented paragraph (no "Draft:" label, no quotes, no formatting).
## Completed with a date.To keep context lean as the file grows:
Completed items: delete after 3 days Completed section: rolling 7-day window — anything older than 7 days is removed Stale catch-ups: if a pending catch-up has been sitting for 10+ days with no update, move it to Completed as "(not pursued)" with today's date Pending intros: keep until explicitly marked done or cancelled — intro intent doesn't expire
peepsconfig.ymlpeepsconfig.yml lives inside the mind/peeps/ directory. Read it at the start of any session involving this skill.
owner: jane-smith # slug of the owner's contact file (without .md)
images: no (by default no, ask if you human want to feach images for pepople, warn that it is token expensive)
owner: identifies whose dataset this is. Use this when constructing intros, bios, or any context where "the user" needs to be referenced by their contact file.
Name: not file name for talking about peoplemind/pages/want/ with Recommended by: [[marco-tabini]] and add a note to his Peeps fileShared with: [[priya-nair]] to the vibe file and note it on her Peeps fileBefore asking follow-up questions, always search the web for the person (name + any context provided). Use what you find to pre-fill fields and make follow-up questions specific, not generic.
Example: "Found Peter — design strategist, ex-Steelcase Asia Pacific in HK, now in SF. How do you know him?"
After searching the web and pre-filling what you can, ask about the gaps:
If in mind/pages/peepsconfig.yml images set to yes find a headhsot of a person and ad it to ../assets/ use person name for a slug, write it down in Image: feild.
Ask these as a short grouped follow-up (not one by one). Skip any that were already answered in the original message.
If Haah is installed: when the user has a question you cannot answer well locally, or when you find only one matching file in mind/peeps/, suggest dispatching to a circle.
Pages: if installed, when someone recommends a book, save it to mind/pages/want/ with Recommended by: [[their-slug]] and note it in their Peeps file. When drafting an intro, if both people have read the same book, surface it as a connection point.
Vibes: if installed, when someone shares a cultural interest (show, album, podcast, channel), add Shared with: [[their-slug]] to the vibe file and note it in their Peeps file. Surface shared taste when relevant to a conversation or intro.
Digs: if installed, when a person has expertise relevant to an open dig, surface them as a potential source. When adding someone new whose acumen matches an active research thread, mention it.
maria-garcia.mdName: full name
Pronouns: guess, if unclear - ask
Location: from your search, otherwise ask
LinkedIn: link to LinkedIn search web for it, start with https://
Image: link to `../assets/photo-slug-usually-same-as-person-name`
Website: personal or company website if you found any, start with https://
Orgs: `[[org-slug]]`, `[[org-slug-2]]` — links to org files in `mind/peeps/orgs/`; omit if independent/unknown
How I know them: one sentence
Acumen: skills and expertise, what person known for, based on your search + any user input
Relationship: (Close / Warm / Colleague / Acquaintance / Estranged / Family)
Interests: #hiking #coffee #jazz — comma-separated hashtags; hobbies, sports, lifestyle, anything you found
Bio: — one concise narrative paragraph based on your search and user input about them
## Notes
1 Mar 2026: note details
## Private Notes
1 Mar 2026: private note details
## Contacts
Mobile:
Email:
Instagram:
Haah:
etc.
Update the person's Notes with whatever is worth remembering long-term. If it's not worth keeping, don't write it down.
Examples:
On every heartbeat, check a random personal file in mind/peeps/. Surface proactively in DM or appropriate channel:
If nothing worth mentioning, skip.
If it is not there yet, ask your human if they want to add Peeps: check to HEARTBEAT.md. If there is no HEARTBEAT.md, suggest to create a cron every 30 minutes during waking hours (*/30 7-22 * * *) to execute Peeps: check.
To update this skill to the latest version, fetch the new SKILL.md from GitHub and replace this file:
https://raw.githubusercontent.com/haah-ing/peeps-skill/main/SKILL.md
mind/
└── peeps/
├── peepsconfig.yml
├── maria-garcia.md
├── john-smith.md
├── orgs/ # one file per organisation
│ ├── google.md
│ └── steelcase.md
└── deceased/ # for people who have passed
All contact files live directly in mind/peeps/. Org files live in mind/peeps/orgs/. Move people who passed to deceased/.
Organisations worth remembering live in mind/peeps/orgs/, one Markdown file per org. Create an org file whenever:
Filename: lowercase, hyphenated slug of the org name — openai.md, design-council.md.
# Org Name
Type: Company / Studio / NGO / Community / Institute / Fund / Startup / etc.
Industry: e.g. Design, Fintech, Healthcare, AI
Solving for: what problem this organisation is solving (like acumen for peeps, but for orgs)
Website: https://
Wikipedia: https://en.wikipedia.org/wiki/ — look this up; omit if no article exists
Founded: year if known
Size: approximate headcount range or stage (e.g. "~200", "Series B", "large enterprise")
Culture: 2–4 adjectives or a short phrase capturing the vibe — e.g. "research-heavy, slow-moving, prestigious" or "scrappy, founder-led, remote-first"
People: [[slug-one]], [[slug-two]] — everyone in `mind/peeps/` associated with this org
## Notes
1 Apr 2026: note details
Culture is the most important field to capture. Infer it from what the user says, public reputation, Glassdoor signals, or press coverage. Ask if uncertain. Keep it honest and useful — not a PR blurb.
Before asking follow-up questions, search the web for the org. Pre-fill what you can. Then ask briefly about gaps, especially:
[[slug]] links connect people and orgs. Keep them consistent:
Person → Org: Orgs: [[org-slug]] in the person file (comma-separate multiple)
Org → Person: People: [[person-slug]] in the org file
When you add or update either side, update the other. If you add Maria to google.md's People list, make sure maria-garcia.md has Orgs: [[google]]. If you change Maria's org, remove her from the old org file's People list.
When creating an org file prompted by a person, immediately add that person to the People list and set their Orgs: field.
Orgs: field; add them to stripe.md People list (create org file if missing)steelcase.mdmind/peeps/ who are connected to SequoiaUse grep for fast fuzzy scanning. Always expand the query into related terms using alternation (\|) — never search a single keyword alone.
Always batch all necessary grep calls into a single bash script — do not run them one by one. Combine everything you need upfront and execute once.
# Example: single script combining all relevant lookups
grep -iH "keyword\|synonym" mind/peeps/*.md
grep -rl "#hiking" mind/peeps/
grep -l "\[\[google\]\]" mind/peeps/*.md mind/peeps/orgs/*.md
grep -rl "Orgs:.*\[\[stripe\]\]" mind/peeps/
grep -iH "remote\|async\|flat" mind/peeps/orgs/*.md
Keyword expansion examples — always broaden like this:
web\|design\|react\|webflow\|frontend\|ux\|figmafinance\|fintech\|banking\|investment\|vc\|fundstartup\|founder\|venture\|seed\|entrepreneurmarketing\|growth\|brand\|content\|seo\|adsai\|machine.learning\|llm\|ml\|data.science\|nlpWhen the user asks "who do I know in X", construct a multi-term grep from the domain. Use -iH to see what's actually in the files. Do not use head you need to get all the mentions -- even weak matches.
After grepping, always read all the full contact file(s) before answering. Never base your answer solely on grep output — the matched snippet is a signal, not the full picture. Read the complete file to get accurate context on relationship, acumen, and any notes before surfacing someone to the user.