Back to skills
SkillHub ClubGrow & DistributeFull StackData / AI

social-insights

Social media analytics and performance tracking. Track engagement, optimal posting times, competitor analysis, and generate actionable reports.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,084
Hot score
99
Updated
March 20, 2026
Overall rating
C4.5
Composite score
4.5
Best-practice grade
B80.4

Install command

npx @skill-hub/cli install openclaw-skills-social-insights
analyticssocial-mediatwitterlinkedinreportingdatainsights

Repository

openclaw/skills

Skill path: skills/fly3094/social-insights

Social media analytics and performance tracking. Track engagement, optimal posting times, competitor analysis, and generate actionable reports.

Open repository

Best for

Primary workflow: Grow & Distribute.

Technical facets: Full Stack, Data / AI.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install social-insights into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding social-insights to shared team environments
  • Use social-insights for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: social-insights
description: Social media analytics and performance tracking. Track engagement, optimal posting times, competitor analysis, and generate actionable reports.
author: fly3094
version: 1.0.0
tags: [analytics, social-media, twitter, linkedin, reporting, data, insights]
metadata:
  clawdbot:
    emoji: πŸ“Š
    requires:
      bins:
        - python3
        - curl
    config:
      env:
        TWITTER_API_KEY:
          description: Twitter API Key
          required: false
        TWITTER_API_SECRET:
          description: Twitter API Secret
          required: false
        LINKEDIN_ACCESS_TOKEN:
          description: LinkedIn Access Token
          required: false
        ANALYTICS_PLATFORMS:
          description: Platforms to analyze (twitter,linkedin,all)
          default: "twitter"
          required: false
---

# Social Analytics πŸ“Š

Track, analyze, and optimize your social media performance with AI-powered insights.

## What It Does

- πŸ“ˆ **Performance Tracking**: Monitor followers, impressions, engagement rates
- ⏰ **Optimal Timing**: Find best posting times for your audience
- πŸ† **Top Content Analysis**: Identify your best performing posts
- πŸ“Š **Competitor Comparison**: Benchmark against competitors
- πŸ’‘ **AI Recommendations**: Get actionable improvement suggestions
- πŸ“‹ **Auto Reports**: Weekly/monthly reports delivered automatically

## Installation

```bash
clawhub install social-analytics
```

## Commands

### View Weekly Analytics
```
Show my Twitter analytics for last week
```

### View Monthly Report
```
Generate social media report for last month
```

### Competitor Analysis
```
Compare my engagement with @competitor1 and @competitor2
```

### Best Posting Times
```
When should I post for maximum engagement?
```

### Content Insights
```
What type of content performs best for my audience?
```

### Trend Analysis
```
Show my follower growth trend for the last 30 days
```

## Configuration

### Environment Variables

```bash
# Twitter API credentials (for Twitter analytics)
export TWITTER_API_KEY="your_key"
export TWITTER_API_SECRET="your_secret"
export TWITTER_ACCESS_TOKEN="your_token"
export TWITTER_ACCESS_TOKEN_SECRET="your_token_secret"

# LinkedIn API (optional)
export LINKEDIN_ACCESS_TOKEN="your_token"

# Platforms to analyze
export ANALYTICS_PLATFORMS="twitter"  # twitter, linkedin, or all
```

### Without API Access

If you don't have API access, the skill can still:
- Analyze manually provided data
- Generate reports from exported CSV files
- Provide optimization recommendations

## Output Examples

### Weekly Report
```
πŸ“Š Social Media Weekly Report
Week of Mar 1-7, 2026

πŸ“ˆ Key Metrics:
β€’ Followers: 1,234 (+56 this week)
β€’ Impressions: 45,678 (+12%)
β€’ Engagement Rate: 3.2% (industry avg: 1.8%)

πŸ† Top Performing Posts:
1. "AI automation saves 20hrs/week" - 234 likes, 45 retweets
2. "New skill released!" - 189 likes, 32 retweets
3. "Client results showcase" - 156 likes, 28 retweets

⏰ Best Posting Times:
β€’ Tuesday 10am-12pm
β€’ Thursday 2pm-4pm
β€’ Sunday 7pm-9pm

πŸ’‘ Recommendations:
β€’ Post more case studies (highest engagement)
β€’ Increase posting frequency on Tuesdays
β€’ Try video content (competitors seeing 2x engagement)
```

### Competitor Comparison
```
πŸ“Š Competitor Analysis Report

Your Account vs Competitors (Last 30 Days)

Metric          You      Comp1    Comp2    Industry Avg
-----------------------------------------------------------------
Engagement Rate 3.2%     2.8%     4.1%     1.8%
Posts/Week      5        7        3        4
Avg Likes       156      134      289      95
Avg Retweets    23       18       45       12
Follower Growth +4.5%    +2.1%    +6.8%    +1.5%

πŸ’‘ Insights:
β€’ Your engagement rate is 78% above industry average! Great job!
β€’ Comp2 gets more engagement with video content
β€’ You post less frequently than competitors
β€’ Opportunity: Increase posting to 7/week

🎯 Action Items:
1. Add 2 video posts this week
2. Test posting on Wednesday mornings
3. Analyze Comp2's top posts for content ideas
```

