Skip to content

Repository files navigation

Rundown

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

What It Does

  1. Fetches your X/Twitter bookmarks via Smaug + bird CLI
  2. Processes each bookmark — expands links, extracts article content, categorizes by type
  3. Files GitHub repos, articles, and tools into a local markdown knowledge library
  4. 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.

Sample Output

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.

Quick Start

Prerequisites

  • Smaug installed and configured (handles bookmark fetching)
  • Claude Code (powers the AI processing and brief generation)

Setup

# 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-brief

The 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

Twitter Credentials

The setup wizard will prompt for your X/Twitter session cookies. To find them:

  1. Open x.com in your browser and log in
  2. Open Developer Tools (F12 or Cmd+Option+I)
  3. Go to Application > Cookies > https://x.com
  4. Copy the values for auth_token and ct0

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.

Personalizing Your Briefs

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?

Usage

One-Command Pipeline

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 brief

This:

  1. Fetches new bookmarks from X (deduplicates automatically — only new ones)
  2. Processes them into bookmarks.md and the knowledge/ library
  3. Generates a brief covering everything since your last brief

Standalone Brief Generation

Run the brief generator on already-processed bookmarks:

./synthesize.sh

Process Bookmarks Only

If you just want to process without generating a brief:

claude
> /process-bookmarks

How the Knowledge Library Works

Bookmarks 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.

How the Brief Works

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.

Configuration

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

Reviewing with Obsidian

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/ and knowledge/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.

Architecture

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)

Built With

  • Smaug — Bookmark fetching and content extraction
  • bird CLI — Twitter/X API wrapper
  • Claude Code — AI processing and brief generation

License

MIT

About

Turn your X/Twitter bookmarks into personalized intelligence briefs

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages