SuperAPI AI Directory

lark-workflow-social-tracker

Office & productivity

View repository

Updated 10-15 23:59

About this skill

Social Media Data Tracking Workflow

CRITICAL — Before starting, you MUST first use the Read tool to read ../lark-shared/SKILL.md, which contains authentication and permission handling

Use Cases

  • "Help me record today's social data" / "Data snapshot"
  • "Which platform grew fastest this week?" / "Follower trends"
  • "Which content performed best recently?" / "Content performance analysis"
  • "What are the differences in engagement trends between YouTube and Instagram?" / "Cross-platform comparison"
  • "Add/remove social accounts" / "Account management"

Prerequisites

Only supports user identity. Ensure authorization before execution:

lark-cli auth login --domain base,sheets,im

Data source description: At the framework stage, social media data is obtained through the following methods:

  1. AI WebSearch: Search publicly available social media data (such as Social Blade)
  2. Manual user entry: Users provide data directly, and AI records it into the multidimensional table
  3. API integration (future): Reserve external API integration points, which can later connect to official APIs of various platforms

Workflow Overview

账号管理:
  base +record-upsert ──► 维护账号配置

数据采集:
  ├── WebSearch ──────────► 获取公开数据(框架阶段)
  ├── 用户手动输入 ────────► 直接录入数据
  └── [未来] API 调用 ────► 官方 API

数据存储:
  base +record-upsert ──► 每日快照 + 内容表现

趋势分析:
  base +record-list ──► 历史数据 ──► AI 分析趋势
  sheets +write ──────► 生成分析报表

通知:
  im +messages-send ──► 里程碑/异常通知

Data Initialization

Base Table Structure

Table 1: Account Configuration (social_accounts)

Field Name Type Description
Platform Single select YouTube/Instagram/Twitter(X)/TikTok/WeChat Official Account/Bilibili/Other
Account Name Text Account display name
Account ID Text Platform unique identifier (@handle or numeric ID)
Homepage Link URL Account homepage URL
Category Single select Personal/Brand/Company/Project
Status Single select Active/Paused/Closed
Notes Text Free-form notes
Tracking Start Date Date Date tracking started

Table 2: Daily Snapshots (daily_snapshots)

Field Name Type Description
Platform Text Platform name
Account ID Text Associated account
Snapshot Date Date Data date
Follower Count Number Total followers/followers count
Following Count Number How many accounts are followed
Total Content Number Total number of published content
New Followers Number Number of new followers that day (compared with the previous day)
New content Number Number of content published that day
Engagement rate Number Engagement rate that day (%), if available
Total likes Number Total likes across all content
Total comments Number Total comments across all content
Notes Text Special events that day (such as trending)
Data source Single select WebSearch/Manual entry/API

Table 3: Content performance (content_performance)

Field name Type Description
Platform Text Platform name
Account ID Text Associated account
Content ID Text Unique identifier of the content
Content title Text Title or description
Content type Single select Video/Image-text/Live/Short video/Post/Article
Publish date Date Publish time
Likes Number Likes that day
Comments Number Comments that day
Shares Number Shares/reposts that day
Views Number Plays/views
Engagement rate Number Engagement rate (%)
Notes Text Such as trending/recommended, etc.
Data source Single select WebSearch/Manual entry/API

Initialization command

# 注意:+table-create 可能部分成功,需捕获错误后用 +field-create 补字段
# 注意:连续创建字段会触发限流(错误码 800004135),每次调用间隔至少 1 秒
lark-cli base +table-create --name "社交账号" --fields '[
  {"name":"平台","type":"select","multiple":false,"options":[{"name":"YouTube"},{"name":"Instagram"},{"name":"Twitter(X)"},{"name":"TikTok"},{"name":"微信公众号"},{"name":"B站"},{"name":"其他"}]},
  {"name":"账号名","type":"text"},
  {"name":"账号ID","type":"text"},
  {"name":"主页链接","type":"link"},
  {"name":"类别","type":"select","multiple":false,"options":[{"name":"个人"},{"name":"品牌"},{"name":"公司"},{"name":"项目"}]},
  {"name":"状态","type":"select","multiple":false,"options":[{"name":"活跃"},{"name":"暂停"},{"name":"已关闭"}]},
  {"name":"备注","type":"text"},
  {"name":"追踪开始日期","type":"datetime"}
]'
lark-cli base +table-create --name "每日快照" --fields '[
  {"name":"平台","type":"text"},
  {"name":"账号ID","type":"text"},
  {"name":"快照日期","type":"datetime"},
  {"name":"粉丝数","type":"number"},
  {"name":"关注数","type":"number"},
  {"name":"内容总数","type":"number"},
  {"name":"新增粉丝","type":"number"},
  {"name":"新增内容","type":"number"},
  {"name":"互动率","type":"number"},
  {"name":"总点赞","type":"number"},
  {"name":"总评论","type":"number"},
  {"name":"备注","type":"text"},
  {"name":"数据来源","type":"select","multiple":false,"options":[{"name":"WebSearch"},{"name":"手动录入"},{"name":"API"}]}
]'
lark-cli base +table-create --name "内容表现" --fields '[
  {"name":"平台","type":"text"},
  {"name":"账号ID","type":"text"},
  {"name":"内容ID","type":"text"},
  {"name":"内容标题","type":"text"},
  {"name":"内容类型","type":"select","multiple":false,"options":[{"name":"视频"},{"name":"图文"},{"name":"直播"},{"name":"短视频"},{"name":"推文"},{"name":"文章"}]},
  {"name":"发布日期","type":"datetime"},
  {"name":"点赞数","type":"number"},
  {"name":"评论数","type":"number"},
  {"name":"分享数","type":"number"},
  {"name":"播放数","type":"number"},
  {"name":"互动率","type":"number"},
  {"name":"备注","type":"text"},
  {"name":"数据来源","type":"select","multiple":false,"options":[{"name":"WebSearch"},{"name":"手动录入"},{"name":"API"}]}
]'

