Build Lean SaaS cube logoBuild Lean SaaS
Back to Skills
xdecisionX APILinearOpenClawCodex Skills

X Bookmark Capture Sync

An installable OpenClaw/Codex-style skill that captures your X bookmarks on a cron job and turns them into raw Linear Triage issues.

Install the skill
Free

The source is public. Install it yourself, or use DevelopJoy when you want help wiring it into Codex, Claude, OpenClaw, Linear, cron, and your repo.

Terminal
mkdir -p ~/.codex/skills/x/bookmark-capture-sync/scripts
curl -fsSL https://buildleansaas.com/api/skills/x/bookmark-capture-sync/files/SKILL.md -o ~/.codex/skills/x/bookmark-capture-sync/SKILL.md
curl -fsSL https://buildleansaas.com/api/skills/x/bookmark-capture-sync/files/scripts/bookmark-capture-sync.mjs -o ~/.codex/skills/x/bookmark-capture-sync/scripts/bookmark-capture-sync.mjs
chmod +x ~/.codex/skills/x/bookmark-capture-sync/scripts/bookmark-capture-sync.mjs
Free skill: source and install command included.
Supported: pair-programming setup help is available through DevelopJoy.
Pair-programming support keeps your agent workspace current
Austin Witherow
4 min read

Installable Source

The website page is the guide. The install command downloads the curated source files from Build Lean SaaS. Maintainers can also copy skills/x/bookmark-capture-sync from the repository root.

This is a small installable skill for turning X bookmarks into Linear inbox work.

The website page is documentation. The useful part is the source folder:

That folder contains the SKILL.md file an agent can read and a bundled Node script that can run from cron.

What it does

  • Authenticates against the X API with OAuth 2.0.
  • Reads your own bookmarks with GET /2/users/:id/bookmarks.
  • Creates one Linear issue per new bookmark.
  • Leaves each issue in Team Triage when Linear Triage is enabled.
  • Stores processed tweet IDs in local JSON so the same bookmark is not sent twice.
  • Stores Linear issue identifiers and URLs for captured bookmarks.
  • Leaves X bookmarks untouched in v1.

Install

Install the curated public source files into your local skills directory.

For OpenClaw-style repositories, keep the same folder shape and point the tool at the installed SKILL.md.

Configure

Create an X API app with OAuth 2.0 enabled. Configure the callback URL you want to use for local authorization.

Set these environment variables:

Optional:

The X OAuth scopes are:

Authorize X

From the copied skill folder:

Open the printed URL, approve access, and copy the returned code and state values from your callback URL.

Then exchange it:

Run the sync

Preview what would happen without creating Linear issues:

For the daily job:

For a warmer daily job that stops once it sees a bookmark already in local state:

To reduce the maximum paid reads on the daily job:

To inspect more than one page:

For the first backlog clear:

If you want a bounded first run:

For a safe backlog preview:

Commands and flags

Options:

  • --pages all|<n> controls how many pages to fetch.
  • --page-size <1-100> controls how many bookmarks to request per page.
  • --dry-run prints planned issues without calling Linear or saving processed state.
  • --stop-after-seen stops paging after the first already-processed bookmark.

State file

The default state file is:

It stores:

  • X OAuth token data.
  • Processed tweet IDs.
  • Captured tweet URLs.
  • Linear issue identifiers and URLs when issues are created.

Dry runs do not mark bookmarks as processed.

Cron

Linear output

The script creates a raw capture issue.

The title is short:

The description includes:

  • Source marker
  • X URL
  • Author
  • Tweet text
  • Tweet ID
  • Posted date when available

The script intentionally does not use an LLM in v1. It gets the bookmark into the inbox first. A person or agent can process the item later.

Follow-up workflow

The next skill should process these raw Linear Triage items with Hermes, Codex, or another agent heartbeat.

That agent can score captures, ask clarifying questions, and turn the strongest bookmarks into documentation, implementation, research, or product-direction tasks.

Cost notes

As of May 9, 2026, the X API pricing docs describe pay-as-you-go credits and Owned Reads pricing. The bookmark endpoint is an owned read for your own account data.

Using the current $0.001 owned-read resource price:

  • 500 returned bookmarks is about $0.50.
  • One daily page of 100 bookmarks is up to about $0.10/day.
  • A daily first-page sync is roughly $3/month at the full 100-bookmark page size.

The script keeps bookmarks on X in v1. Deleting after sync might reduce future reads, but it requires bookmark.write, adds destructive behavior, and should be a separate opt-in version.

References