Install
openclaw skills install source-librarySearchable 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.
openclaw skills install source-libraryA 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.
node scripts/source-library.js setup — creates directoriesnode scripts/source-library.js search "query" to find past sourcesWhen the user shares any URL, without being asked:
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"
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) |
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]]