Rate limit handling: If +table-create partially fails due to rate limiting, the table will still be created successfully. In this case:

  1. Use base +table-list to get the table_id
  2. Use base +field-create --table-id <id> --json '{"name":"字段名","type":"text"}' to add fields one by one, with an interval of 1-2 seconds each time

Mode 1: Account management

Add account

lark-cli base +record-upsert --table-id "<accounts_table_id>" --json '{
  "平台": "YouTube",
  "账号名": "MyChannel",
  "账号ID": "@mychannel",
  "主页链接": "https://youtube.com/@mychannel",
  "类别": "个人",
  "状态": "活跃",
  "追踪开始日期": "2026-03-31"
}'

View account list

lark-cli base +record-list --table-id "<accounts_table_id>" --filter '...状态 = "活跃"'

Mode 2: Daily snapshot

Method A: WebSearch retrieval (framework stage)

AI processing:

  1. Get the list of active accounts
  2. Search for each account's public data via WebSearch
  3. Search keywords such as: "@handle Social Blade", "@handle subscribers count"
  4. Extract data such as follower count and content count
  5. Compare with the previous day's snapshot and calculate the increment

Method B: Manual entry

The user provides data directly:

  • "YouTube reached 1000 followers today"
  • "Instagram gained 50 followers yesterday"

AI processing:

  1. Parse the numbers provided by the user
  2. Look up the previous day's snapshot
  3. Calculate the delta
  4. Record to the snapshot table

Record snapshot

lark-cli base +record-upsert --table-id "<snapshots_table_id>" --json '{
  "平台": "YouTube",
  "账号ID": "@mychannel",
  "快照日期": "2026-03-31",
  "粉丝数": 1000,
  "关注数": 50,
  "内容总数": 45,
  "新增粉丝": 12,
  "新增内容": 1,
  "数据来源": "WebSearch"
}'

Mode 3: Content performance recording

Record content data

lark-cli base +record-upsert --table-id "<content_table_id>" --json '{
  "平台": "YouTube",
  "账号ID": "@mychannel",
  "内容ID": "abc123",
  "内容标题": "如何使用飞书CLI",
  "内容类型": "视频",
  "发布日期": "2026-03-30",
  "点赞数": 150,
  "评论数": 30,
  "分享数": 10,
  "播放数": 5000
}'

Mode 4: Trend analysis

Cross-platform comparison

# 获取指定时间范围的快照
lark-cli base +record-list --table-id "<snapshots_table_id>" --filter '...快照日期 >= "30天前"'

AI analysis:

  1. Calculate the growth rate and growth trend of each platform
  2. Compare the engagement rates of different platforms
  3. Identify the fastest-growing platform and the slowest-growing platform
  4. Analyze the relationship between posting frequency and growth

Output format

## 社交媒体趋势报告({日期范围})

### 增长概览
| 平台 | 起始粉丝 | 结束粉丝 | 增长率 | 新增内容 | 互动率 |
|------|---------|---------|--------|---------|--------|
| YouTube | 800 | 1000 | +25% | 4 | 3.2% |
| Instagram | 500 | 550 | +10% | 10 | 5.1% |
| Twitter | 200 | 230 | +15% | 25 | 1.8% |

### 关键发现
- 增长最快:YouTube(+25%)
- 互动率最高:Instagram(5.1%)
- 发布最活跃:Twitter(25条内容)
- 建议:YouTube虽然增长快,但内容产出较少,考虑增加发布频率

### 内容表现 TOP 5
| 平台 | 内容标题 | 点赞 | 评论 | 互动率 |
|------|---------|------|------|--------|
| YT | 如何使用飞书CLI | 150 | 30 | 3.6% |
...

Generate report (optional)

Save the trend analysis as a Feishu spreadsheet:

lark-cli sheets +create --title "社交媒体趋势 ({日期范围})" --data "<表格数据>"

Mode 5: Milestone notifications

Send a Feishu message notification when an important change is detected:

  • Follower count reaches an integer milestone (1000, 5000, 10000...)
  • Single-day new followers hit a record high
  • A piece of content performs exceptionally well (engagement rate exceeds 3 times the average)
  • Negative growth occurs (losing followers)
lark-cli im +messages-send --chat-id "<chat_id>" --markdown "<通知内容>"

Mode 6: Scheduled snapshots

Use CronCreate to set up daily automatic collection:

# 每天晚上 22:30 自动采集社交媒体数据
CronCreate: cron="30 22 * * *", prompt="采集今天的社交媒体数据快照,记录到多维表格", recurring=true

Future extension: API integration

The following are reserved external API integration points that can be gradually implemented later:

Platform API Data type
YouTube YouTube Data API v3 Follower count, play count, engagement
Instagram Instagram Graph API Follower count, engagement, Stories data
Twitter/X Twitter API v2 Follower count, tweet engagement
TikTok TikTok Content Posting API Follower count, video data
Bilibili Bilibili API Follower count, play count, engagement
WeChat Official Account WeChat Official Platform API Follower count, read count

After the API is integrated, update the 数据来源 field from "WebSearch" to "API", and snapshot collection will become automated.


Permissions table

Command Required scope
base +table-create bitable:app
base +record-list bitable:app:read
base +record-upsert bitable:app:write
sheets +create sheets:spreadsheet:create
sheets +write sheets:spreadsheet:write
im +messages-send im:message:send_as_bot

Reference