本文へ移動
cccskills
無料GitHub で公開

social-media-account-audit

Audit social media accounts (TikTok, IG, etc.): scrape profiles, calculate engagement metrics, diagnose performance drops, interpret analytics screenshots.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md8.2 KB
  • references/tiktok-analytics-terms-id.md3.0 KB
  • references/tiktok-profile-fields.md3.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Social Media Account Audit

When to Use

  • User shares analytics screenshots (LIVE stats, dashboard data, engagement metrics)
  • User asks "why is my account/LIVE performing badly?"
  • User shares a TikTok/Instagram profile link for review
  • User wants to compare past vs current performance
  • User asks for growth strategy based on data

Workflow Overview

1. Scrape profile data (if link provided)
2. Extract metrics from screenshots (if provided)
3. Calculate health ratios
4. Diagnose root causes
5. Deliver actionable recommendations

Step 1: Scrape TikTok Profile Data

Fetch HTML

curl -s -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
  "https://www.tiktok.com/@USERNAME" -o /tmp/tiktok_profile.html

Extract Basic Stats (grep approach — fast)

grep -oP '"uniqueId":"[^"]*"|"nickname":"[^"]*"|"signature":"[^"]*"|"followerCount":\d+|"followingCount":\d+|"heartCount":\d+|"videoCount":\d+|"verified":[a-z]+' /tmp/tiktok_profile.html

Extract Full Profile (Python — comprehensive)

import json, re
from datetime import datetime

with open('/tmp/tiktok_profile.html') as f:
    html = f.read()

match = re.search(
    r'<script id="__UNIVERSAL_DATA_FOR_REHYDRATION__"[^>]*>(.*?)</script>',
    html, re.DOTALL
)
data = json.loads(match.group(1))
scope = data['__DEFAULT_SCOPE__']
user_info = scope['webapp.user-detail']['userInfo']
user = user_info['user']
stats = user_info['stats']

# Key fields
print(f"Username: @{user['uniqueId']}")
print(f"Bio: {user['signature']}")
print(f"Created: {datetime.fromtimestamp(int(user['createTime']))}")
print(f"Category: {user.get('commerceUserInfo', {}).get('category', 'N/A')}")
print(f"Commerce User: {user.get('commerceUserInfo', {}).get('commerceUser', False)}")
print(f"TT Seller: {user.get('ttSeller', False)}")
print(f"Verified: {user['verified']}")
print(f"Followers: {stats['followerCount']:,}")
print(f"Following: {stats['followingCount']:,}")
print(f"Likes: {stats['heartCount']:,}")
print(f"Videos: {stats['videoCount']}")

Additional Metadata to Extract

# Commerce info, seller status, room ID, account settings
grep -oP '"commerceUserInfo":\{[^}]*\}|"category":"[^"]*"|"ttSeller":[a-z]+|"roomId":"[^"]*"|"privateAccount":[a-z]+|"nickNameModifyTime":\d+|"openFavorite":[a-z]+' /tmp/tiktok_profile.html

Get secUid (needed for API calls)

grep -oP '"secUid":"[^"]*"' /tmp/tiktok_profile.html | head -1

Step 2: Calculate Health Metrics

MetricFormulaHealthy RangeWarning
Engagement Rate(avg_likes / followers) × 1004-8%<3% is low
Likes-to-Follower Ratiototal_likes / followers10-20+<5 = ghost followers
Follower:Following Ratiofollowers / following50:1+ for brands<10:1 = follow-for-follow
Video Outputvideos / account_age_months30-90/month (1-3/day)<10/month is too low
LIVE Retention Rateavg_viewers / total_viewers × 1005-15%<1% = bounce problem
LIVE PCU RatioPCU / avg_viewers2-4x>10x = spike then crash

Step 3: Interpret LIVE Analytics Screenshots

Key Metrics to Look For (TikTok LIVE)

  • Rata-Rata Penonton = Average concurrent viewers
  • PCU = Peak Concurrent Users
  • Penonton = Total unique viewers
  • GMV = Gross Merchandise Value (sales)
  • CTR LIVE = Click-through rate on products
  • Barang terjual = Items sold

Trend Graph Interpretation

  • Menonton (red) = Currently watching — should stay stable or rise
  • Masuk (blue) = Entering — inflow rate
  • Keluar (green) = Leaving — outflow rate
  • Healthy pattern: Masuk > Keluar, Menonton rises over time
  • Unhealthy pattern: Keluar > Masuk early, Menonton drops and flatlines

Traffic Sources (Sumber Penonton)

  • Feed Untuk Anda (FYP) — Algorithmic reach (usually 60-90%)
  • Tombol LIVE — Followers clicking LIVE notification
  • Tab Shop — Discovery via TikTok Shop tab
  • Lainnya — Other sources (search, profile visits, shares)

Buyer Profile (Profil Pembeli)

  • Jenis kelamin = Gender split
  • Usia = Age demographics
  • Pengikut = Follower vs non-follower buyers

