Twitter Skill (Read-Only)
Read Twitter/X for financial research using opencli (read-only).
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/twitter-reader, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit himself65/finance-skills/plugins/social-readers/skills/twitter-reader#main ~/.claude/skills/twitter-readerFor one project only, change the path to .claude/skills/twitter-reader. This skill also uses Node.js — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Twitter Skill (Read-Only)
Show the full text190 lines
| name | description |
|---|---|
| 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. Triggers include: "check my feed", "search Twitter for", "show my bookmarks", 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. |
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 >= 20 and a Chrome browser with the Browser Bridge extension:
- Install the Browser Bridge extension:
- Download the latest
opencli-extension-v{version}.zipfrom the GitHub Releases page - Unzip it, open
chrome://extensionsin Chrome, and enable Developer mode - Click Load unpacked and select the unzipped folder
- Download the latest
- 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 doctorbefore any other command if unsure about connectivity - Use
-f jsonor-f yamlfor structured output when processing data programmatically - Use
-f csvwhen the user wants spreadsheet-compatible output - Use
--limit Nto control result count — start with 10-20 unless the user asks for more - For search, use
--filter—top(default) for relevance,livefor 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 examplesreferences/schema.md— Output format documentation and column definitions
Read the reference files when you need exact command syntax, research workflow patterns, or output details.
| 1 | |
| 2 | name twitter-reader |
| 3 | description > |
| 4 | Read Twitter/X for financial research using opencli (read-only). |
| 5 | Use this skill whenever the user wants to read their Twitter feed, search for financial tweets, |
| 6 | view bookmarks, look up user profiles, or gather market sentiment from Twitter/X. |
| 7 | Triggers include: "check my feed", "search Twitter for", "show my bookmarks", |
| 8 | "who follows", "look up @user", "what's trending about", "market sentiment on Twitter", |
| 9 | "what are people saying about AAPL", "recent tweets from @elonmusk", "show me @user's posts", |
| 10 | "fintwit", any mention of Twitter/X in context of reading financial news or market research. |
| 11 | This skill is READ-ONLY — it does NOT support posting, liking, retweeting, or any write operations. |
| 12 | |
| 13 | |
| 14 | # Twitter Skill (Read-Only) |
| 15 | |
| 16 | Reads Twitter/X for financial research using [opencli], a universal CLI tool that bridges web services to the terminal via browser session reuse. |
| 17 | |
| 18 | **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. |
| 19 | |
| 20 | **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. |
| 21 | |
| 22 | |
| 23 | |
| 24 | ## Step 1: Ensure opencli Is Installed and Ready |
| 25 | |
| 26 | **Current environment status:** |
| 27 | |
| 28 | |
| 29 | !`(command -v opencli && opencli doctor 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"` |
| 30 | |
| 31 | |
| 32 | If the status above shows `READY`, skip to Step 2. If `NOT_INSTALLED`, install first: |
| 33 | |
| 34 | |
| 35 | # Install opencli globally |
| 36 | npm install -g @jackwener/opencli |
| 37 | |
| 38 | |
| 39 | If `SETUP_NEEDED`, guide the user through setup: |
| 40 | |
| 41 | ### Setup |
| 42 | |
| 43 | opencli requires Node.js >= 20 and a Chrome browser with the Browser Bridge extension: |
| 44 | |
| 45 | **Install the Browser Bridge extension:** |
| 46 | Download the latest `opencli-extension-v{version}.zip` from the [GitHub Releases page] |
| 47 | Unzip it, open `chrome://extensions` in Chrome, and enable **Developer mode** |
| 48 | Click **Load unpacked** and select the unzipped folder |
| 49 | **Login to x.com** in Chrome — opencli reuses your existing browser session |
| 50 | **Verify connectivity:** |
| 51 | |
| 52 | |
| 53 | opencli doctor |
| 54 | |
| 55 | |
| 56 | This auto-starts the daemon, verifies the extension is connected, and checks session health. |
| 57 | |
| 58 | ### Common setup issues |
| 59 | |
| 60 | | Symptom | Fix | |
| 61 | |---------|-----| |
| 62 | | `Extension not connected` | Install Browser Bridge extension in Chrome and ensure it's enabled | |
| 63 | | `Daemon not running` | Run `opencli doctor` — it auto-starts the daemon | |
| 64 | | `No session for twitter.com` | Login to x.com in Chrome, then retry | |
| 65 | | `CSRF token missing` | Refresh x.com in Chrome to regenerate the ct0 cookie | |
| 66 | |
| 67 | |
| 68 | |
| 69 | ## Step 2: Identify What the User Needs |
| 70 | |
| 71 | Match the user's request to one of the read commands below, then use the corresponding command from `references/commands.md`. |
| 72 | |
| 73 | | User Request | Command | Key Flags | |
| 74 | |---|---|---| |
| 75 | | Setup check | `opencli doctor` | — | |
| 76 | | Home feed / timeline | `opencli twitter timeline` | `--type for-you\|following`, `--limit N` (default 20) | |
| 77 | | Search tweets | `opencli twitter search "QUERY"` | `--filter top\|live`, `--limit N` (default 15) | |
| 78 | | Trending topics | `opencli twitter trending` | `--limit N` (default 20) | |
| 79 | | Bookmarks | `opencli twitter bookmarks` | `--limit N` (default 20) | |
| 80 | | Recent tweets from a user | `opencli twitter tweets USERNAME` | `--limit N` (default 20) | |
| 81 | | View a specific thread | `opencli twitter thread TWEET_ID` | `--limit N` (default 50) | |
| 82 | | Twitter article | `opencli twitter article TWEET_ID` | — | |
| 83 | | User profile | `opencli twitter profile USERNAME` | — (defaults to logged-in user) | |
| 84 | | Followers | `opencli twitter followers USERNAME` | `--limit N` (default 50) | |
| 85 | | Following | `opencli twitter following USERNAME` | `--limit N` (default 50) | |
| 86 | | Notifications | `opencli twitter notifications` | `--limit N` (default 20) | |
| 87 | |
| 88 | |
| 89 | |
| 90 | ## Step 3: Execute the Command |
| 91 | |
| 92 | ### General pattern |
| 93 | |
| 94 | |
| 95 | # Use -f json or -f yaml for structured output |
| 96 | opencli twitter timeline -f json --limit 20 |
| 97 | opencli twitter timeline --type following --limit 20 |
| 98 | |
| 99 | # Recent tweets from a specific user |
| 100 | opencli twitter tweets elonmusk --limit 20 -f json |
| 101 | |
| 102 | # Searching for financial topics |
| 103 | opencli twitter search "$AAPL earnings" --filter live --limit 10 -f json |
| 104 | opencli twitter search "Fed rate decision" --limit 20 -f yaml |
| 105 | |
| 106 | # Trending topics |
| 107 | opencli twitter trending --limit 20 -f json |
| 108 | |
| 109 | |
| 110 | ### Key rules |
| 111 | |
| 112 | **Check setup first** — run `opencli doctor` before any other command if unsure about connectivity |
| 113 | **Use `-f json` or `-f yaml`** for structured output when processing data programmatically |
| 114 | **Use `-f csv`** when the user wants spreadsheet-compatible output |
| 115 | **Use `--limit N`** to control result count — start with 10-20 unless the user asks for more |
| 116 | **For search, use `--filter`** — `top` (default) for relevance, `live` for latest tweets |
| 117 | **NEVER execute write operations** — this skill is read-only; do not post, like, retweet, reply, quote, follow, or delete |
| 118 | |
| 119 | ### Output format flag (`-f`) |
| 120 | |
| 121 | | Format | Flag | Best for | |
| 122 | |---|---|---| |
| 123 | | Table | `-f table` (default) | Human-readable terminal output | |
| 124 | | JSON | `-f json` | Programmatic processing, LLM context | |
| 125 | | YAML | `-f yaml` | Structured output, readable | |
| 126 | | Markdown | `-f md` | Documentation, reports | |
| 127 | | CSV | `-f csv` | Spreadsheet export | |
| 128 | |
| 129 | ### Output columns |
| 130 | |
| 131 | Tweet-listing commands (`timeline`, `search`, `thread`) include: `id`, `author`, `text`, `created_at`, `likes`, `retweets`, `replies`, `views`, `url`, `has_media`, `media_urls`. |
| 132 | |
| 133 | `tweets` (per-user posts) also includes `is_retweet`. |
| 134 | |
| 135 | `bookmarks` columns: `author`, `text`, `likes`, `retweets`, `bookmarks`, `url`. |
| 136 | |
| 137 | `trending` columns: `rank`, `topic`, `tweets`, `category`. |
| 138 | |
| 139 | Profile (`profile`) columns: `screen_name`, `name`, `bio`, `location`, `url`, `followers`, `following`, `tweets`, `likes`, `verified`, `created_at`. |
| 140 | |
| 141 | `followers` / `following` columns: `screen_name`, `name`, `bio`, `followers`. |
| 142 | |
| 143 | `notifications` columns: `id`, `action`, `author`, `text`, `url`. |
| 144 | |
| 145 | |
| 146 | |
| 147 | ## Step 4: Present the Results |
| 148 | |
| 149 | After fetching data, present it clearly for financial research: |
| 150 | |
| 151 | **Summarize key content** — highlight the most relevant tweets for the user's financial research |
| 152 | **Include attribution** — show @username, tweet text, and engagement metrics (likes, views) |
| 153 | **Provide tweet URLs** when the user might want to read the full thread |
| 154 | **For search results**, group by relevance and highlight key themes, sentiment, or market signals |
| 155 | **For user profiles**, present follower count, bio, and notable recent activity |
| 156 | **Flag sentiment** — note bullish/bearish sentiment, consensus vs contrarian views |
| 157 | **Treat sessions as private** — never expose browser session details |
| 158 | |
| 159 | |
| 160 | |
| 161 | ## Step 5: Diagnostics |
| 162 | |
| 163 | If something isn't working, run: |
| 164 | |
| 165 | |
| 166 | opencli doctor |
| 167 | |
| 168 | |
| 169 | This checks daemon status, extension connectivity, and browser session health. |
| 170 | |
| 171 | |
| 172 | |
| 173 | ## Error Reference |
| 174 | |
| 175 | | Error | Cause | Fix | |
| 176 | |-------|-------|-----| |
| 177 | | `Extension not connected` | Browser Bridge not installed/enabled | Install extension and enable it in Chrome | |
| 178 | | `No session` | Not logged into x.com | Login to x.com in Chrome | |
| 179 | | `CSRF token missing` | Cookie expired or page needs refresh | Refresh x.com in Chrome | |
| 180 | | Rate limited | Too many requests | Wait a few minutes, then retry | |
| 181 | |
| 182 | |
| 183 | |
| 184 | ## Reference Files |
| 185 | |
| 186 | `references/commands.md` — Complete read command reference with all flags, research workflows, and usage examples |
| 187 | `references/schema.md` — Output format documentation and column definitions |
| 188 | |
| 189 | Read the reference files when you need exact command syntax, research workflow patterns, or output details. |
| 190 |
Discussion
Browse more free Claude skills or everything in Marketing.