Help us improve
Share bugs, ideas, or general feedback.
Use when Kenneth mentions bookmarks, research queue, bookmark reports, triage, deep dives, or the bookmark pipeline. Trigger phrases include "bookmark sync", "check bookmarks", "review bookmarks", "triage bookmarks", "deep dive", "run bookmark pipeline", "what's pending", "latest reports", "set up bookmarks". Also triggers on references to specific bookmark report files or the bookmarks/ directory.
npx claudepluginhub k3nnethfrancis/bookmark-research-engineHow this skill is triggered — by the user, by Claude, or both
Slash command
/bookmark-research-engine:bookmark-syncThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Research pipeline that turns X bookmarks into ranked, analyzed research briefs. Supports both automated (daily launchd) and interactive (in-session) workflows.
Manages bookmark research pipeline: fetches X bookmarks via bre CLI, triages by research interests, spawns parallel deep-dive agents, generates reports. For sync, triage, or review workflows.
Operates research-hub workflows for literature discovery, source ingest into Zotero/Obsidian/NotebookLM, dashboard inspection, and vault maintenance. Use when finding papers, organizing sources, building a knowledge base, or generating research briefs.
Conducts deep research on topics or indexes local files/URLs into a git-versioned knowledge base using web search, fetch, and structured templates.
Share bugs, ideas, or general feedback.
Research pipeline that turns X bookmarks into ranked, analyzed research briefs. Supports both automated (daily launchd) and interactive (in-session) workflows.
Powered by the Bookmark Research Engine (bre CLI) — a self-contained Python package that fetches and enriches bookmarks without external CLI dependencies.
Check pipeline health and pending work. Use this first when Kenneth mentions bookmarks.
Run the status script:
bash {SKILL_DIR}/scripts/status.sh
Then report: last sync date, any errors, pending count, latest triage/report dates.
Pull new bookmarks from X into the pending queue. Runs automatically at 5pm daily, but can be triggered manually.
bre fetch -n 50
Or with a specific folder:
bre fetch -n 50 --folder research
Then check what came in and summarize — authors, topics, link count.
Rank pending bookmarks against Kenneth's research interests. Two sub-modes:
Interactive triage (preferred when Kenneth is present):
bash {SKILL_DIR}/scripts/list-pending.sh
shoshin-codex/bookmarks/triage/YYYY-MM-DD-approved.mdAutomated triage (for unattended runs):
Follow the full triage prompt at automations/bookmark-sync/TRIAGE_PROMPT.md. Read the guidance doc at shoshin-codex/bookmarks/bookmark-review-guidance.md for category definitions and tier heuristics.
Ranking heuristics (from guidance doc):
Spawn parallel research agents for approved bookmarks. This is the core value — turning bookmarks into analyzed research briefs.
shoshin-codex/bookmarks/triage/shoshin-codex/bookmarks/bookmark-review-guidance.mdshoshin-codex/bookmarks/reports/ — skip duplicatesshoshin-codex/bookmarks/reports/{slug}.mdAgent prompt template — see references/deepdive-agent-prompt.md for the full template. Key: include pre-fetched content from the pending JSON to save agents a fetch, and paste only the matched category descriptions from the guidance doc (not all 7).
arxiv MCP tools — available as mcp__arxiv__search_papers, mcp__arxiv__download_paper, mcp__arxiv__read_paper:
download_paper (by arxiv ID) then read_paper to get the full markdown content — much better than WebFetch on arxiv HTMLsearch_papers with query + category filters to find it~/.arxiv-mcp-server/papers/ — subsequent reads are instantmcp__arxiv-latex__ tools for raw LaTeX source when neededReport format — see references/report-format.md for the full template.
Parallelism: Up to 7 agents concurrently. Use run_in_background=true on all Agent calls.
processed: true)Discuss completed reports and connect findings to active projects.
shoshin-codex/bookmarks/reports/Guide through initial setup of the bookmark research engine.
bre setup
This interactively prompts for X cookies, tests authentication, and writes the config file. See references/setup-guide.md for the full walkthrough.
All vault paths are configurable in bre.yaml under vault_root + vault.*. Defaults shown.
| What | Where | Config key |
|---|---|---|
| BRE CLI | bre (installed via uv pip install -e .) | — |
| BRE config | ~/.config/bre/config.yaml | — |
| Pipeline scripts | automations/bookmark-sync/ | — |
| Pending bookmarks | projects/reference/smaug/.state/pending-bookmarks.json | pending_file |
| Vault root | shoshin-codex/ | vault_root |
| Inbox | shoshin-codex/bookmarks/inbox.md | vault.inbox |
| Research guidance | shoshin-codex/bookmarks/bookmark-review-guidance.md | vault.guidance |
| Triage reports | shoshin-codex/bookmarks/triage/ | vault.triage_dir |
| Triage log | shoshin-codex/bookmarks/triage-log.md | vault.triage_log |
| Deep dive reports | shoshin-codex/bookmarks/reports/ | vault.reports_dir |
| Engagement log | shoshin-codex/bookmarks/engagement-log.md | vault.engagement_log |
| Feedback reports | shoshin-codex/bookmarks/feedback/ | vault.feedback_dir |
| Sync log | automations/bookmark-sync/sync.log |
garden/ unless Kenneth explicitly says todate command for timestamps — never guess- **read**: \reports/{filename}.md` — {context}`auth_token and ct0 rotate periodically. If fetch returns 0 new bookmarks unexpectedly, re-extract cookies from browser DevTools. Run bre setup to update them.bre fetch returns 404 errors, run bre refresh-ids to discover current IDs from X's JS bundles.projects/reference/smaug/.state/pending-bookmarks.json. The reference/ prefix matters.processed: true on its own line to be skipped by subsequent runs. Append it, don't rewrite the file.triage-log.md has an old last_processed date, triage will try to process a large backlog. Check it before running triage on accumulated bookmarks.arxiv, arxiv-latex) are configured in the plugin's .mcp.json but may not be connected in every session. If mcp__arxiv__ tools aren't available, fall back to WebFetch on arxiv abstract pages. The MCP gives full paper text; WebFetch only gets the abstract page HTML.bookmark-sync/
├── SKILL.md # This file
├── scripts/
│ ├── status.sh # Quick pipeline health check
│ └── list-pending.sh # Parse and display pending items
├── references/
│ ├── report-format.md # Deep dive report template
│ ├── deepdive-agent-prompt.md # Agent prompt template
│ ├── pending-json-schema.md # Pending JSON structure
│ └── setup-guide.md # First-time setup walkthrough
└── examples/
└── approval-file.md # Example triage approval