x-bookmarks-digest
Automatically review X/Twitter bookmarks for useful tools, projects, repos, products, and ideas. Fetches via xurl, analyses for value, and outputs an actionable digest with proposed next steps — including clawhub installs or new skill scaffolding.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/bearly-hodling/x-bookmarks-digestX Bookmarks Digest
Fetch, analyse, and digest your X/Twitter bookmarks into actionable insights.
When to Use
Activate this skill when the user says anything like:
- "digest x bookmarks"
- "check my bookmarks"
- "review my x bookmarks"
- "what's interesting in my bookmarks?"
- "bookmark digest"
- "any good stuff in my twitter bookmarks?"
Prerequisites Check
Before running the workflow, verify xurl authentication:
xurl whoami
If 401/Unauthorized: Tell the user to set up xurl authentication:
xurl auth apps add <app-name> --client-id <id> --client-secret <secret>
Then run xurl auth default <app-name> to set it as default.
Do NOT proceed until auth works. Stop and report the issue.
Workflow — Step by Step
Step 1: Check Rate Limit
Read the state file to check when the last run was:
cat {baseDir}/state.json 2>/dev/null || echo '{"last_bookmark_id": null, "last_run_ts": null, "processed_count": 0}'
If last_run_ts is less than 1 hour ago, warn the user:
"Last digest was run at {time}. Free tier allows max 1 run/hour. Use --force to override."
Only proceed if:
- No previous run exists, OR
- More than 1 hour has elapsed, OR
- User explicitly says to force/override
Step 2: Fetch Bookmarks
Run the fetch script to get new bookmarks:
python3 {baseDir}/scripts/fetch_bookmarks.py --count 50
Options:
--count N— number of bookmarks to fetch (default 50, max 100)--force— skip rate limit check--all— fetch all (ignore last-checked ID, reprocess everything)
Output: JSON array of bookmark objects to stdout.
Side effect: Updates {baseDir}/state.json with new watermark.
If the output is empty or [], report: "No new bookmarks since last check."
Step 3: Analyse Bookmarks
Pipe the fetched bookmarks through the analyser:
python3 {baseDir}/scripts/fetch_bookmarks.py --count 50 | python3 {baseDir}/scripts/analyse_bookmarks.py
Or if you saved fetch output to a variable, pass it via file:
python3 {baseDir}/scripts/analyse_bookmarks.py --file /tmp/bookmarks.json
Output: Structured JSON with categories and relevance scores:
{
"summary": {"total": 50, "new": 12, "high": 4, "medium": 5, "low": 3},
"bookmarks": [
{
"id": "123",
"text": "...",
"author": "@user",
"category": "tool",
"relevance": 5,
"urls": ["https://github.com/..."],
"github_repos": ["user/repo"],
"keywords": ["python", "cli"]
}
]
}
Step 4: Generate Digest
Using the structured analysis output, write a digest following this format:
# X Bookmarks Digest — {date}
## Summary
- {total} bookmarks checked, {new} new since last run
- {high} high-value, {medium} medium, {low} low
## High Value (relevance 4-5)
### [{category}] {title or key topic}
@{author}: "{first 100 chars of text}..."
- URL: {extracted url}
- Why: {1-line explanation of value}
- Action: {specific next step}
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-bearly-hodling-x-bookmarks-digest": {
"enabled": true,
"auto_update": true
}
}
}