peeps
個人向けネットワークインテリジェンス — 人物情報を記憶し、つながりを見つけ、紹介文を作成できます。連絡先はローカルにプレーンテキストのマークダウンファイルとして保存されます。
description の原文を見る
Personal network intelligence — remember people, find connections, and draft intros. Contacts stored locally as plain markdown files.
SKILL.md 本文
👥 Peeps — ローカルコンタクト&ネットワークインテリジェンス
データロケーション
ベースパス はワークスペースルートまたはドキュメントルートフォルダです。初回使用時には、以下で作成してください:mkdir -p mind/peeps/。Peepsはワークスペース内の mind/peeps/ フォルダを使用します。
すべてのコンタクトファイルは mind/peeps/ ディレクトリに保存されます。初回使用時には mkdir -p mind/peeps/ で作成するか、好みの場所に保存してください。エージェントはセッション全体でこのディレクトリを一貫して使用する必要があります。
所有者自身のエントリ
所有者自身のコンタクトファイル(peepsconfig.yml の owner フィールドから .md なしで導出されたスラッグ)は意図的に存在します。これは他の人に紹介文、経歴、そしてユーザーを他者に紹介する際のコンテキストを作成するための参照プロファイルとして使用されます。
アクション
Peepsはpeeps固有のファイルではなく、ワークスペースルートのユニバーサル actions.md に書き込みます。このファイルはPages、Vibes、およびスケジュール済みまたは保留中のインテント(意図)が必要なその他のスキルと共有されます。ランタイム(Haahサーバー、ローカルcron、またはユーザーが設定したもの)はスケジュールに従って actions.md をスキャンし、適切なタイミングで焦点を絞ったブリーフィングターンで正確なアイテムを実行します。
スキーマ(ユニバーサル — すべてのスキルが同じ形式を使用)
- [ ] <一行の説明>
When: <日付またはタイムスタンプ> (オプション — ソフトインテントの場合は省略)
Who: [[<ワークスペース相対パス>]] (オプション)
Notify: -<n>m | -<n>h (オプション、デフォルトは -30m)
When: は以下を受け入れます:2026-05-12 18:30(ユーザーのハートビートタイムゾーンで解釈)、2026-05-12 18:30 HKT(末尾のラベルは情報提供のみ)、2026-05-12(日付のみ — その日の wake_hour で実行)、または Z / +HH:MM を含む絶対ISO形式。
Peepsが追加するもの
- 時間が決まっていないキャッチアップ — 所有者が再度つながりたい人。「Davidと連絡を取ることを考えている」というような発言があったときに追加します。
When:フィールドは省略します。これらはハートビートが機会的に表示するソフトインテントです。 - 日付付きキャッチアップ — ユーザーが特定の時間に約束したとき(「来週火曜日の午後6時にMariaとコーヒー」)。
When:とWho: [[mind/peeps/<slug>]]を含めて、ブリーフィングに実質性を持たせます。エントリを追加する前に、プッシュ通知 の設定を確認してください(システムプロンプトのアプリ設定ブロックに表示)。オフの場合は、スケジュール済みアクションがアプリ内メッセージとしてのみ届くこと(電話アラートなし)を説明し、アプリ設定でプッシュを有効にすることを提案します。オンの場合は、スケジュールを確認するだけです。 - 紹介 — 常に事前生成されたドラフト紹介メッセージを含めます(
ownerと両方のコンタクトファイルをコンテキストとして使用)。形式はPerson A → Person B — 理由の後、紹介テキストをプレーンな段落として(「Draft:」ラベルなし、引用符なし、フォーマットなし)。 - 誕生日 — 学習したら、繰り返しのソフトインテント(
When:なし — ハートビートがコンタクトファイルからその日に表示)を追加します。
完了したアイテムは日付付きで ## Completed に移動させます。
ハウスキーピング(actions.md を読むときに自動実行)
ファイルの成長に伴ってコンテキストを簡潔に保つため:
- 完了したアイテム:3日後に削除
- 完了セクション:7日間のローリングウィンドウ — 7日以上前のものは削除
- スタイルなしのソフトキャッチアップ(
When:なし):10日以上放置されており更新がない場合、「(追求されなかった)」として今日の日付とともに完了に移動 - 保留中の紹介:明示的に完了またはキャンセルするまで保持 — 紹介インテントは期限切れになりません
- 過去の
When:付きアイテムでまだチェックされていないもの:そのままにします。ランタイムはすでに実行するか古いものとしてスキップしています。キャッチアップが発生したときにユーザーがチェックします。 - このクリーンアップを読むたびに無言で適用します。通知する必要はありません。
レガシー
より古いPeepsインストールは mind/peeps/actions.md をまだ持っているかもしれません。存在する場合は、逆方向互換性のためハートビート中に読み込みますが、すべての新しいエントリはルート actions.md に書き込みます。
データセット設定 — peepsconfig.yml
peepsconfig.yml は mind/peeps/ ディレクトリ内にあります。このスキルに関連するセッションの開始時に読み込んでください。
owner: jane-smith # 所有者のコンタクトファイルのスラッグ(.md なし)
images: no (デフォルトではno、人物の画像を取得したいかどうかをユーザーに確認、トークン消費が多いことを警告)
owner:このデータセットが誰のものかを識別します。紹介文、経歴、またはユーザーをコンタクトファイルで参照する必要があるコンテキストを構築するときに使用してください。
コアビヘイビア
- ユーザーが人を言及 → コンタクトファイルの存在確認、存在しない場合はウェブ検索、作成/更新を提案
- ユーザーが「[ドメイン/スキル/場所]で誰を知っていますか?」と質問 → ローカルを最初に検索。Haahスキルがインストールされている場合、独自のルールに従って外部にブロードキャストする可能性があります
- ユーザーが誰かについて質問 → 関連するコンテキストとともにファイルからの洞察をサーフェス
- ユーザーが紹介をしたい → 両方のコンタクトファイル + 所有者プロファイルを使用してドラフトを作成
- ユーザーが誰かとつながりたい → LinkedInのURLを印刷して、ユーザーが開けるようにします。自分で開いたりナビゲートしたりしないでください
- 常にファイル名ではなく
Name:を使用して人について説明してください
ユーザーが誰かについて言及した場合
- 「Mariaとコーヒーしました」→ 彼女からの更新があるか聞き、重要なことがあれば更新
- 「Johnの娘はSofiaです」→ 個人的な詳細に追加
- 「Sarahはハイキングが好きです」→ 興味/ノートに追加
- 「Marcoが『アンチフラジャイル』を推奨しました」→ Pagesがインストールされている場合、
mind/pages/want/にRecommended by: [[marco-tabini]]で保存して、彼のPeepsファイルに注記を追加 - 「Priyaと私は両方ともSuccessionが好きです」→ Vibesがインストールされている場合、ビブファイルに
Shared with: [[priya-nair]]を追加して、彼女のPeepsファイルに注記を追加
新しいコンタクトを作成 — 最初に検索してから質問
フォローアップ質問を行う前に、常にその人物についてウェブ検索を実行してください(名前 + 提供されたコンテキスト)。見つけたものを使用してフィールドを事前入力し、フォローアップ質問を一般的なものではなく具体的にしてください。
例:「Peterが見つかりました — デザインストラテジスト、Steelcase Asia Pacific(HK在勤)の元社員、現在はSFにいます。彼とどのようにつながっていますか?」
フォローアップ質問
ウェブを検索して事前に入力できるものを埋めた後、ギャップについて質問してください:
- 本当に得意なことは何ですか? — アキュメン(専門知識)の明確化
- 関係の密接さ — あなたはどのくらい近いですか?
- どのように知っていますか — すでに提供されていない場合
- 興味 — 趣味、スポーツ、ライフスタイル?
mind/pages/peepsconfig.yml で画像が yes に設定されている場合、その人物のヘッドショットを見つけて ../assets/ に追加してください。人物の名前をスラッグとして使用し、Image: フィールドに記載してください。
これらを短くグループ化したフォローアップとして質問してください(1つずつではなく)。元のメッセージで既に回答されたものはスキップしてください。
リクエスト -> Haah
Haahがインストールされている場合:ユーザーがローカルで十分に答えられない質問がある場合、または mind/peeps/ で1つのマッチするファイルのみを見つけた場合は、サークルへのディスパッチを提案します。
他のスキルへの接続
Pages:インストールされている場合、誰かが本を推奨したときに、mind/pages/want/ に Recommended by: [[彼ら-スラッグ]] で保存して、彼らのPeepsファイルに注記します。紹介文を作成するときに、両者が同じ本を読んでいた場合、接続ポイントとしてそれをサーフェスします。
Vibes:インストールされている場合、誰かが文化的興味を共有した場合(番組、アルバム、ポッドキャスト、チャンネル)、ビブファイルに Shared with: [[彼ら-スラッグ]] を追加して、彼らのPeepsファイルに注記します。会話または紹介に関連する場合、共有される興味をサーフェスします。
Digs:インストールされている場合、未解決のdig(深掘り調査)に関連する専門知識を持つ人物をサーフェスします。新しく追加された人物のアキュメンが活動中の調査スレッドと一致する場合、それを言及します。
コンタクト構造
- 1人につき1つのMarkdownファイル、例:
maria-garcia.md
フィールド
Name: フルネーム
Pronouns: 推測します、不明な場合は確認してください
Location: 検索から、またはそうでなければ確認してください
LinkedIn: LinkedInを検索してリンク、https:// で開始
Image: `../assets/photo-slug-通常は人名と同じ` へのリンク
Website: 見つけた個人またはカンパニーウェブサイト、https:// で開始
Orgs: `[[org-slug]]`、`[[org-slug-2]]` — `mind/peeps/orgs/` 内のorgファイルへのリンク;フリーランス/不明な場合は省略
How I know them: 1文
Acumen: スキル、専門知識、その人物が何で知られているか、検索とユーザー入力に基づいて
Relationship: (Close / Warm / Colleague / Acquaintance / Estranged / Family)
Interests: #hiking #coffee #jazz — カンマ区切りのハッシュタグ;趣味、スポーツ、ライフスタイル、見つけたもの
Bio: — 検索とユーザー入力に基づいた簡潔なナラティブ段落
## Notes
1 Mar 2026: ノートの詳細
## Private Notes
1 Mar 2026: プライベートノートの詳細
## Contacts
Mobile:
Email:
Instagram:
Haah:
など
ノート(ガイダンス)
- 各ノートは現在の日付「1 Mar 2026:」で始まります
- Notes を一般的なコンテキストと長期的に記憶するためのものとして使用します
- Private Notes 🔒 をセンシティブ情報(債務、紛争、共有すべきでないこと)に使用します — 常に分離します
- 誕生日、記念日、重要な日付 → Notes
- 家族、子供、センシティブ情報 → Private Notes 🔒
- 人間が読みやすいように保ちます — これはデータ入力ではなく関係についてです
インタラクションのログ
その人物のNoteを長期的に記憶する価値があることで更新します。保持する価値がなければ、書き留めないでください。
例:
- 「4月中旬からFoodpandaでパートタイムになり、AIネイティブデザインシステムに焦点を当てます」→ Notes
- 「Ilyaにはお金の借りがあり、不快なトピックです」→ Private Notes 🔒
- 「コーヒーしました」→ わざわざ記載する必要はありません
プログレッシブエンハンスメント
- コンタクトが自然に出てきたときに作成を開始します
- 時間をかけて充実させます:学習するにつれてアキュメン、興味を追加
- 会話中に詳細をキャプチャします — 「データ入力セッション」を待たないでください
- 会話で言及されている誰かについて質問し、彼らの追加を提案します
Peeps:チェック
すべてのハートビートで、mind/peeps/ 内のランダムなパーソナルファイルをチェックします。DMまたは適切なチャンネルで積極的にサーフェスします:
- 「Alexは最後の時点で仕事探しを言及していました」— 関連するコンテキストの再表面化
- 「Baselと連絡を取ってからしばらくたっています」
- 「John Wingの Acumen: が空です、何で彼は知られていますか?」
言及する価値がない場合は、スキップします。
HEARTBEAT.md またはcronに追加
まだそこにない場合は、ユーザーに Peeps: check を HEARTBEAT.md に追加したいかどうかを確認してください。HEARTBEAT.md がない場合は、起床時間中に30分ごとに実行するcronの作成を提案します(*/30 7-22 * * *)。Peeps: check を実行します。
記憶する価値がある詳細
- 彼らをどのように助けることができるか / 彼らがあなたをどのように助けることができるか
- 最近の人生の出来事:新しい仕事、引っ越し、健康問題
- 好み:ベジタリアン、飲まない、朝型
- 子供/配偶者の名前と年齢
- 避けるべきセンシティブなトピック
アップデート
このスキルを最新バージョンにアップデートするには、GitHubから新しい SKILL.md を取得して、このファイルを置き換えます:
https://raw.githubusercontent.com/haah-ing/peeps-skill/main/SKILL.md
提案しないこと
- 電話コンタクトとの同期 — 目的が異なるため、別々に保つ
- CRMスタイルのパイプライントラッキング — これは個人的であり、営業ではありません
- 自動化された誕生日メッセージ — カレンダーがこの仕事をします
- ソーシャルメディア統合 — プライバシーと複雑性
フォルダ構造
mind/
└── peeps/
├── peepsconfig.yml
├── maria-garcia.md
├── john-smith.md
├── orgs/ # 組織あたり1ファイル
│ ├── google.md
│ └── steelcase.md
└── deceased/ # 亡くなった人のため
すべてのコンタクトファイルは mind/peeps/ に直接存在します。Orgファイルは mind/peeps/orgs/ にあります。亡くなった人を deceased/ に移動させます。
組織
記憶する価値のある組織は mind/peeps/orgs/ にあり、組織あたり1つのMarkdownファイルです。以下の場合にorgファイルを作成します:
- 人物の雇用主またはアフィリエーションが言及されており、ネットワークに関連しているようです
- ユーザーが明示的に会社、コミュニティ、または機関について何かを記載するよう要求
- パーソンファイルを作成していて、彼らのorgがまだキャプチャされていない
ファイル名: org名の小文字、ハイフン付きスラッグ — openai.md、design-council.md。
Orgファイルテンプレート
# Org Name
Type: Company / Studio / NGO / Community / Institute / Fund / Startup / など
Industry: 例 Design、Fintech、Healthcare、AI
Solving for: この組織が何の問題を解決しているか(peepsのためのアキュメンのような、しかしorgのため)
Website: https://
Wikipedia: https://en.wikipedia.org/wiki/ — これを検索してください;記事が存在しない場合は省略
Founded: 既知の場合は年
Size: 概算の従業員数またはステージ(例「~200」、「Series B」、「large enterprise」)
Culture: 雰囲気を捉えた2~4つの形容詞または短いフレーズ — 例「research-heavy, slow-moving, prestigious」または「scrappy, founder-led, remote-first」
People: [[slug-one]]、[[slug-two]] — この組織に関連する `mind/peeps/` 内のすべての人物
## Notes
1 Apr 2026: ノート詳細
Culture はキャプチャするのに最も重要なフィールドです。ユーザーが何を言うか、公開評判、Glassdoorシグナル、またはプレスカバレッジから推測します。不確実な場合は確認してください。正直で有用に — PRブラーブではなく。
新しいOrgを作成 — 最初に検索
フォローアップ質問を行う前に、orgについてウェブを検索してください。できることを事前入力してください。その後、ギャップについて簡潔に質問してください。特に:
- Culture — 確実に推測できなかった場合
- ユーザーがどのように接続しているか — そこで誰を知っていますか?
Wikiリンク — 双方向、常にメンテナンス
[[slug]] リンクは人物と組織を接続します。一貫性を保つ:
Person → Org:パーソンファイルの Orgs: [[org-slug]](複数の場合はカンマ区切り)
Org → Person:orgファイルの People: [[person-slug]]
どちらかを追加または更新するときは、もう一方を更新します。Mariaを google.md のPeople リストに追加する場合は、maria-garcia.md に Orgs: [[google]] があることを確認してください。Mariaのorgを変更する場合は、古いorgファイルのPeopleリストから彼女を削除します。
ユーザーの要求でパーソンファイルからorgファイルを作成する場合は、すぐにそのパーソンをPeopleリストに追加してその Orgs: フィールドを設定してください。
ユーザーが組織について言及した場合
- 「彼女は今Stripeで働いています」→ パーソンの
Orgs:フィールドを更新;彼らをstripe.mdPeopleリストに追加(orgファイルが不足している場合は作成) - 「Steelcaseは素晴らしい文化を持っています」→
steelcase.mdの Culture フィールドを追加または充実 - 「Sequoiaからの誰かと会っています」→ Sequoiaに接続されている
mind/peeps/のすべての人物をサーフェス
検索と取得
高速なファジー検索には grep を使用します。常に関連用語への代替句(\|)を使用して検索を展開してください — 単一のキーワードだけで検索しないでください。
必要なすべてのgrepコールを単一のbashスクリプトにバッチ処理してください — 1つずつ実行しないでください。事前にすべてが必要なもの組み合わせて、一度実行します。
# 例:すべての関連ルックアップを組み合わせた単一スクリプト
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
キーワード拡張の例 — 常にこのように広げてください:
- "website" →
web\|design\|react\|webflow\|frontend\|ux\|figma - "finance" →
finance\|fintech\|banking\|investment\|vc\|fund - "startups" →
startup\|founder\|venture\|seed\|entrepreneur - "marketing" →
marketing\|growth\|brand\|content\|seo\|ads - "AI" →
ai\|machine.learning\|llm\|ml\|data.science\|nlp
ユーザーが「Xで誰を知っていますか」と尋ねたときは、ドメインからマルチタームgrepを構築します。-iH を使用して、実際にファイルに何があるかを確認します。すべてのメンションを取得する必要があります — 弱いマッチでも。
grepした後は、常に答える前にすべての完全なコンタクトファイル(複数の場合)を読んでください。 grepの出力だけに基づいて答えないでください — マッチしたスニペットはシグナルですが、全体像ではありません。誰かをユーザーにサーフェスする前に、関係、アキュメン、およびメモの正確なコンテキストを得るために完全なファイルを読んでください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- haah-ing
- リポジトリ
- haah-ing/peeps-skill
- ライセンス
- MIT
- 最終更新
- 2026/5/7
Source: https://github.com/haah-ing/peeps-skill / ライセンス: MIT