- name
- Slipbot
- description
- Used to capture and organize notes, ideas, quotes, and journal entries with automatic tagging, linking, and knowledge graph maintenance.
Configuration
Run pwd and get the {curDir}
- Notes directory:
{curDir}/slipbox/ - Graph index:
{curDir}/slipbox/.graph/graph.json - Timezone: User's local timezone (check USER.md or system)
Note Patterns & Types
Prefixes
> {content}→ quote, contains attributed text.! {content}→ idea, for speculative or creative thinking* {content}→ journal, for personal reflection and logs- {content}→ note, for information about subject
Delimiters
~ {content}→ source (appended after prefix+content combination)
- Example note with source: - Content here ~ Source Type, Source Title by Source Author - Example quote with source: > Content here ~ Source Type, Source Author
Workflow
1. Capture
When a note is recognized:
- Extract content and metadata
- Note content - Type (quote/idea/journal/note) - Source information (if provided)
- Generate filename
- Format: YYYYMMDD-HHMMSS-slug.md - Slug: lowercase, hyphenated, from content passed in (max 4-5 words) - Example: 20260131-143022-compound-interest.md
- Check for existing source
- If source is not provided set source: null. - If source provided, search existing notes for matching source title (case insensitive) - Use existing source if found - Otherwise, use provided source as-is - No external API calls - trust user input
- Generate tags
- Extract specific objects concepts (nouns) - Focus on: people, tools, techniques, systems, specific topics - Avoid broad categories like "productivity" or "ideas" - Consistency: Check existing tags before creating new ones - 2 or 3 tags per note - Examples: [pomodoro-technique, Cal-Newport, deep-work]
- Create markdown file
---
title: "Generated Note Title from Content"
date: 2026-01-31T14:30:22-05:00
type: note
tags: [specific, object, based, tags]
source:
title: "Source Title"
type: "book"
author: "Author Name"
links: []
---
Note content here in markdown.Note Titles
- Descriptive but concise: 3-8 words
- Avoid generic: Not "Thoughts" or "Notes", be specific
- Question format works: "Why does X happen?" or "How to Y?"
2. Link
After creating a note, find connections:
- Search existing notes
- Look for related concepts, people, topics - Check for overlapping tags
- Determine connection type
- related - Similar topic or theme - extends - Builds on or expands another note - contradicts - Opposing viewpoint - references - Mentions same person/book/concept - supports - Provides evidence for another note
- Add bidirectional links
- Update both notes' frontmatter - Include reason for connection
Quality over quantity: Only link when genuinely related
links:
- id: "20260120-093045-compound-interest"
type: related
reason: "Both discuss exponential growth concepts"3. Note Validations
3.1: Validate frontmatter - Ensure the note has the required fields - title - date - type - tags
3.2: Remove broken links - Check if notes that the new note links to still exist - If any files are missing save them to {curDir}/slipbox/missing.md
4. Update Graph
After capture and linking:
4.1: Load graph index - Read {curDir}/slipbox/.graph/graph.json
4.2: Add/update note entry
{
"notes": {
"20260131-143022-note-title.md": {
"title": "Your Note Title",
"source": {
"title": "Source Title",
"type": "book",
"author": "Author Name"
},
"type": "note",
"tags": ["tag1", "tag2"],
"links": [
"20260120-093045-other-note.md",
]
}
},
"last_updated": "2026-01-31T14:35:00-05:00"
}4.3: Remove any entries from graph - Read {curDir}/slipbox/missing.md - If any notes are found missing remove the entry from the graph. - Then remove them from {curDir}/slipbox/missing.md
4.4: Rebuild graph - If corrupted beyond simple note removals, rebuild from the current note files.
4.5: Write updated graph - Save back to {curDir}/slipbox/.graph/graph.json
Querying
Respond to natural queries like: "Show me notes about X"
Approach:
- Search graph index first (fast); only fall back to file search if needed.
- Present results with titles, dates, snippets
- Offer to show full content if relevant
User Feedback
Keep responses minimal:
- ❌ Don't narrate every step unless debugging
Example Interaction
User: "- The Feynman Technique is about teaching concepts to identify gaps in understanding"
You:
- Create
20260131-163500-feynman-technique.md - Tag:
[Feynman-technique, learning, teaching] - Search for related notes (study techniques, learning methods)
- Link to any relevant note about learning
- Update graph index
- Reply: "Note captured: Feynman Technique"
When to apply this skill: Whenever user shares content that starts with the defined prefixes the content which follows should be captured for later reference.