bookmarks-management

Manages X/Twitter bookmarks — organize by category with auto-tagging, clear all bookmarks in bulk, and export/scrape bookmarks with full metadata. Supports keyword-based categorization, CSV and JSON export, keep-filters, and folder creation (Premium). Use when users want to export, organize, or clear their X bookmarks.

139 stars

Best use case

bookmarks-management is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Manages X/Twitter bookmarks — organize by category with auto-tagging, clear all bookmarks in bulk, and export/scrape bookmarks with full metadata. Supports keyword-based categorization, CSV and JSON export, keep-filters, and folder creation (Premium). Use when users want to export, organize, or clear their X bookmarks.

Teams using bookmarks-management should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/bookmarks-management/SKILL.md --create-dirs "https://raw.githubusercontent.com/nirholas/XActions/main/skills/bookmarks-management/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/bookmarks-management/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How bookmarks-management Compares

Feature / Agentbookmarks-managementStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Manages X/Twitter bookmarks — organize by category with auto-tagging, clear all bookmarks in bulk, and export/scrape bookmarks with full metadata. Supports keyword-based categorization, CSV and JSON export, keep-filters, and folder creation (Premium). Use when users want to export, organize, or clear their X bookmarks.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Bookmarks Management

Browser console scripts for managing, organizing, exporting, and clearing X/Twitter bookmarks.

## Script Selection

| Goal | File | Navigate to |
|------|------|-------------|
| Export bookmarks (full metadata) | `scripts/scrapeBookmarks.js` | `x.com/i/bookmarks` |
| Organize bookmarks by category | `src/bookmarkOrganizer.js` | `x.com/i/bookmarks` |
| Clear all bookmarks | `src/clearAllBookmarks.js` | `x.com/i/bookmarks` |
| Manage bookmarks (Puppeteer) | `src/bookmarkManager.js` | `x.com/i/bookmarks` |

## Scrape Bookmarks

**File:** `scripts/scrapeBookmarks.js`

Scrolls through your bookmarks and exports all posts with full metadata: text, author, engagement metrics, media URLs, external links, hashtags, and mentions. Exports as JSON, CSV, or both.

### How to Use

1. Navigate to `x.com/i/bookmarks`
2. Open DevTools (F12) → Console
3. Paste the script → Enter
4. Auto-downloads when complete

### Configuration

- `MAX_BOOKMARKS: 2000` — maximum to collect
- `FORMAT: 'both'` — `'json'`, `'csv'`, or `'both'`
- `INCLUDE_MEDIA_URLS: true` — include image/video URLs
- `INCLUDE_LINKS: true` — include external links

### Output

Each bookmark includes: `tweetId`, `handle`, `displayName`, `verified`, `text`, `url`, `time`, `likes`, `retweets`, `replies`, `views`, `images`, `videos`, `links`, `hashtags`, `mentions`.

## Bookmark Organizer

**File:** `src/bookmarkOrganizer.js`

Auto-categorizes bookmarks by keyword matching and exports organized data. Configure categories in `CONFIG.categories` (default: Tech, News, Crypto, Funny, Business). Unmatched bookmarks go to "Uncategorized." Supports JSON and CSV export.

1. Navigate to `x.com/i/bookmarks` → paste in DevTools → Enter
2. Prints category breakdown in console → auto-downloads organized export

## Clear All Bookmarks

**File:** `src/clearAllBookmarks.js`

Removes all bookmarks. Tries the built-in "Clear All" button first, then falls back to removing bookmarks individually by scrolling and clicking.

### How to Use

1. Navigate to `x.com/i/bookmarks` → paste in DevTools → Enter

### Features

- `keepKeywords: []` — protect bookmarks containing specific words
- `dryRun: false` — preview removals without deleting
- `exportOnComplete: true` — auto-download log of removed bookmarks
- Pause/resume/abort via `window.XActions.pause()` / `.resume()` / `.abort()`
- Rate limit detection with automatic cooldown

## Bookmark Manager (Puppeteer)

**File:** `src/bookmarkManager.js`

Node.js/Puppeteer module for programmatic bookmark operations.

### Functions

| Function | Purpose |
|----------|---------|
| `getBookmarks(page, { limit, format })` | Export bookmarks as JSON or CSV |
| `createFolder(page, folderName)` | Create bookmark folder (Premium) |
| `clearAllBookmarks(page)` | Remove all bookmarks |

