Notes & PKMDocumentedScanned

twitter-bookmark-sync

Automatically ranks your Twitter bookmarks daily and delivers a curated reading.

Share:

Installation

npx clawhub@latest install twitter-bookmark-sync

View the full skill documentation and source below.

Documentation

twitter-bookmark-sync

Automated Twitter bookmark curation and notification

Never miss important bookmarks. Automatically rank your Twitter bookmarks based on your interests and get a curated reading list delivered daily.


What It Does

  • Learns what matters to you from your bookmarking patterns
  • Adapts ranking weights automatically (interests decay unless reinforced)
  • Categorizes bookmarks by topic and value type
  • Delivers personalized value statements every morning
  • Gets smarter the more you use it

Requirements

  • macOS 10.15 or later
  • Twitter account with bookmarks
  • bird CLI (brew install steipete/tap/bird)
  • Clawdbot (for scheduling and notifications)
  • Twitter auth cookies configured (see Getting Ready)

Getting Ready

Step 1: Install bird CLI

brew install steipete/tap/bird

Step 2: Configure Twitter Authentication

Extract your Twitter cookies from your browser:

  • Open browser → (logged in)

  • DevTools (Cmd+Option+I) → Application → Cookies →

  • Copy these values:

  • - auth_token
    - ct0

  • Save to config:
  • mkdir -p ~/.config/bird
    cat > ~/.config/bird/config.json5 << 'EOF'
    {
      authToken: "your_auth_token_here",
      ct0: "your_ct0_here"
    }
    EOF

  • Test:

  • bird whoami


    Installation

    clawdhub install twitter-bookmark-sync
    cd ~/clawd/skills/twitter-bookmark-sync
    ./install.sh

    The installer will:

  • Detect your timezone automatically

  • Set up daily cron jobs (fetch at midnight, notify at 8am)

  • Create your config file

  • Configuration

    Edit ~/clawd/twitter-bookmark-sync-config.json:

    {
      "fetch_time": "00:00",           // When to learn & rank (24h format)
      "notification_time": "08:00",     // When to send results
      "lookback_hours": 24,             // How far back to check
      "notification_channel": "telegram", // or "gmail", "slack"
      "output_dir": "~/Documents"      // Where to save reading lists
    }

    Ranking criteria (self-evolving):
    ~/clawd/twitter-bookmark-sync-criteria.json

    This file updates automatically based on your bookmarking patterns.
    Do not edit manually — let it learn from your behavior.

    Notification Channels

    Telegram (default):

    {
      "notification_channel": "telegram"
    }

    Gmail (via gog skill):

    {
      "notification_channel": "gmail",
      "gmail_to": "your.email@gmail.com"
    }

    Slack:

    {
      "notification_channel": "slack",
      "slack_channel": "#bookmarks"
    }


    How It Works

    Daily Schedule

    Midnight (00:00) - Learning Phase:

  • Fetches bookmarks from last 24 hours

  • Categorizes each (topic + value type)

  • Updates ranking criteria:

  • - Applies time decay (5% per day) to unused interests
    - Boosts weights for categories you're actively bookmarking
    - Discovers new patterns automatically
    - Normalizes all weights
  • Ranks new bookmarks using evolved criteria

  • Saves to ~/Documents/twitter-reading-YYYY-MM-DD.md
  • Morning (08:00) - Notification:

  • Analyzes WHY each bookmark matters to you

  • Sends value statements (not summaries)

  • Links to full reading list
  • Example notification:

    📚 Twitter Reading List Ready!
    
    **1. @someuser** (Score: 120)
    💡 Career growth pathway • Investment strategy
    🔗 
    
    **2. @another** (Score: 110)  
    💡 Direct crypto insights • London transition
    🔗

    Self-Learning System

    On first install:

    • Initializes from USER.md profile

    • Creates twitter-bookmark-sync-criteria.json

    • 11 value categories with initial weights (0-100)


    Every midnight:
    • Categorizes your new bookmarks

    • Updates category weights based on usage

    • Old interests decay 5% per day

    • Active interests stay strong

    • New patterns emerge automatically


    Example evolution:
    Day 1:  crypto_insights: 100, relationships: 90
    Day 10: crypto_insights: 100 (active), relationships: 60 (decaying)
    Day 30: crypto_insights: 100, AI_tools: 75 (discovered), relationships: 35

    Why this matters:

    • Adapts to your changing interests

    • No manual keyword management

    • Gets better at predicting what you'll value

    • Reflects YOUR actual behavior, not generic defaults



    Manual Usage

    Run immediately:

    cd ~/clawd/skills/twitter-bookmark-sync
    ./scripts/sync.sh

    Change schedule:

    # Edit config
    nano ~/clawd/twitter-bookmark-sync-config.json
    
    # Reload cron jobs
    ./install.sh


    Troubleshooting

    "No bookmarks found"

    • Check bird authentication: bird whoami

    • Verify you have bookmarks: bird bookmarks -n 5


    "Permission denied"
    • Check bird config: ~/.config/bird/config.json5

    • Verify cookies are valid (they expire)


    "Notification not sent"
    • Check Clawdbot is running: clawdbot status

    • Verify notification channel in config

    • Check logs: ~/clawd/logs/twitter-bookmark-sync.log



    MIT