### Best Posting Times
```
⏰ Optimal Posting Times for Your Audience

Based on your last 100 posts:

πŸ₯‡ Best: Tuesday 10:00-12:00
   Avg Engagement: 4.2%
   Avg Reach: 12,500

πŸ₯ˆ Second: Thursday 14:00-16:00
   Avg Engagement: 3.8%
   Avg Reach: 11,200

πŸ₯‰ Third: Sunday 19:00-21:00
   Avg Engagement: 3.5%
   Avg Reach: 9,800

❌ Worst: Monday 6:00-8:00
   Avg Engagement: 1.2%
   Avg Reach: 3,200

πŸ’‘ Recommendation:
Schedule 60% of posts during top 3 time slots for maximum impact.
```

## Integration with Other Skills

### rss-to-social
```
rss-to-social publishes content β†’ social-analytics tracks performance
β†’ Optimize RSS sources based on engagement
```

### social-media-automator
```
social-media-automator generates posts β†’ social-analytics measures results
β†’ Improve content generation based on data
```

### seo-content-pro
```
seo-content-pro creates articles β†’ social-analytics tracks social shares
β†’ Identify topics that resonate with audience
```

Complete data-driven content loop! πŸ”„

## Use Cases

### Content Marketers
- Track campaign performance
- Prove ROI to stakeholders
- Optimize content calendar

### Solopreneurs
- Understand audience preferences
- Maximize limited posting time
- Compete with larger accounts

### Agencies
- Client reporting automation
- Multi-account management
- Benchmark across industries

### Social Media Managers
- Data-driven strategy decisions
- Identify trending content types
- Justify budget increases

## Pricing Integration

This skill powers LobsterLabs analytics services:

| Service | Price | Delivery |
|---------|-------|----------|
| Single Analysis | $99 | One-time report |
| Monthly Subscription | $299/month | Weekly reports + insights |
| Competitor Tracking | $199/month | Up to 5 competitors |
| Enterprise (10 accounts) | $999/month | Custom dashboards |

**Bundle Discounts:**
- Content Automation + Analytics: Save 20%
- Annual Subscription: Save 15%

Contact: PayPal [email protected]

## Tips for Best Results

1. **Connect API Access**: Full data requires API credentials
2. **Consistent Tracking**: Run analytics weekly for trend insights
3. **Compare Competitors**: Benchmark against 3-5 similar accounts
4. **Act on Insights**: Implement recommendations within 48 hours
5. **Track Changes**: Monitor metrics before/after strategy changes

## Troubleshooting

### No API Access
- Use manual data export from platform
- Upload CSV files for analysis
- Skill will work with provided data

### Incomplete Data
- Verify API credentials are correct
- Check API rate limits
- Ensure account is public (for some platforms)

### Slow Analysis
- Large date ranges take longer
- Reduce to last 7-30 days for faster results
- Run during off-peak hours

## Changelog

### 1.0.0 (2026-03-07)
- Initial release
- Twitter analytics integration
- Competitor comparison
- Optimal timing analysis
- AI-powered recommendations
- Automated weekly/monthly reports


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "fly3094",
  "slug": "social-insights",
  "displayName": "Social Insights",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1772870528011,
    "commit": "https://github.com/openclaw/skills/commit/804647dd6619b59a91dda98c3fcf4e810e08f9f8"
  },
  "history": []
}

```

### scripts/analyzer.py

```python
#!/usr/bin/env python3
"""
Social Analytics - Performance Tracking and Insights
"""

import os
import json
from datetime import datetime, timedelta
from pathlib import Path

# Configuration
DATA_DIR = Path(os.getenv('SOCIAL_ANALYTICS_DATA_DIR', '.social-analytics'))
PLATFORMS = os.getenv('ANALYTICS_PLATFORMS', 'twitter').split(',')

def ensure_data_dir():
    """Ensure data directory exists"""
    DATA_DIR.mkdir(parents=True, exist_ok=True)

