twitter-bookmark-sync
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 → https://x.com (logged in)
-
DevTools (Cmd+Option+I) → Application → Cookies → https://x.com
-
Copy these values:
auth_tokenct0
-
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
🔗 https://x.com/...
**2. @another** (Score: 110)
💡 Direct crypto insights • London transition
🔗 https://x.com/...
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
License
MIT