SlipBot
by @jrswab
Used to capture and organize notes, ideas, quotes, and journal entries with automatic tagging, linking, and knowledge graph maintenance.
clawhub install slipbotπ About This Skill
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}
{curDir}/slipbox/{curDir}/slipbox/.graph/graph.jsonNote 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 subjectDelimiters
~ {content} β source (appended after prefix+content combination)- Content here ~ Source Type, Source Title by Source Author
- Example quote with source: > Content here ~ Source Type, Source AuthorWorkflow
1. Capture
When a note is recognized:
1. Extract content and metadata - Note content - Type (quote/idea/journal/note) - Source information (if provided)
2. Generate filename
- Format: YYYYMMDD-HHMMSS-slug.md
- Slug: lowercase, hyphenated, from content passed in (max 4-5 words)
- Example: 20260131-143022-compound-interest.md
3. 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
4. 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]
5. 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
2. Link
After creating a note, find connections:
1. Search existing notes - Look for related concepts, people, topics - Check for overlapping tags
2. 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
3. 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.md4.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: 1. Search graph index first (fast); only fall back to file search if needed. 2. Present results with titles, dates, snippets 3. Offer to show full content if relevant
User Feedback
Keep responses minimal:
Example Interaction
User: "- The Feynman Technique is about teaching concepts to identify gaps in understanding"
You:
1. Create 20260131-163500-feynman-technique.md
2. Tag: [Feynman-technique, learning, teaching]
3. Search for related notes (study techniques, learning methods)
4. Link to any relevant note about learning
5. Update graph index
6. 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.