source-library
// Searchable knowledge base that captures and cross-references everything users share. Auto-triggers when user shares ANY URL (article, tweet, thread, repo, video, paper). Saves structured summaries with key claims, quotes, analysis, tags, and decay tracking. Cross-references sources, maps connections
$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namesource-library
descriptionSearchable knowledge base that captures and cross-references everything users share. Auto-triggers when user shares ANY URL (article, tweet, thread, repo, video, paper). Saves structured summaries with key claims, quotes, analysis, tags, and decay tracking. Cross-references sources, maps connections, detects conflicts, and manages reading queue. Triggers on: shared URLs, "source library", "what have I read", "search sources", "find that article about", "remember when I shared", "conflicts", "connections". Do NOT use for general web browsing, bookmark management, or fetching pages without saving.
allowed-toolsBash(node:*)
compatibilityRequires Node.js 18+. Uses local markdown search for retrieval. No API keys needed. No external dependencies. Works on Linux/macOS.
metadata[object Object]
Source Library
A persistent, searchable knowledge base built from everything the user shares. Not a bookmark manager — a cross-referenced memory system with connection mapping, conflict detection, and confidence decay.
Quick Start
node scripts/source-library.js setup— creates directories- Share any URL in chat — the agent auto-processes and saves it
- Use
node scripts/source-library.js search "query"to find past sources
Auto-Trigger Behavior
When the user shares any URL, without being asked:
- Search first — use local source search to find related existing sources. Surface specific connections.
- Analyze with context — discuss the new source with existing knowledge layered in.
- Save with substance:
node scripts/source-library.js save --name "Title" --url "https://..." --author "Name" --type "article" --tags "topic1, topic2" --claims "Claim 1. Claim 2." --analysis "Why this matters" --context "How it came up" - Every entry must be useful months later without re-reading the original.
Command Reference
All commands via node scripts/source-library.js <command>:
| Command | Description |
|---|---|
setup | Create directories, first-run welcome |
save --name "..." --url "..." [--author --type --tags --summary --claims --analysis --context --slug --related --decay --date --force] | Save a source |
list [--type tweet] [--tag crypto] [--decay] | List sources with optional filters |
search "query" [--limit 10] | Search local source summaries with relevance scoring |
stats | Library statistics (total, by type, by tag, disk usage) |
connections [--clusters|--orphans] | Map relationships between sources |
conflicts | Detect contradictions via sentiment heuristics |
queue add "url" [--note "..."] | Add URL to reading queue |
queue list | Show queued items |
queue next | Show oldest unprocessed item |
queue done "url-or-index" | Remove from queue |
teach "topic" [--limit 20] | Synthesize knowledge from related sources |
import file.json | Bulk import from JSON (full objects or URL array) |
Entry Format
Each source lives at life/source/{slug}/summary.md:
# Title
**Source:** URL
**Author:** Name (@handle)
**Date:** YYYY-MM-DD
**Type:** tweet|thread|article|repo|video|paper
**Tags:** comma-separated
**Decay:** fast|normal|slow
## Key Claims
- Actual arguments, mechanics, data points
- Specific enough to be useful without re-reading original
## Notable Quotes
- Direct quotes worth remembering verbatim
## Analysis
What matters. Connections to other knowledge. Why it's significant.
## Context
Why it was shared. Decisions made based on this.
## Related Sources
- [[other-source-slug]]
Quality Rules
- No vibes. "Interesting macro take" is worthless. Capture specific claims, mechanics, data.
- Capture mechanics, not conclusions. Store the reasoning, not just the takeaway.
- Include quotes. Direct quotes are highest-fidelity knowledge.
- Tag generously. Tags enable future discovery. Include topic, author, domain, entities.
- Record decisions. If a source led to action, capture that in Context.
- Cross-reference. A connected source is knowledge; an isolated source is a bookmark.
Do NOT Use For
- General web browsing or page fetching without saving
- Bookmark management (no "save for later" without substance)
- Summarizing pages the user didn't ask to save
- Anything outside the user's knowledge base