ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

social-reader

Social media content scraping and automation skill. Supports real-time single post reading, as well as scheduled batch patrol, LLM distillation, and review notifications.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/hacksing/social-reader
Or

Social Reader Skill

This skill provides a social media content scraping and monitoring workflow. It offers two usage modes:

  • Interactive Mode: Agent fetches a single post in real-time for reading, discussion, or reply generation within a conversation.
  • Pipeline Mode: Background batch patrol of sources, with LLM distillation and review notifications.

Dependencies

pip install requests

Configuration Files

FilePurpose
prompt.txtLLM system prompt for the Processor node
sources.jsonList of monitored accounts and fetch intervals (pipeline mode)
input_urls.txtManually entered post URLs (one per line, # for comments)
seen_ids.jsonDeduplication cache for seen post IDs (pipeline mode only)
pending_tweets.jsonQueue of unprocessed posts from the Watcher
drafts.jsonLLM-distilled drafts from the Processor
archive.jsonArchived history records

Environment Variables (required only for Pipeline Mode Processor)

VariableDescriptionDefault
LLM_API_KEYLLM API key (required)None
LLM_BASE_URLAPI endpointhttps://api.openai.com/v1
LLM_MODELModel namegpt-4o-mini

Mode 1: Agent Interactive Call (Recommended)

When a user sends a social media post link and asks you to "read and discuss" or "generate a quality reply", call fetcher.py directly — do NOT use run_pipeline.py.

run_pipeline.py triggers deduplication cache, fixed LLM distillation, and browser popups, which are unsuitable for interactive scenarios.

Usage Example

import sys

skill_dir = r"d:\AIWareTop\Agent\openclaw-skills\social-reader"
if skill_dir not in sys.path:
    sys.path.append(skill_dir)

from fetcher import get_tweet

result = get_tweet("https://x.com/user/status/123456")

if result.get("success"):
    content = result["content"]
    # Now you can discuss the content with the user or generate a reply

get_tweet() Return Structure

{
  "source": "fxtwitter",
  "success": true,
  "type": "tweet",
  "content": {
    "text": "Post body text",
    "author": "Display name",
    "username": "Username handle",
    "created_at": "Publish time",
    "likes": 123,
    "retweets": 45,
    "views": 6789,
    "replies": 10,
    "media": ["image_url_1", "image_url_2"]
  }
}

When type is "article" (long-form post), content additionally contains:

  • title: Article title
  • preview: Preview text
  • full_text: Full article body (Markdown format)
  • cover_image: Cover image URL

This call is completely stateless — it writes no cache files and triggers no notification services.


Mode 2: Background Pipeline Batch Processing

Use run_pipeline.py to chain Watcher → Processor → Action nodes.

Metadata

Author@hacksing
Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-hacksing-social-reader": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.