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
- Example note with source:
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
- Format:
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
- If source is not provided set
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.