From browsing-with-robot
Scrape posts from Threads (threads.com) profiles. Handles login, infinite scroll, and post extraction. Use when the user wants to fetch posts from a Threads profile.
How this skill is triggered — by the user, by Claude, or both
Slash command
/browsing-with-robot:threads-scraperThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Threads requires Instagram login to view all posts on a profile. Without login, only the 2 most recent posts are visible.
robotThreads requires Instagram login to view all posts on a profile. Without login, only the 2 most recent posts are visible.
robot CLI must be installed and on PATH (~/go/bin/robot)export PATH="$HOME/go/bin:$PATH"export PATH="$HOME/go/bin:$PATH"
# Clean up stale state if needed
rm -f /tmp/robot.pid
robot start
If "daemon already running" error occurs:
robot stop
# If stop fails with "no such process":
rm -f /tmp/robot.pid
robot start
IMPORTANT: Always ask the user for credentials using AskUserQuestion. Never hardcode or store credentials.
# 1. Navigate to login page
robot navigate "https://www.threads.com/login"
# Wait for page load
sleep 2
# 2. Enter credentials (ask user first via AskUserQuestion)
robot type "input[autocomplete='username']" "<USERNAME>"
robot type "input[autocomplete='current-password']" "<PASSWORD>"
sleep 1
# 3. Click login button (use form div[role='button'], NOT button[type='submit'])
robot click "form div[role='button']"
# 4. Wait for redirect (login causes HTTP 500 briefly, this is normal)
sleep 8
HTTP 500 after login: Threads often returns a server error page immediately after login. This is expected. Simply navigate away:
robot navigate "https://www.threads.com/"
sleep 3
The session/cookies are still valid despite the error.
QR code popup: If you click the wrong element, a QR code popup ("Get the app") may appear. If this happens, re-navigate to the login page instead of trying to close it.
Verify login success: After login, navigate to home and check for logged-in indicators:
robot navigate "https://www.threads.com/"
sleep 3
robot screenshot
# Read the screenshot - look for "What's new?" input and "Post" button
# If "Log in" button is shown at top-right, login failed
Own profile check: When viewing your own profile while logged in, the page shows "Edit profile" button instead of "Follow".
robot navigate "https://www.threads.com/@USERNAME"
sleep 3
robot text
robot does not have a built-in scroll command. To load more posts on infinite-scroll pages:
robot click on elements near the bottom of the visible area to trigger scroll behavior.Extract text after each scroll attempt:
robot text
robot stop
| Element | Selector |
|---|---|
| Username input | input[autocomplete='username'] |
| Password input | input[autocomplete='current-password'] |
| Login button | form div[role='button'] |
| Profile tabs | Text-based: Threads, Replies, Media, Reposts |
Present extracted posts in a structured format:
### Post N (timestamp) - Topic
[Post content]
- Likes: N, Comments: N, Shares: N
form div[role='button'] not button[type='submit'] - Threads uses custom div-based buttons.text over screenshot: Text extraction is token-efficient. Only screenshot when debugging layout issues.robot stop when finished.npx claudepluginhub tmdgusya/browsing-with-robot --plugin browsing-with-robotReads public Threads (Meta) data via UnifAPI — searches posts/profiles, retrieves a handle's posts, replies, and reposts. For social listening or content research workflows that need deterministic Threads data.
Automates content posting on X/Twitter via browser console scripts: threads, scheduling, polls, auto-reposts, previews, quote-tweets, repurposing, and viral tweet plugs. Use for social media content workflows.
Scrapes, analyzes, and synthesizes YouTube or Threads creator content corpora to produce data-backed 9-post viral threads with carousel visuals. Use to reverse-engineer content strategies.