def generate_sample_report():
    """Generate sample analytics report (demo mode)"""
    report = {
        'period': 'Last 7 days',
        'generated_at': datetime.now().isoformat(),
        'metrics': {
            'followers': {'current': 1234, 'previous': 1178, 'change': '+4.8%'},
            'impressions': {'current': 45678, 'previous': 40784, 'change': '+12.0%'},
            'engagement_rate': {'current': '3.2%', 'industry_avg': '1.8%', 'status': 'Above Average'}
        },
        'top_posts': [
            {'text': 'AI automation saves 20hrs/week', 'likes': 234, 'retweets': 45, 'engagement': '4.2%'},
            {'text': 'New skill released on ClawHub!', 'likes': 189, 'retweets': 32, 'engagement': '3.8%'},
            {'text': 'Client results showcase', 'likes': 156, 'retweets': 28, 'engagement': '3.5%'}
        ],
        'best_times': [
            {'day': 'Tuesday', 'time': '10:00-12:00', 'engagement': '4.2%'},
            {'day': 'Thursday', 'time': '14:00-16:00', 'engagement': '3.8%'},
            {'day': 'Sunday', 'time': '19:00-21:00', 'engagement': '3.5%'}
        ],
        'recommendations': [
            'Post more case studies (highest engagement)',
            'Increase posting frequency on Tuesdays',
            'Try video content (competitors seeing 2x engagement)',
            'Respond to comments within 1 hour for better reach'
        ]
    }
    return report

def format_report(report):
    """Format report for display"""
    output = []
    output.append("πŸ“Š Social Media Analytics Report")
    output.append("=" * 50)
    output.append(f"Period: {report['period']}")
    output.append(f"Generated: {report['generated_at'][:10]}")
    output.append("")
    
    output.append("πŸ“ˆ Key Metrics:")
    for metric, data in report['metrics'].items():
        metric_name = metric.replace('_', ' ').title()
        if metric == 'engagement_rate':
            output.append(f"β€’ {metric_name}: {data['current']} (Industry: {data['industry_avg']}) - {data['status']}")
        else:
            output.append(f"β€’ {metric_name}: {data['current']:,} ({data['change']})")
    output.append("")
    
    output.append("πŸ† Top Performing Posts:")
    for i, post in enumerate(report['top_posts'], 1):
        output.append(f"{i}. \"{post['text']}\" - {post['likes']} likes, {post['retweets']} retweets ({post['engagement']})")
    output.append("")
    
    output.append("⏰ Best Posting Times:")
    for time in report['best_times']:
        output.append(f"β€’ {time['day']} {time['time']} - Avg Engagement: {time['engagement']}")
    output.append("")
    
    output.append("πŸ’‘ Recommendations:")
    for rec in report['recommendations']:
        output.append(f"β€’ {rec}")
    output.append("")
    output.append("=" * 50)
    
    return '\n'.join(output)

def generate_competitor_analysis():
    """Generate sample competitor comparison"""
    output = []
    output.append("πŸ“Š Competitor Analysis Report")
    output.append("=" * 50)
    output.append("Your Account vs Competitors (Last 30 Days)")
    output.append("")
    output.append(f"{'Metric':<18} {'You':<10} {'Comp1':<10} {'Comp2':<10} {'Industry':<10}")
    output.append("-" * 58)
    output.append(f"{'Engagement Rate':<18} {'3.2%':<10} {'2.8%':<10} {'4.1%':<10} {'1.8%':<10}")
    output.append(f"{'Posts/Week':<18} {'5':<10} {'7':<10} {'3':<10} {'4':<10}")
    output.append(f"{'Avg Likes':<18} {'156':<10} {'134':<10} {'289':<10} {'95':<10}")
    output.append(f"{'Avg Retweets':<18} {'23':<10} {'18':<10} {'45':<10} {'12':<10}")
    output.append(f"{'Follower Growth':<18} {'+4.5%':<10} {'+2.1%':<10} {'+6.8%':<10} {'+1.5%':<10}")
    output.append("")
    output.append("πŸ’‘ Insights:")
    output.append("β€’ Your engagement rate is 78% above industry average! Great job!")
    output.append("β€’ Comp2 gets more engagement with video content")
    output.append("β€’ You post less frequently than competitors")
    output.append("β€’ Opportunity: Increase posting to 7/week")
    output.append("")
    output.append("🎯 Action Items:")
    output.append("1. Add 2 video posts this week")
    output.append("2. Test posting on Wednesday mornings")
    output.append("3. Analyze Comp2's top posts for content ideas")
    output.append("=" * 50)
    
    return '\n'.join(output)

def main():
    """Main entry point"""
    ensure_data_dir()
    
    print("πŸ“Š Social Analytics")
    print(f"Platforms: {', '.join(PLATFORMS)}")
    print("-" * 40)
    
    # Check for API credentials
    has_twitter_api = os.getenv('TWITTER_API_KEY')
    
    if not has_twitter_api:
        print("⚠️  No API credentials found - running in demo mode")
        print("   For real data, set TWITTER_API_KEY environment variable")
        print()
    
    # Generate and display report
    report = generate_sample_report()
    print(format_report(report))
    print()
    
    # Also show competitor analysis
    print(generate_competitor_analysis())
    print()
    
    print("βœ… Analytics complete!")
    print("   To save reports: python analyzer.py --save")
    print("   For competitor analysis: python analyzer.py --competitors")

if __name__ == '__main__':
    main()

```

social-insights | SkillHub