$npx -y skills add himself65/finance-skills --skill twitter-readerRead 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", "s
| 1 | # Twitter Skill (Read-Only) |
| 2 | |
| 3 | Reads Twitter/X for financial research using [opencli](https://github.com/jackwener/opencli), a universal CLI tool that bridges web services to the terminal via browser session reuse. |
| 4 | |
| 5 | **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. |
| 6 | |
| 7 | **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. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Step 1: Ensure opencli Is Installed and Ready |
| 12 | |
| 13 | **Current environment status:** |
| 14 | |
| 15 | ``` |
| 16 | !`(command -v opencli && opencli doctor 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"` |
| 17 | ``` |
| 18 | |
| 19 | If the status above shows `READY`, skip to Step 2. If `NOT_INSTALLED`, install first: |
| 20 | |
| 21 | ```bash |
| 22 | # Install opencli globally |
| 23 | npm install -g @jackwener/opencli |
| 24 | ``` |
| 25 | |
| 26 | If `SETUP_NEEDED`, guide the user through setup: |
| 27 | |
| 28 | ### Setup |
| 29 | |
| 30 | opencli requires Node.js >= 21 and a Chrome browser with the Browser Bridge extension: |
| 31 | |
| 32 | 1. **Install the Browser Bridge extension:** |
| 33 | - Download the latest `opencli-extension-v{version}.zip` from the [GitHub Releases page](https://github.com/jackwener/opencli/releases) |
| 34 | - Unzip it, open `chrome://extensions` in Chrome, and enable **Developer mode** |
| 35 | - Click **Load unpacked** and select the unzipped folder |
| 36 | 2. **Login to x.com** in Chrome — opencli reuses your existing browser session |
| 37 | 3. **Verify connectivity:** |
| 38 | |
| 39 | ```bash |
| 40 | opencli doctor |
| 41 | ``` |
| 42 | |
| 43 | This auto-starts the daemon, verifies the extension is connected, and checks session health. |
| 44 | |
| 45 | ### Common setup issues |
| 46 | |
| 47 | | Symptom | Fix | |
| 48 | |---------|-----| |
| 49 | | `Extension not connected` | Install Browser Bridge extension in Chrome and ensure it's enabled | |
| 50 | | `Daemon not running` | Run `opencli doctor` — it auto-starts the daemon | |
| 51 | | `No session for twitter.com` | Login to x.com in Chrome, then retry | |
| 52 | | `CSRF token missing` | Refresh x.com in Chrome to regenerate the ct0 cookie | |
| 53 | |
| 54 | --- |
| 55 | |
| 56 | ## Step 2: Identify What the User Needs |
| 57 | |
| 58 | Match the user's request to one of the read commands below, then use the corresponding command from `references/commands.md`. |
| 59 | |
| 60 | | User Request | Command | Key Flags | |
| 61 | |---|---|---| |
| 62 | | Setup check | `opencli doctor` | — | |
| 63 | | Home feed / timeline | `opencli twitter timeline` | `--type for-you\|following`, `--limit N` (default 20) | |
| 64 | | Search tweets | `opencli twitter search "QUERY"` | `--filter top\|live`, `--limit N` (default 15) | |
| 65 | | Trending topics | `opencli twitter trending` | `--limit N` (default 20) | |
| 66 | | Bookmarks | `opencli twitter bookmarks` | `--limit N` (default 20) | |
| 67 | | Recent tweets from a user | `opencli twitter tweets USERNAME` | `--limit N` (default 20) | |
| 68 | | View a specific thread | `opencli twitter thread TWEET_ID` | `--limit N` (default 50) | |
| 69 | | Twitter article | `opencli twitter article TWEET_ID` | — | |
| 70 | | User profile | `opencli twitter profile USERNAME` | — (defaults to logged-in user) | |
| 71 | | Followers | `opencli twitter followers USERNAME` | `--limit N` (default 50) | |
| 72 | | Following | `opencli twitter following USERNAME` | `--limit N` (default 50) | |
| 73 | | Notifications | `opencli twitter notifications` | `--limit N` (default 20) | |
| 74 | |
| 75 | --- |
| 76 | |
| 77 | ## Step 3: Execute the Command |
| 78 | |
| 79 | ### General pattern |
| 80 | |
| 81 | ```bash |
| 82 | # Use -f json or -f yaml for structured output |
| 83 | opencli twitter timeline -f json --limit 20 |
| 84 | opencli twitter timeline --type following --limit 20 |
| 85 | |
| 86 | # Recent tweets from a specific user |
| 87 | opencli twitter tweets elonmusk --limit 20 -f json |
| 88 | |
| 89 | # Searching for financial topics |
| 90 | opencli twitter search "$AAPL earnings" --filter live --limit 10 -f json |
| 91 | opencli twitter search "Fed rate decision" --limit 20 -f yaml |
| 92 | |
| 93 | # Trending topics |
| 94 | opencli twitter trending --limit 20 -f json |
| 95 | ``` |
| 96 | |
| 97 | ### Key rules |
| 98 | |
| 99 | 1. **Check setup first** — run `opencli doctor` before any other command if unsure about connectivity |
| 100 | 2. **Use `-f json` or `-f yaml`** for structured output when processing data programmatically |
| 101 | 3. **Use `-f csv`** when the user wants spreadsheet-compatible output |
| 102 | 4. **Use `--limit N`** to control result count — start with 10-20 u |