Turn your X/Twitter bookmarks into personalized intelligence briefs.
Rundown is a pipeline that fetches your bookmarks, processes them with AI into a structured knowledge library, and generates opinionated briefs that tell you what matters, what connects, and what to do next — tailored to your role and interests.
300 bookmarks/week → 1 brief that matters
- Fetches your X/Twitter bookmarks via Smaug + bird CLI
- Processes each bookmark — expands links, extracts article content, categorizes by type
- Files GitHub repos, articles, and tools into a local markdown knowledge library
- Generates an intelligence brief personalized to your role, connecting dots across bookmarks
The brief isn't a summary. It's analysis: what happened, why it matters to you specifically, what patterns are forming, and concrete next steps.
Input: 20 bookmarks about AI tools, trading systems, developer productivity, and SEO
Output: examples/sample-brief.md
## Key Developments
**The autonomous experiment loop is now a one-command install.**
Karpathy packaged autoresearch into a minimal, single-GPU repo.
The pattern is portable to any domain where you can define success
numerically and iterate programmatically...
## Action Items
- Run autoresearch on a non-ML problem this week. Pick something
with a clear metric and write a strategy doc.
- Index your knowledge/ folder with qmd. Test whether semantic
search surfaces connections you missed.- Smaug installed and configured (handles bookmark fetching)
- Claude Code (powers the AI processing and brief generation)
# 1. Clone this repo into your smaug directory
git clone https://github.com/mcostigliola321/rundown
cp rundown/.claude/commands/* your-smaug-dir/.claude/commands/
cp rundown/synthesize.sh your-smaug-dir/
cp rundown/setup.sh your-smaug-dir/
# 2. Run the setup wizard
cd your-smaug-dir
./setup.sh
# 3. Run the pipeline
claude
> /bookmark-briefThe setup wizard walks you through:
- Twitter credentials with live validation via bird CLI
- Your role and interests to personalize every brief
- Brief style (actionable, strategic, tools-first, or balanced)
- Timezone auto-detected with override option
The setup wizard will prompt for your X/Twitter session cookies. To find them:
- Open x.com in your browser and log in
- Open Developer Tools (F12 or Cmd+Option+I)
- Go to Application > Cookies >
https://x.com - Copy the values for
auth_tokenandct0
Note: These are session cookies, not API keys. They expire periodically (usually every few weeks) and you'll need to grab fresh ones from your browser when that happens. A 403 error from bird CLI means it's time to refresh.
The briefPersona in your config drives everything. It determines what the AI considers important, what connections it draws, and what actions it suggests. The setup wizard prompts for this, or you can edit smaug.config.json directly:
{
"briefPersona": "a startup CTO focused on developer tools, infrastructure, and open source. Building a platform that helps teams ship faster."
}The brief generator uses this to decide: is this bookmark noise or signal for this specific person?
From Claude Code, run the full pipeline with a single slash command:
/bookmark-brief # Fetch new, process all, generate brief
/bookmark-brief 20 # Fetch new, process 20, generate briefThis:
- Fetches new bookmarks from X (deduplicates automatically — only new ones)
- Processes them into
bookmarks.mdand theknowledge/library - Generates a brief covering everything since your last brief
Run the brief generator on already-processed bookmarks:
./synthesize.shIf you just want to process without generating a brief:
claude
> /process-bookmarksBookmarks are categorized and filed automatically:
| Type | Destination | What Gets Filed |
|---|---|---|
| GitHub repos | knowledge/tools/ |
Repo description, key features, links |
| Articles | knowledge/articles/ |
Title, author, key takeaways, links |
| YouTube | knowledge/videos/ |
Flagged for transcription |
| Podcasts | knowledge/podcasts/ |
Flagged for transcription |
| Plain tweets | bookmarks.md only |
Tweet text with context |
Custom categories are configurable in smaug.config.json.
The brief isn't ChatGPT-style summarization. It's structured intelligence analysis:
- Key Developments — The 2-4 most significant things. What happened and why it matters for you.
- Patterns & Connections — Threads across multiple bookmarks. Trends forming. Dots connected that you wouldn't connect on your own.
- Action Items — Concrete: "Test X with Y", not "Consider exploring X."
- Tools & Resources — One line each, plain English.
- Skip List — What's noise, overhyped, or redundant. Called out directly.
See smaug.config.example.json for all options. Key settings:
| Option | Description |
|---|---|
briefPersona |
Who you are and what you care about — drives the entire brief |
categories |
How bookmark types are categorized and filed |
parallelThreshold |
Min bookmarks before parallel processing (default: 8) |
claudeModel |
Model for processing (sonnet, haiku, opus) |
timezone |
For date formatting in the archive |
Everything Rundown produces is plain markdown, which makes Obsidian an ideal companion for browsing your output. Point an Obsidian vault at your smaug directory and you get:
- Linked knowledge library —
knowledge/tools/andknowledge/articles/become interconnected notes. Obsidian's backlinks and graph view show how tools and articles relate across bookmarks. - Brief history —
briefs/becomes a timeline of intelligence briefs you can search, tag, and annotate. - Full-text search across everything — bookmarks, filed articles, and briefs are all searchable in one place.
- Daily notes integration — Pair briefs with Obsidian's daily notes to track what you acted on.
Pair with qmd for semantic search over your knowledge library directly from the terminal or Claude Code.
X/Twitter Bookmarks
│
▼
bird CLI (fetch)
│
▼
Smaug (expand links, extract content, prepare JSON)
│
▼
Claude Code /process-bookmarks (categorize, file, archive)
│
▼
Claude Code /bookmark-brief (synthesize intelligence brief)
│
├──→ bookmarks.md (chronological archive)
├──→ knowledge/ (filed articles, tools, research)
└──→ briefs/ (intelligence briefs)
- Smaug — Bookmark fetching and content extraction
- bird CLI — Twitter/X API wrapper
- Claude Code — AI processing and brief generation
MIT