Step 4: Common Diagnoses

Pattern: High Total Viewers, Low Average (Bounce Problem)

  • Cause: Hook is weak — viewers enter and leave within seconds
  • Evidence: Keluar line tracks Masuk line closely; Menonton stays flat/low
  • Fix: Stronger first-3-second hook, engaging title, immediate interaction

Pattern: FYP Traffic High % but Low Absolute Numbers

  • Cause: Algorithm has "cooled" the account — still sending FYP traffic but to fewer people
  • Evidence: FYP % similar to before but total viewers way down
  • Fix: Rebuild algorithm trust via consistent posting + high-retention content

Pattern: Performance Cliff (Was Good, Now Bad)

  • Causes (check in order):
    1. Posting frequency dropped → algorithm deprioritized
    2. Content/niche changed → audience mismatch
    3. Community guidelines violation/warning → shadow restriction
    4. Ghost followers accumulated → engagement rate tanked
    5. Increased competition in niche

Pattern: Commerce User but Not TT Seller

  • Impact: Doesn't get seller-tier algorithm priority for LIVE shopping
  • Fix: Register as official TikTok Shop seller if eligible

Step 5: Recommendation Framework

Bio Optimization Template

[Emoji] [What you sell — specific]
[Emoji] LIVE [Schedule — day + time]
[Emoji] [Value prop / price hook]

Example:

👗 Fashion Wanita Murah & Berkualitas
🔴 LIVE Setiap Hari Jam 19:00-21:00
💰 Harga Mulai 25rb!

Recovery Timeline

PhaseDurationFocus
FoundationWeek 1-2Fix bio, clean following list, post 2-3 videos/day
Warm-upWeek 3-4Daily LIVE at consistent time, video teasers before LIVE
ScaleMonth 2+TikTok Promote, collaborations, flash sales during LIVE

LIVE Retention Tactics

  • Giveaway/games every 15-20 minutes
  • Greet every viewer by name
  • "Surprise coming in 5 minutes" hooks
  • Flash sales with countdown timers
  • Pin products and mention them regularly

Pitfalls

  1. TikTok anti-bot detection: curl fetches may return empty itemList (videos). The profile metadata still comes through in __UNIVERSAL_DATA_FOR_REHYDRATION__. Video-level data requires a real browser or authenticated API.
  2. Bot classification: TikTok sets "botType": "others" and "needFix": true on bot-detected requests. Profile stats are still accurate; video lists are withheld.
  3. API endpoints blocked: Direct API calls like /api/post/item_list/ return empty responses without proper cookies/tokens. Don't waste time on these.
  4. Indonesian language: TikTok Shop analytics in Indonesia use Bahasa. Key terms: Penonton=Viewers, Keterlibatan=Engagement, Jangkauan=Reach, Konversi=Conversion, Barang terjual=Items sold, Pesanan=Orders.
  5. Timestamp conversion: createTime and nickNameModifyTime are Unix timestamps. Use datetime.fromtimestamp().
  6. Screenshot analysis: When user sends analytics screenshots, the image description provides structured data. Cross-reference multiple screenshots to build the full picture.

Output Format

Present audit results as:

  1. Data table — Profile stats with health indicators (✅/⚠️/🔴)
  2. Ratio analysis — Calculated metrics vs benchmarks
  3. Root cause chain — Visual cause→effect flow showing why performance dropped
  4. Prioritized action plan — Phased recommendations (Foundation → Warm-up → Scale)

References

  • references/tiktok-profile-fields.md — All extractable fields from TikTok profile HTML
  • references/tiktok-analytics-terms-id.md — Indonesian↔English analytics terminology

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Drives development with tests. Use when implementing any logic, fixing any bug, or changing any behavior. Use when you need to prove that code works, when a bug report arrives, or when you're about to modify existing functionality.

日本語の概要は準備中です。原文の説明を表示しています。

kevinnft/ai-agent-skills132026年8月1日 更新

airtable

無料

Airtable REST API via curl. Records CRUD, filters, upserts.

日本語の概要は準備中です。原文の説明を表示しています。

kevinnft/ai-agent-skills132026年8月1日 更新

Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.

日本語の概要は準備中です。原文の説明を表示しています。

kevinnft/ai-agent-skills132026年8月1日 更新

Build monitoring bots that poll APIs and send notifications on state changes (new listings, price alerts, status updates)

日本語の概要は準備中です。原文の説明を表示しています。

kevinnft/ai-agent-skills132026年8月1日 更新

REST/GraphQL API testing with automated validation — test endpoints, validate responses, check status codes, and ensure API contracts

日本語の概要は準備中です。原文の説明を表示しています。

kevinnft/ai-agent-skills132026年8月1日 更新

Manage Apple Notes via memo CLI: create, search, edit.

日本語の概要は準備中です。原文の説明を表示しています。

kevinnft/ai-agent-skills132026年8月1日 更新

kevinnft のスキルをすべて見る

このスキルの問題を報告する