## DOM Selectors

| Element | Selector |
|---------|----------|
| Bookmark button | `[data-testid="bookmark"]` |
| Remove bookmark | `[data-testid="removeBookmark"]` |
| Tweet in bookmarks | `article[data-testid="tweet"]` |
| Tweet text | `[data-testid="tweetText"]` |
| Create folder | `[data-testid="createBookmarkFolder"]` |
| Clear all | `[data-testid="clearBookmarks"]` |
| Confirm dialog | `[data-testid="confirmationSheetConfirm"]` |

## Rate Limiting & Safety

- 1.5s scroll delay between pagination cycles
- 0.8–2.2s delay between individual removals (gaussian randomized)
- Rate limit detection via `[data-testid="toast"]` with 60s cooldown
- **Clearing is irreversible** — export first with `scripts/scrapeBookmarks.js`

## Troubleshooting

| Problem | Solution |
|---------|----------|
| No bookmarks found | Ensure you're on `x.com/i/bookmarks`, not `/i/lists` |
| Export missing tweets | Increase `MAX_BOOKMARKS` or `maxBookmarks` config |
| Folder creation fails | Bookmark folders require Premium subscription |
| Clear stops midway | Rate limit triggered — script auto-retries after cooldown |

Related Skills

x-pro-management

139
from nirholas/XActions

Navigate to X Pro (TweetDeck), set up monitoring columns, and manage multi-column view. Use when users want to use X Pro / TweetDeck features or set up a multi-column dashboard.

topic-management

139
from nirholas/XActions

Browse, follow, and unfollow X Topics. Manage your followed topics list and discover new ones by keyword. Use when users want to follow or unfollow topics on X, or manage their topic feed.

teams-management

139
from nirholas/XActions

Create and manage teams in XActions — invite members, assign roles, and collaborate on automation tasks. Use when users want to set up multi-user access or team-based account management.

profile-management

139
from nirholas/XActions

Updates X/Twitter profile information including bio, avatar, header image, display name, location, website, and QR code sharing. Use when updating profile fields, optimizing profile for growth, or sharing profile via QR code.

notifications-management

139
from nirholas/XActions

Manages X/Twitter notifications including filtering by type, bulk management, notification scraping, and automated notification handling. Use when users want to manage, filter, scrape, or process X notifications in bulk.

lists-management

139
from nirholas/XActions

Creates, populates, and exports X/Twitter lists from the browser console. Supports creating public or private lists, bulk-adding members by username, and exporting list members as JSON. Use when users want to create lists, add members to lists, or export list data on X.

crm-management

139
from nirholas/XActions

Manage a CRM (Contact Relationship Management) system for your X followers and contacts. Tag, segment, search, and sync follower data. Use when users want to manage relationships with their X audience at scale.

community-management

139
from nirholas/XActions

Manages X/Twitter community memberships. Bulk-leave all communities, join communities by topic, and manage community interactions. Use when leaving all communities, joining niche communities, or managing community presence.

blocking-muting-management

139
from nirholas/XActions

Mass block, unblock, mute, unmute, and manage accounts on X/Twitter. Includes bot detection and blocking, keyword-based muting, muted word management, spam reporting, and follower removal via soft-block. Use when users want to block bots, mass block/unblock accounts, mute by keywords, manage muted words, or remove followers.

billing-management

139
from nirholas/XActions

Manage XActions subscriptions and billing — view plans, start a Stripe checkout, open the billing portal, or cancel a subscription. Use when users want to upgrade, downgrade, or manage their XActions subscription.

xactions-mcp-server

139
from nirholas/XActions

Free MCP server providing 68+ tools for AI agents to automate X/Twitter. Scrapes profiles, followers, tweets. Posts, follows, likes, retweets, downloads videos, analyzes sentiment, monitors brands, manages DMs, runs workflows, and more. Uses local Puppeteer -- no API keys or payments required. Compatible with Claude Desktop, Cursor, Windsurf, VS Code. Use when setting up or using AI agent Twitter automation via MCP.

xactions-cli

139
from nirholas/XActions

Command-line interface for scraping X/Twitter data, managing MCP server config, and running automation. Scrapes profiles, followers, tweets, search results, and more from terminal. Outputs text, JSON, or CSV. Uses Puppeteer stealth. Use when running Twitter operations from command line or automated pipelines.