CLAUDE.md — bot_vault
Project-level instructions for the bot_vault knowledge repository. These stack on top of ~/.claude/CLAUDE.md.
What This Repo Is
A personal knowledge vault combining Obsidian notes, web clippings, research documents, and arXiv paper digests. Automated via Claude Code skills and a Discord bot interface.
Primary research areas: robotics (cs.RO), VLA models, Learning from Demonstration, HRI, ML for robotics (cs.LG, cs.CV). Claude Code ecosystem is a secondary interest.
Vault Structure
Before any file operation, read .claude/vault-codemap.md. It contains the complete directory layout, frontmatter schemas, tag taxonomy, and naming conventions. Do not explore the filesystem to discover structure — read the codemap instead.
Skills Reference
| Skill | When to use |
|---|---|
/save-note | After a conversation that produced non-obvious insights worth keeping |
/clip <url> | Saving a single web article into Clippings with AI analysis |
/sync-linkding | Bulk import from Linkding bookmark queue |
/analyze-vault | Run AI analysis on unprocessed Clippings |
/research-vault <topic> | Deep research: web search + clip + synthesize into research/ |
/qa-vault <question> | Answer a question by synthesizing existing vault content |
/arxiv-digest | Fetch weekly arXiv papers (runs on schedule, also manually triggerable) |
Git Commit Format
Follow this prefix convention for vault operations:
feat: save-note — <title>
feat: clip — <article title>
feat: arxiv-digest YYYY-WW — N new papers
fix: arxiv-digest YYYY-WW — <what was fixed>
feat: research-vault — <topic>
chore: analyze-vault — N articles processed
Context Management
When compacting, always preserve:
- The full list of files modified in the current operation
- The count and names of remaining unprocessed items (e.g., Clippings not yet analyzed, arXiv papers not yet fetched)
- Any error or skip reasons encountered so far
- The current skill or task being executed and what step it was on
Batch File Operations
After any batch operation (bulk note updates, frontmatter changes, article analyses, arxiv regeneration), always run git add -A && git status and review before committing. Never auto-push batch changes without showing the diff summary first.
Index and Map Scope
Before updating any index, map, or cross-reference file (interest-map.md, log.md, tag indexes, topic canvases), list the candidate items you plan to include and confirm scope with the user. Default to the smallest reasonable subset — never auto-expand to all matching items.
Discord Notifications
Vault Discord channel: 1400339590535184439
After completing any skill that produces output (arxiv-digest, research-vault, save-note), send a brief Discord reply to this channel using the reply tool with chat_id: "1400339590535184439".
Discord Formatting Rules
Discord does not render markdown tables. Never use |---| table syntax in Discord replies. Use alternatives instead:
- Bullet lists with bold labels:
**欄位名**:內容 - Numbered lists for sequential items
- Code blocks for structured data
- Plain prose for comparisons