twitter-user-skill

Look up Twitter/X user profiles with descriptions, get authenticated user info, and retrieve followers/following lists with profile details.

100 stars

Best use case

twitter-user-skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Look up Twitter/X user profiles with descriptions, get authenticated user info, and retrieve followers/following lists with profile details.

Teams using twitter-user-skill should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/twitter-user-skill/SKILL.md --create-dirs "https://raw.githubusercontent.com/trohitg/MachinaOS/main/server/skills/social_agent/twitter-user-skill/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/twitter-user-skill/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How twitter-user-skill Compares

Feature / Agenttwitter-user-skillStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Look up Twitter/X user profiles with descriptions, get authenticated user info, and retrieve followers/following lists with profile details.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Twitter User Tool

Look up user profiles and social connections on Twitter/X via X API v2.

## How It Works

This skill provides instructions for the **Twitter User** tool node. Connect the **Twitter User** node to an AI Agent's `input-tools` handle to enable user lookups.

All operations use OAuth 2.0 user context with automatic token refresh on expiry.

## twitter_user Tool

Retrieve user information and social connections.

### Schema Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| operation | string | Yes | Operation type: `me`, `by_username`, `by_id`, `followers`, `following` |
| username | string | If by_username | Twitter username (without @) |
| user_id | string | If by_id/followers/following | Twitter user ID |
| max_results | integer | No | For followers/following (1-1000, default: 100) |

### Operations

| Operation | Required Fields | Description | Rate Limit (free tier) |
|-----------|-----------------|-------------|------------------------|
| `me` | none | Get authenticated user's profile | 25 req/24hr |
| `by_username` | username | Look up user by username | 100 req/24hr |
| `by_id` | user_id | Look up user by ID | 100 req/24hr |
| `followers` | user_id (optional) | Get user's followers (defaults to authenticated user) | 15 req/15min |
| `following` | user_id (optional) | Get accounts user follows (defaults to authenticated user) | 15 req/15min |

### Examples

**Get my profile:**
```json
{
  "operation": "me"
}
```

**Look up user by username:**
```json
{
  "operation": "by_username",
  "username": "elonmusk"
}
```

**Look up user by ID:**
```json
{
  "operation": "by_id",
  "user_id": "44196397"
}
```

**Get my followers:**
```json
{
  "operation": "followers",
  "max_results": 100
}
```

**Get accounts I follow:**
```json
{
  "operation": "following",
  "max_results": 50
}
```

**Get another user's followers:**
```json
{
  "operation": "followers",
  "user_id": "44196397",
  "max_results": 200
}
```

### Response Format - Single User

All user lookups return profile data including description and account creation date:

```json
{
  "success": true,
  "result": {
    "id": "44196397",
    "username": "elonmusk",
    "name": "Elon Musk",
    "profile_image_url": "https://pbs.twimg.com/profile_images/.../photo.jpg",
    "verified": true,
    "description": "Mars & Cars, Chips & Dips",
    "created_at": "2009-06-02 20:12:29+00:00"
  },
  "execution_time": 0.35
}
```

### Response Format - User List (Followers/Following)

```json
{
  "success": true,
  "result": {
    "users": [
      {
        "id": "123456789",
        "username": "user1",
        "name": "User One",
        "profile_image_url": "https://pbs.twimg.com/...",
        "verified": false,
        "description": "Software developer and open source enthusiast",
        "created_at": "2020-03-15 08:30:00+00:00"
      }
    ],
    "count": 100
  },
  "execution_time": 1.2
}
```

### Key Response Fields

| Field | Description |
|-------|-------------|
| `id` | Unique numeric user ID (use for followers/following lookups) |
| `username` | Handle without @ (use for by_username lookups) |
| `name` | Display name |
| `profile_image_url` | URL to profile picture |
| `verified` | Whether the account is verified |
| `description` | User's bio text |
| `created_at` | Account creation timestamp |

### Error Response

```json
{
  "success": false,
  "error": "Username is required",
  "execution_time": 0.01
}
```

## Guidelines

1. **Usernames**: Provide without the @ symbol (e.g., `elonmusk` not `@elonmusk`)
2. **User IDs**: Use the numeric ID string. Get these from search results (`author_id`) or user lookups
3. **Rate limits**: `me` endpoint is heavily rate-limited (25/24hr on free tier) -- avoid calling repeatedly
4. **Max results**: Minimum 1, maximum 1000 per request for followers/following
5. **Pagination**: Only the first page is returned. For large accounts, max_results controls page size
6. **Defaults to self**: If `user_id` is omitted for followers/following, it defaults to the authenticated user
7. **Token refresh**: If a 401/403 error occurs, the system automatically refreshes the OAuth token and retries

## Common Use Cases

- Get your own profile information and bio
- Look up profiles of users you interact with
- Check if users are verified
- Analyze follower/following relationships and growth
- Build lists of relevant accounts in a niche
- Get user IDs from usernames for use in search queries (e.g., `from:username`)
- Compare follower counts between accounts

## Setup Requirements

1. Connect the **Twitter User** node to an AI Agent's `input-tools` handle
2. Ensure Twitter is connected (authenticated via OAuth in Credentials Modal)
3. Your X Developer account must have appropriate API access level
4. Required OAuth scopes: `users.read`, `follows.read`, `offline.access`

Related Skills

twitter-send-skill

100
from trohitg/MachinaOS

Post tweets, reply to tweets, retweet, like/unlike, and delete tweets on Twitter/X. Supports threading, 280-char tweets, and automatic token refresh.

twitter-search-skill

100
from trohitg/MachinaOS

Search for recent tweets on Twitter/X using keywords, hashtags, mentions, and advanced query operators. Returns rich tweet data with expanded URLs, author info, media, metrics, and referenced tweets.

serper-search-skill

100
from trohitg/MachinaOS

Search the web using Serper API for Google-powered search results including web, news, images, and places.

proxy-config-skill

100
from trohitg/MachinaOS

Configure residential proxy providers and make proxied HTTP requests with geo-targeting.

perplexity-search-skill

100
from trohitg/MachinaOS

Search the web using Perplexity Sonar AI for synthesized answers with citations, related questions, and optional images.

http-request-skill

100
from trohitg/MachinaOS

Make HTTP requests to external APIs and web services. Supports GET, POST, PUT, DELETE, PATCH methods with headers and JSON body.

duckduckgo-search-skill

100
from trohitg/MachinaOS

Search the web using DuckDuckGo for free, privacy-focused results with no API key required.

crawlee-scraper-skill

100
from trohitg/MachinaOS

Read and extract content from any web page URL.

browser-skill

100
from trohitg/MachinaOS

Interactive browser automation - navigate, click, type, fill forms, take screenshots, get accessibility snapshots. Supports system Chrome/Edge via auto-detection.

brave-search-skill

100
from trohitg/MachinaOS

Search the web using Brave Search API for privacy-focused, independent search results with no tracking.

apify-skill

100
from trohitg/MachinaOS

Run web scrapers and extract data from websites and social media platforms using Apify actors. Supports Instagram, TikTok, Twitter/X, LinkedIn, Facebook, YouTube, Google Search, and general web crawling.

nearby-places-skill

100
from trohitg/MachinaOS

Search for nearby places like restaurants, cafes, stores, and services using Google Places API. Find places by type and location.