ソース情報
- リポジトリ
- tomevault-io/tomes
- ソースの最終更新活動
- 2026年7月23日 21:48
- 検出された SKILL.md の言語
- 英語
- スター
- 1
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/tomevault-io/tomes --skill cold-startコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
> Use when this capability is needed.
Use when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.
Use when writing a Rust test that exercises a failure path or a MASM test that expects a `panic` / `assert` — assert on the specific expected error variant or error code.
SOC 職業分類に基づく
SKILL.md を表示中
| name | cold-start |
| description | | Use when this capability is needed. |
You have a working brain. Search works. Now what?
An empty brain is a static database. A brain with your email history, calendar, contacts, conversations, and social media is a live context membrane that makes every future interaction smarter. This skill sequences the highest-leverage data sources to get you from zero to useful in one session.
~/.gbrain/cold-start-state.json so interrupted sessions
can resume.gbrain doctor --json all green)gbrain CLI commandsData sources ranked by information density × ease of import:
| Priority | Source | Why | Time | Pages Created |
|---|---|---|---|---|
| 1 | Existing markdown/Obsidian | Highest density — it's already structured | 5 min | 100s-1000s |
| 2 | Google Contacts | Seeds the people/ directory — names, emails, companies | 10 min | 50-500 |
| 3 | Google Calendar (90 days) | Meeting history with attendee context | 15 min | 30-90 |
| 4 | Gmail (recent threads) | Relationship context, active threads, org chart signals | 20 min | 50-200 |
| 5 | Conversations (ChatGPT/Claude exports) | Your thinking, questions, mental models | 15 min | 10-100 |
| 6 | X/Twitter archive | Your public positions, takes, engagement patterns | 20 min | 30-365 |
| 7 | File archives (Dropbox/Drive/local) | Historical documents, old writing, photos | 30+ min | varies |
| 8 | Meeting transcripts (Circleback/etc.) | Deep relationship context from recorded calls | 20 min | 10-50 |
Safety boundary: An AI agent with raw OAuth tokens to your Gmail, Calendar, and Contacts is an uncontrolled attack surface. One prompt injection, one malicious tool call, and your entire Google account is exposed. ClawVisor eliminates this risk class entirely.
ClawVisor is a credential gateway that sits between the agent and your APIs. The agent never sees your credentials — ClawVisor injects them at request time, enforces policies, and logs everything.
What ClawVisor gives you:
Setup (15 min):
gbrain config set clawvisor_url "https://app.clawvisor.com"
gbrain config set clawvisor_agent_token "<token>"
"Full brain bootstrapping: read emails, calendar events, and contacts to populate knowledge base. List, read, and search across all connected accounts."
gbrain config set clawvisor_task_id "<task_id>"
Critical scoping rule: Be expansive in task purposes. "Email triage" gets rejected by intent verification. "Full executive assistant email management including inbox triage, searching by any criteria, reading emails, tracking threads" works. The intent model uses the purpose to judge each request.
Do NOT fall back to direct OAuth. Instead, skip Phases 2-4 (Contacts, Calendar, Gmail) and proceed with offline-only imports:
Tell the user:
"No problem. We'll skip the Google imports for now and work with file-based sources. You can set up ClawVisor anytime to unlock Contacts, Calendar, and Gmail imports safely."
Do NOT offer direct OAuth as an alternative. An agent holding raw Google tokens is a security liability. The skill should not teach agents to store credentials they shouldn't have.
The highest-leverage first import. If the user already has a notes system, this is hundreds or thousands of structured pages ready to go.
echo "=== Markdown Repository Discovery ==="
for dir in /data/* ~/git/* ~/Documents/* ~/notes/* ~/obsidian/* 2>/dev/null; do
if [ -d "$dir" ]; then
md_count=$(find "$dir" -name "*.md" -not -path "*/node_modules/*" \
-not -path "*/.git/*" -not -path "*/.obsidian/*" 2>/dev/null | wc -l | tr -d ' ')
if [ "$md_count" -gt 5 ]; then
total_size=$(du -sh "$dir" 2>/dev/null | cut -f1)
echo " $dir ($total_size, $md_count .md files)"
fi
fi
done
# For Obsidian vaults, use the migrate skill for proper wikilink handling
gbrain migrate --from obsidian --path /path/to/vault
# For plain markdown directories
gbrain import /path/to/dir --no-embed --workers 4
# Verify
gbrain stats
gbrain search "<topic from the imported data>"
gbrain extract links --source dbgbrain extract timeline --source dbgbrain embed --stale (runs in background)Track progress:
echo '{"phase_1_complete": true, "pages_imported": N}' > ~/.gbrain/cold-start-state.json
Seeds the people/ directory. Every person in your contacts becomes a brain page with name, email, phone, company, and notes. This is the foundation that all other imports build on — when Gmail references "john@acme.com", the brain already knows who John is.
// Fetch all contacts
const contacts = await clawvisor('google.contacts', 'list_contacts', {
limit: 1000,
fields: 'names,emailAddresses,phoneNumbers,organizations,biographies'
});
curl -s -H "Authorization: Bearer $GOOGLE_TOKEN" \
"https://people.googleapis.com/v1/people/me/connections?personFields=names,emailAddresses,phoneNumbers,organizations,biographies&pageSize=1000"
For each contact:
gbrain search "name" to avoid duplicates[Source: Google Contacts, YYYY-MM-DD]After importing 5 contacts, pause and show the user a sample page. Ask:
"Here's what a contact page looks like. Want me to continue with the rest, or adjust the format first?"
Meeting history with attendee context. Calendar events reveal who the user meets with, how often, and in what context. Combined with contacts, this builds a rich relationship map.
// Via ClawVisor — query ALL calendar accounts
const accounts = ['primary@gmail.com', 'work@company.com'];
for (const account of accounts) {
const events = await clawvisor(`google.calendar:${account}`, 'list_events', {
timeMin: new Date(Date.now() - 90 * 86400000).toISOString(),
timeMax: new Date().toISOString(),
singleEvents: true,
orderBy: 'startTime'
});
}
Follow the three-tier calendar architecture:
brain/daily/calendar/
├── calendar-log.md ← compiled truth (patterns, key people)
├── YYYY/
│ ├── YYYY-MM.md ← monthly summary
│ └── YYYY-MM-DD.md ← daily event log
For each event with attendees:
Relationship context and active threads. Email reveals organizational relationships, ongoing conversations, and communication patterns.
Don't import every email. Import the signal:
For each email thread:
Auto-skip (never import):
Always import:
Your thinking, captured. AI conversation exports reveal what the user was researching, building, and thinking about. This is original thinking preserved in dialog form.
conversations.jsonFor each conversation:
Only import conversations rated 3+. The brain is for signal, not noise.
Your public positions and engagement patterns. Twitter reveals what the user thinks, who they engage with, and what ideas they're developing publicly.
brain/media/x/{handle}/
├── x-log.md ← compiled truth (themes, voice, key threads)
├── daily/YYYY-MM-DD.md ← daily tweet log
├── monthly/YYYY-MM.md ← monthly rollup
└── bookmarks/ ← saved/bookmarked content
Historical documents, old writing, photos with metadata. This is the long tail — less structured but potentially very high value (old journals, letters, early writing).
Delegate to the archive-crawler skill. It handles:
Safety gate: Archive crawling can be slow and create many pages. Always start with a scan-only pass:
gbrain archive-crawler --scan-only --path /path/to/archiveShow the user the manifest before proceeding with full ingestion.
Supported sources:
Deep relationship context from recorded calls. If the user has a meeting recording service (Circleback, Otter, Fireflies, Read.ai), import recent transcripts.
Delegate to meeting-ingestion skill. Key rules:
After completing available phases:
Verify brain health:
gbrain doctor --json
gbrain stats
Test retrieval:
gbrain query "who do I meet with most often?"
gbrain query "what am I working on?"
gbrain search "<person from contacts>"
Set up live sync (if not already):
gbrain sync --repo <path> every 5-30 minutesTrack state:
// ~/.gbrain/cold-start-state.json
{
"started": "2026-01-15T10:00:00Z",
"credential_gateway": "clawvisor",
"phases_completed": [1, 2, 3, 4],
"phases_skipped": [6, 7],
"total_pages_created": 847,
"total_entities_linked": 1203,
If the session is interrupted:
~/.gbrain/cold-start-state.jsonnext_phaseAfter each phase:
PHASE N COMPLETE: [source name]
================================
Pages created: N
Pages updated: N
Entities linked: N
Time elapsed: N min
Sample pages:
- people/jane-smith.md (created — 3 emails, 5 meetings)
- companies/acme-corp.md (updated — 2 new employees linked)
Next: Phase N+1 — [description]. Ready to proceed?
search — check for existing pages before creatingquery — hybrid search for entity deduplicationget_page — read existing pages for merge decisionsput_page — create and update brain pagesadd_link — cross-reference entitiesadd_timeline_entry — record events on entity timelinessync_brain — sync changes to the index after each phaseSource: beyonai/ByClaw — distributed by TomeVault.
Tell the user what to do next:
"Your brain has N pages across people, calendar, email, and conversations. Live sync is configured for [sources]. From here:
- The signal-detector captures entities from every conversation
- The briefing skill can compile daily context
- The executive-assistant pattern handles email triage
- Say 'enrich [person]' to deep-dive any contact"