mcpbeat

Twitter Reader

himself65/twitter-reader

> Read Twitter/X for financial research using opencli (read-only). Use this skill whenever the user wants to read their Twitter feed, search for financial tweets, view bookmarks, look up user profiles, or gather market sentiment from Twitter/X. "who follows", "look up @user", "what's trending about", "market sentiment on Twitter", "what are people saying about AAPL", "recent tweets from @elonmusk", "show me @user's posts", "fintwit", any mention of Twitter/X in context of reading financial news or market research. This skill is READ-ONLY — it does NOT support posting, liking, retweeting, or any write operations.

6k tokens
context cost
the whole folder, loaded on every use
4
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3109
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/himself65/finance-skills --skill twitter-reader

The instruction itself

14 sections, as written by the author

Twitter Skill (Read-Only)

Reads Twitter/X for financial research using opencli, a universal CLI tool that bridges web services to the terminal via browser session reuse.

This skill is read-only. It is designed for financial research: searching market discussions, reading analyst tweets, tracking sentiment, and monitoring financial news on Twitter/X. It does NOT support posting, liking, retweeting, replying, or any write operations.

Important: opencli reuses your existing Chrome login session — no API keys or cookie extraction needed. Just be logged into x.com in Chrome and have the Browser Bridge extension installed.


Step 1: Ensure opencli Is Installed and Ready

Current environment status:

!`(command -v opencli && opencli doctor 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`

If the status above shows READY, skip to Step 2. If NOT_INSTALLED, install first:

# Install opencli globally
npm install -g @jackwener/opencli

If SETUP_NEEDED, guide the user through setup:

Setup

opencli requires Node.js >= 21 and a Chrome browser with the Browser Bridge extension:

  • Install the Browser Bridge extension:
  • Download the latest opencli-extension-v{version}.zip from the GitHub Releases page
  • Unzip it, open chrome://extensions in Chrome, and enable Developer mode
  • Click Load unpacked and select the unzipped folder
  • Login to x.com in Chrome — opencli reuses your existing browser session
  • Verify connectivity:
opencli doctor

This auto-starts the daemon, verifies the extension is connected, and checks session health.

Common setup issues

| Symptom | Fix |

|---------|-----|

| Extension not connected | Install Browser Bridge extension in Chrome and ensure it's enabled |

| Daemon not running | Run opencli doctor — it auto-starts the daemon |

| No session for twitter.com | Login to x.com in Chrome, then retry |

| CSRF token missing | Refresh x.com in Chrome to regenerate the ct0 cookie |


Step 2: Identify What the User Needs

Match the user's request to one of the read commands below, then use the corresponding command from references/commands.md.

| User Request | Command | Key Flags |

|---|---|---|

| Setup check | opencli doctor | — |

| Home feed / timeline | opencli twitter timeline | --type for-you\|following, --limit N (default 20) |

| Search tweets | opencli twitter search "QUERY" | --filter top\|live, --limit N (default 15) |

| Trending topics | opencli twitter trending | --limit N (default 20) |

| Bookmarks | opencli twitter bookmarks | --limit N (default 20) |

| Recent tweets from a user | opencli twitter tweets USERNAME | --limit N (default 20) |

| View a specific thread | opencli twitter thread TWEET_ID | --limit N (default 50) |

| Twitter article | opencli twitter article TWEET_ID | — |

| User profile | opencli twitter profile USERNAME | — (defaults to logged-in user) |

| Followers | opencli twitter followers USERNAME | --limit N (default 50) |

| Following | opencli twitter following USERNAME | --limit N (default 50) |

| Notifications | opencli twitter notifications | --limit N (default 20) |


Step 3: Execute the Command

General pattern

# Use -f json or -f yaml for structured output
opencli twitter timeline -f json --limit 20
opencli twitter timeline --type following --limit 20

# Recent tweets from a specific user
opencli twitter tweets elonmusk --limit 20 -f json

# Searching for financial topics
opencli twitter search "$AAPL earnings" --filter live --limit 10 -f json
opencli twitter search "Fed rate decision" --limit 20 -f yaml

# Trending topics
opencli twitter trending --limit 20 -f json

Key rules

  • Check setup first — run opencli doctor before any other command if unsure about connectivity
  • Use -f json or -f yaml for structured output when processing data programmatically
  • Use -f csv when the user wants spreadsheet-compatible output
  • Use --limit N to control result count — start with 10-20 unless the user asks for more
  • For search, use --filtertop (default) for relevance, live for latest tweets
  • NEVER execute write operations — this skill is read-only; do not post, like, retweet, reply, quote, follow, or delete

Output format flag (-f)

| Format | Flag | Best for |

|---|---|---|

| Table | -f table (default) | Human-readable terminal output |

| JSON | -f json | Programmatic processing, LLM context |

| YAML | -f yaml | Structured output, readable |

| Markdown | -f md | Documentation, reports |

| CSV | -f csv | Spreadsheet export |

Output columns

Tweet-listing commands (timeline, search, thread) include: id, author, text, created_at, likes, retweets, replies, views, url, has_media, media_urls.

tweets (per-user posts) also includes is_retweet.

bookmarks columns: author, text, likes, retweets, bookmarks, url.

trending columns: rank, topic, tweets, category.

Profile (profile) columns: screen_name, name, bio, location, url, followers, following, tweets, likes, verified, created_at.

followers / following columns: screen_name, name, bio, followers.

notifications columns: id, action, author, text, url.


Step 4: Present the Results

After fetching data, present it clearly for financial research:

  • Summarize key content — highlight the most relevant tweets for the user's financial research
  • Include attribution — show @username, tweet text, and engagement metrics (likes, views)
  • Provide tweet URLs when the user might want to read the full thread
  • For search results, group by relevance and highlight key themes, sentiment, or market signals
  • For user profiles, present follower count, bio, and notable recent activity
  • Flag sentiment — note bullish/bearish sentiment, consensus vs contrarian views
  • Treat sessions as private — never expose browser session details

Step 5: Diagnostics

If something isn't working, run:

opencli doctor

This checks daemon status, extension connectivity, and browser session health.


Error Reference

| Error | Cause | Fix |

|-------|-------|-----|

| Extension not connected | Browser Bridge not installed/enabled | Install extension and enable it in Chrome |

| No session | Not logged into x.com | Login to x.com in Chrome |

| CSRF token missing | Cookie expired or page needs refresh | Refresh x.com in Chrome |

| Rate limited | Too many requests | Wait a few minutes, then retry |


Reference Files

  • references/commands.md — Complete read command reference with all flags, research workflows, and usage examples
  • references/schema.md — Output format documentation and column definitions

Read the reference files when you need exact command syntax, research workflow patterns, or output details.

How to use it

Copy the folder

Take himself65/twitter-reader from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npm. Without those the skill loads but fails at the first command.