Skill: jrswab/slipbot (version 1.0.0)

--- 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: 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** ```yaml --- 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: 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 ```yaml links: - id: [REDACTED_SECRET] 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** ```json { "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:** 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: - ❌ Don't narrate every step unless debugging ### 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.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)