Agent skill
knowledge-base
Manage your personal knowledge base of curated resources, bookmarks, and excerpts. Triggers include "knowledge base", "kb", "add to knowledge", "add tabs to", "what do I have on", "what do we know about", "find resources about". Use with safari-tabs skill for bulk ingestion from Safari windows. Location is ~/knowledge/.
Install this agent skill to your Project
npx add-skill https://github.com/jacobrask/claude-skills/tree/main/skills/knowledge-base
SKILL.md
Knowledge Base
Topic-based collection of curated links and notes at ~/knowledge/.
Structure
~/knowledge/
├── _index.md # Topic listing
├── _inbox.md # Unprocessed items
├── topics/*.md # Articles, concepts, best practices
├── tools/*.md # Software, libraries (organized by use case)
└── archive/YYYY-MM/ # Full article content (link rot protection)
Entry Formats
Topics (articles/concepts):
**[Title](url)** — Author
1-2 paragraph summary focusing on core insights. Be extremely concise, disregard grammar.
Tools (software/libraries):
### [tool-name](url)
**Platform:** macOS / JavaScript / Web Service
**Install:** Installation method
**Use case:** Problem it solves
Brief summary of why it's useful and when to use it.
**Alternatives:** other-tool (tradeoff)
Workflow: Adding from Safari
- Get tabs:
get_tabs.sh markdownorget_tabs.sh -w N markdown - Process in batches of 8-10 to avoid context overflow
- For each batch:
- Fetch content from URLs
- Read existing topic files
- Route to appropriate topic based on content
- Archive substantial/unique articles to
archive/YYYY-MM/ - Items not fitting existing topics →
_inbox.md
- Update
_index.mdwhen done
Routing
Articles/concepts → topics/:
- Match by content, not just title
- Prefer more specific topics
- If unsure, add to
_inbox.mdwith suggested topic - If topic >500 lines or >30 entries, ask user to split
Software/tools → tools/ by use case:
- Libraries, CLI tools, apps, web services all go here
- Articles about tools →
topics/ - Create new use-case files as needed
Quality Control
When bulk adding, pause and ask if you encounter:
- Out of place or low-quality content
- GitHub repos/gists (ask for routing confirmation)
- Failed fetches (summarize at end, ask if should add URL-only)
Archiving
Archive to archive/YYYY-MM/ when:
- Substantial content (>500 words)
- Likely to disappear (personal blogs)
- Unique insights
Skip: GitHub repos, YouTube, frequently-updated docs, news
File Format Reference
Topic files: YAML frontmatter with tags, updated, then sections with entries
Tools files: Same frontmatter, then ### [tool](url) entries with metadata
Update _index.md with new topics/tools after adding resources.
Finding Resources
Check tools/ before web search when user needs software/library.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
calendar
Interact with Apple Calendar via AppleScript. Use when the user asks to check calendar, view events, create events, manage schedule, find free time, or list calendars. Triggers include "my calendar", "my schedule", "calendar events", "create event", "add to calendar", "what's on my calendar", "free time", "available slots", "upcoming events", "today's events". Requires macOS with Calendar.app.
jmap-email
Enables JMAP email operations using Node.js and jmap-jam library. Use when working with JMAP email servers, FastMail, Cyrus IMAP, Stalwart Mail Server, or when user mentions email search, reading, sending, or mailbox management.
safari-tabs
Interact with Safari browser tabs, reading list, bookmarks, and history via AppleScript. Use when the user asks to analyze, organize, summarize, deduplicate, close, export, or manage their Safari tabs. Also handles reading list, bookmarks, and history searches. Triggers include "my tabs", "open tabs", "Safari tabs", "clean up my browser", "what tabs do I have open", "organize my tabs", "too many tabs", "reading list", "bookmarks", "browser history", "export tabs". Requires macOS with Safari.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
setup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
Didn't find tool you were looking for?