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.
Audits social media accounts (Threads, Instagram, TikTok) by scraping posts, computing engagement metrics, and generating structured reports with content strategy recommendations.