gingiris-twitter-agent-ops
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTwitter/X Agent 运营 SOP v2
Twitter/X Agent Operations SOP v2
版本说明:v2 草稿。v1 给了你整套方法论框架,v2 的重点是: 「已经在跑了,怎么确保不出事、出了事怎么发现、发现了怎么处理」。
Version Note: v2 draft. v1 provided you with the complete methodology framework, v2 focuses on: "It's already running, how to ensure no issues occur, how to detect issues when they happen, and how to handle them once detected."
⚠️ 开始之前:三个真实事故
⚠️ Before Starting: Three Real Incidents
在讲 SOP 之前,先讲三个真实踩过的坑。这三件事决定了 v2 的核心设计。
事故 1:cron 超时失败 2 周没人发现
cron job 连续超时失败,没有任何监控机制,整整 2 周没有推文发出。等发现时,粉丝增长已经明显停滞,算法分发也已经冷却。
→ v2 修复:强制日报机制,发推后必填,缺了就是异常信号。
事故 2:v0.dev 流量数据相差 17 倍,被用户公开指出
推文中引用了单一数据源(DataForSEO)的「非品牌有机搜索」数字,没有交叉验证,被 @gefei55(哥飞)等用户公开指出数据不准,差了整整 17 倍。
→ v2 修复:红线自检中加入「数字来源可查」强制检查项,无来源数字不发。
事故 3:某一话题提及频率过高,被用户指出「天天蹭流量」
某段时期内容过度集中在同一品牌/话题上,用户公开反馈感觉是在持续蹭热度,而不是真正分享。
→ v2 修复:任何借势话题每月提及上限 1-2 次,在发推前检查本月该话题已出现次数。
Before discussing the SOP, let's talk about three real pitfalls we encountered. These three incidents determined the core design of v2.
Incident 1: Cron timed out and failed for 2 weeks without being detected
The cron job timed out and failed continuously, with no monitoring mechanism in place. No tweets were sent for a full 2 weeks. By the time it was discovered, follower growth had clearly stagnated, and algorithmic distribution had cooled down.
→ v2 Fix: Mandatory daily log mechanism, must be filled out after posting; missing logs are abnormal signals.
Incident 2: Traffic data from v0.dev was 17 times off, publicly pointed out by users
The tweet cited "non-brand organic search" figures from a single data source (DataForSEO) without cross-validation. Users like @gefei55 publicly pointed out that the data was inaccurate, with a full 17-fold discrepancy.
→ v2 Fix: Add "verifiable data source" as a mandatory check item in the red-line self-check; no numbers without sources are allowed to be posted.
Incident 3: A topic was mentioned too frequently, with users pointing out "constantly riding trends"
Content was overly concentrated on the same brand/topic during a certain period, and users publicly反馈 that it felt like continuous trend-chasing rather than genuine sharing.
→ v2 Fix: Maximum 1-2 mentions per month for any trend-related topic; check the number of mentions of the topic this month before posting.
第一步:开局 Context 收集(对话式,必须完成)
Step 1: Onboarding Context Collection (Conversational, Mandatory Completion)
Agent 开始运营前,逐步引导用户提供信息,一次只问一个问题。不要一次抛出大表格——用户看到 6 个问题就会不想填。
收集完后给出一段状态判断,再开始工作。
Before the Agent starts operations, gradually guide the user to provide information, asking one question at a time. Don't throw out a large form all at once—users will lose interest when they see 6 questions.
After collecting the information, provide a status assessment before starting work.
对话引导脚本(按顺序执行)
Conversational Guidance Script (Execute in Order)
Q1(先问这个)
你的 Twitter/X 账号是什么?现在有多少粉丝?
→ 记录账号名和粉丝基线,作为后续增长对比
Q2
这个账号主要发什么语言?怎么发推的?
语言(可多选):
A) 中文
B) 英文
C) 中英都有
发布方式:
A) 手动发
B) Buffer 排期
C) API 直发(cron 自动)
D) 不确定 → 先检查发布机制再继续,cron 挂掉 2 周没人知道是真实事故
→ API 直发:中文账号用 OAuth1 四字段凭证;英文账号用 Buffer channel;两套不能混用
Q3
有素材库吗?
A) 有,大概还有 ___ 条没用(存在:本地文件 / Notion / 飞书 / 其他)
B) 有,但不确定有多少
C) 没有
→ A 且条数 ≤ 3:本次先补素材,再排期
→ C:第一任务建素材库,今天不开始写推文
Q4
最近发推有记录吗?
A) 有 MASTER-STATUS.md 或类似运营日志
B) 有,我可以粘贴最近几条推文
C) 没有任何记录
→ A 或 B:检查是否有断更,避免重复内容
→ C:先建 MASTER-STATUS.md,这是整个系统的单一真相来源
Q5
你现在最想让读者记住你的哪 1-2 件事?受众是什么人?
(自由填写,没有选项——这个要你自己说)
→ 确定内容方向,避免选题漂移
Q6(最后问)
现在最重要的目标是什么?
A) 涨粉
B) 引流到某个链接(是哪个链接?___)
C) 建立信任感 / 个人品牌
D) 以上都有,但最重要的是 ___
→ CTA 链接写进每条推文的 reply 策略,不放正文(正文带链接算法惩罚展示量 30-90%)
Q1 (Ask This First)
What is your Twitter/X account? How many followers do you have now?
→ Record the account name and follower baseline for subsequent growth comparisons
Q2
What language does this account mainly post in? How do you post tweets?
Language (Multiple Selection Allowed):
A) Chinese
B) English
C) Both Chinese and English
Posting Method:
A) Manual posting
B) Buffer scheduling
C) Direct API posting (cron automation)
D) Unsure → Check the posting mechanism first before proceeding; cron failing for 2 weeks without detection is a real incident
→ Direct API posting: Chinese accounts use OAuth1 four-field credentials; English accounts use Buffer channel; the two sets cannot be mixed
Q3
Do you have a content pool?
A) Yes, there are approximately ___ unused items (stored in: local file / Notion / Feishu / other)
B) Yes, but unsure of the quantity
C) No
→ A and quantity ≤3: First supplement content pool, then schedule
→ C: First task is to build a content pool; do not start writing tweets today
Q4
Do you have records of recent tweets?
A) Yes, there is MASTER-STATUS.md or similar operation logs
B) Yes, I can paste the recent tweets
C) No records at all
→ A or B: Check for missed posts to avoid duplicate content
→ C: First create MASTER-STATUS.md, which is the single source of truth for the entire system
Q5
What 1-2 things do you most want readers to remember about you? Who is your audience?
(Free fill-in, no options—you need to state this yourself)
→ Determine content direction to avoid topic drift
Q6 (Ask Last)
What is your most important goal right now?
A) Follower growth
B) Drive traffic to a link (which link? ___)
C) Build trust / personal brand
D) All of the above, but the most important is ___
→ Write the CTA link into the reply strategy for each tweet; do not put it in the main text (main text with links will be penalized 30-90% in impressions by the algorithm)
全部收集后:输出状态判断
After Collecting All Information: Output Status Assessment
📊 当前状态:
- 账号:[@handle],当前 [X] 粉
- 发布机制:[OAuth1 直发 / Buffer / 手动]
- 素材库:[N] 条可用
- 上周发布:[有记录 / 无记录,需建 MASTER-STATUS.md]
- 内容方向:[用户给的 1-2 件事]
- 本阶段 CTA:[目标 + 链接]
→ 接下来做什么:[3 步以内]📊 Current Status:
- Account: [@handle], current [X] followers
- Posting Mechanism: [OAuth1 direct posting / Buffer / manual]
- Content Pool: [N] available items
- Last Week's Posts: [Records exist / No records, need to create MASTER-STATUS.md]
- Content Direction: [1-2 things provided by user]
- Current Stage CTA: [Goal + link]
→ Next Steps: [No more than 3 steps]判断矩阵(Agent 内部参考)
Decision Matrix (Internal Reference for Agent)
| 情况 | 判断 | 处理方式 |
|---|---|---|
| cron 状态不确定 | 🚨 紧急 | 先检查 cron,确认正常再开始内容工作 |
| 素材库 ≤ 3 条 | ⚠️ 预警 | 本次运营优先补充素材库,不排期 |
| 素材库为空 | 🚨 阻塞 | 必须先建素材库才能排期 |
| 上周发布记录缺失 | ⚠️ 提醒 | 让用户打开 MASTER-STATUS.md 核查 |
| MASTER-STATUS.md 不存在 | 🚨 首次运营 | 本次任务先建立 MASTER-STATUS.md |
| Scenario | Assessment | Handling Method |
|---|---|---|
| Uncertain cron status | 🚨 Urgent | First check cron, confirm it's normal before starting content work |
| Content pool ≤3 items | ⚠️ Warning | Prioritize supplementing content pool in this operation, do not schedule |
| Empty content pool | 🚨 Blocked | Must build content pool first before scheduling |
| Missing last week's post records | ⚠️ Reminder | Ask user to open MASTER-STATUS.md for verification |
| MASTER-STATUS.md does not exist | 🚨 First-time operation | First task is to create MASTER-STATUS.md |
第二步:MASTER-STATUS.md — 唯一真相来源
Step 2: MASTER-STATUS.md — The Only Source of Truth
这是整个系统中最重要的文件。 任何对话开始前,任何推文发出前后,都必须读写这个文件。
MASTER-STATUS.md 路径:[工作目录]/MASTER-STATUS.mdThis is the most important file in the entire system. Before any conversation starts, and before and after any tweet is sent, you must read and write this file.
MASTER-STATUS.md Path: [Working Directory]/MASTER-STATUS.md为什么这个文件不可缺少
Why This File Is Indispensable
AI 的上下文会被压缩、重置、遗忘。压缩后的记忆摘要不可信——它不会告诉你「今天发没发推」,它只会给你一个看起来合理但可能错误的答案。
只有 MASTER-STATUS.md 是事实。
这个教训在运营中被纠正了不止 5 次,每一次出问题都是因为没有在对话开始时读这个文件。
AI context will be compressed, reset, and forgotten. Compressed memory summaries are unreliable—it won't tell you "whether a tweet was sent today", it will only give you a seemingly reasonable but possibly wrong answer.
Only MASTER-STATUS.md is the truth.
This lesson was learned more than 5 times during operations; every problem occurred because this file was not read at the start of the conversation.
MASTER-STATUS.md 最小结构
Minimal Structure of MASTER-STATUS.md
markdown
undefinedmarkdown
undefinedMASTER-STATUS.md — [账号名] 推特运营主状态文件
MASTER-STATUS.md — [Account Name] Twitter Operations Master Status File
最后更新:[日期时间] 更新规则:每次发推后立即更新 Section 1 和 Section 2
Last Updated: [Date and Time] Update Rule: Immediately update Section 1 and Section 2 after each tweet is sent
Section 0:红线零号(每次对话开始必读)
Section 0: Red Line Zero (Must Read at the Start of Every Conversation)
不论什么原因开启了新对话,第一件事就是读这个文件的 Section 1。
上下文压缩后记忆摘要不可信——只有 Section 1 才是发布事实。
今天发没发推:查 Section 1,不要凭记忆回答。
No matter why a new conversation is started, the first thing to do is read Section 1 of this file.
Compressed context memory summaries are unreliable—only Section 1 reflects posting facts.
To check if a tweet was sent today: look at Section 1, do not rely on memory.
Section 1:已发推文完整清单
Section 1: Complete List of Sent Tweets
| 日期 | Tweet ID | 主题标签 | 内容摘要 | 发布平台 |
|---|---|---|---|---|
| [日期] | [ID] | [#标签] | [一句话摘要] | [中推/英推/LinkedIn/Threads] |
| Date | Tweet ID | Hashtags | Content Summary | Posting Platform |
|---|---|---|---|---|
| [Date] | [ID] | [#hashtags] | [One-sentence summary] | [Chinese Tweet/English Tweet/LinkedIn/Threads] |
Section 2:素材库状态
Section 2: Content Pool Status
| 编号 | 主题 | 核心角度 | 状态 | 使用日期 | 备注 |
|---|---|---|---|---|---|
| S001 | [ ]未用 / [✅]已用 |
| ID | Topic | Core Angle | Status | Usage Date | Notes |
|---|---|---|---|---|---|
| S001 | [ ] Unused / [✅] Used |
Section 3:排期草稿
Section 3: Draft Schedule
| 日期 | 素材编号 | 主题摘要 | 状态 |
|---|---|---|---|
| [ ]未发 / [✅]已发 / [⚠️]类似内容已发 |
| Date | Content ID | Topic Summary | Status |
|---|---|---|---|
| [ ] Unsent / [✅] Sent / [⚠️] Similar content already sent |
Section 4:借势话题提及追踪
Section 4: Trend Topic Mention Tracking
本月已提及次数:[N](上限 2 次/月)
上次提及日期:[日期]
上次提及的 Tweet ID:[ID]
Number of mentions this month: [N] (max 2 times/month)
Last mention date: [Date]
Tweet ID of last mention: [ID]
Section 5:账号发布凭证说明
Section 5: Account Posting Credential Instructions
-
中文账号(@[handle]):Twitter OAuth1 API 直发 凭证:consumer_key / consumer_secret / access_token / access_token_secret ⚠️ 这套凭证只用于中文账号,不可混用
-
英文账号(@[handle]):Buffer API 凭证:Buffer access_token + profile_id ⚠️ 这套凭证只用于英文账号,不可混用
----
Chinese Account (@[handle]): Twitter OAuth1 API direct posting Credentials: consumer_key / consumer_secret / access_token / access_token_secret ⚠️ This set of credentials is only for Chinese accounts, cannot be mixed
-
English Account (@[handle]): Buffer API Credentials: Buffer access_token + profile_id ⚠️ This set of credentials is only for English accounts, cannot be mixed
---第三步:推文日报(每次发推后必填)
Step 3: Tweet Daily Report (Mandatory After Every Tweet)
强制规则:推文发出后 5 分钟内完成日报,不得拖延。
日报的作用:
- 标记素材为「已用」,防止重复发布
- 记录发布状态,作为后续周报数据来源
- 立即捕获发布异常(token 过期、发布失败等)
Mandatory Rule: Complete the daily report within 5 minutes after the tweet is sent, no delays allowed.
Purpose of the daily report:
- Mark content as "used" to prevent duplicate posting
- Record posting status as the data source for subsequent weekly reports
- Immediately capture posting exceptions (token expiration, posting failure, etc.)
日报模板
Daily Report Template
推文日报 · [YYYY-MM-DD] · [@账号名]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【1】今日推文
Tweet ID:[ID](如未发出,写「未发布,原因:___」)
内容摘要(20字内):___________
发布时间:[HH:MM]
【2】素材追踪
使用的素材编号:[S001/S002/...]
素材来源标注:[播客ep-XX/文档标题/亲身经历]
素材状态更新:→ 已在 MASTER-STATUS.md Section 2 标为「已用」
剩余未用素材数:[N] 条
⚠️ 如果剩余 ≤ 3 条 → 提醒:「素材库告急,建议本周补充」
【3】平台发布状态
中文推(@[中文账号]):[ ] ✅ 成功 [ ] ❌ 失败 [ ] — 今日不发
英文推(@[英文账号]):[ ] ✅ 成功 [ ] ❌ 失败 [ ] — 今日不发
LinkedIn:[ ] ✅ 成功 [ ] ❌ 失败 [ ] — 今日不发
Threads:[ ] ✅ 成功 [ ] ❌ 失败 [ ] — 今日不发
【4】红线检查(见第四步)
过红线结果:[ ] 全部通过 [ ] 有项目未通过(详见下方)
未通过项目:___________(如有)
【5】异常
[ ] cron 超时或失败
[ ] Token 过期(哪个平台):___________
[ ] 内容发布后被修改或删除
[ ] 其他:___________
无异常:[ ] ✅
【6】MASTER-STATUS.md 更新
Section 1 已更新:[ ] ✅
Section 2 素材状态已更新:[ ] ✅
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Tweet Daily Report · [YYYY-MM-DD] · [@Account Name]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【1】Today's Tweet
Tweet ID: [ID] (if not sent, write "Not posted, reason: ___")
Content Summary (within 20 words): ___________
Posting Time: [HH:MM]
【2】Content Tracking
Content ID used: [S001/S002/...]
Content Source Label: [Podcast ep-XX/Document Title/Personal Experience]
Content Status Updated: → Marked as "Used" in MASTER-STATUS.md Section 2
Number of remaining unused content: [N]
⚠️ If remaining ≤3 items → Reminder: "Content pool is low, recommend supplementing this week"
【3】Platform Posting Status
Chinese Tweet (@[Chinese Account]): [ ] ✅ Success [ ] ❌ Failure [ ] — No post today
English Tweet (@[English Account]): [ ] ✅ Success [ ] ❌ Failure [ ] — No post today
LinkedIn: [ ] ✅ Success [ ] ❌ Failure [ ] — No post today
Threads: [ ] ✅ Success [ ] ❌ Failure [ ] — No post today
【4】Red Line Check (See Step 4)
Red Line Result: [ ] All passed [ ] Items not passed (details below)
Unpassed Items: ___________ (if any)
【5】Abnormalities
[ ] Cron timed out or failed
[ ] Token expired (which platform): ___________
[ ] Content modified or deleted after posting
[ ] Other: ___________
No abnormalities: [ ] ✅
【6】MASTER-STATUS.md Update
Section 1 updated: [ ] ✅
Section 2 content status updated: [ ] ✅
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━第四步:红线自检 Checklist(发推前 agent 必须过的关卡)
Step 4: Red Line Self-Check Checklist (Must Be Completed by Agent Before Posting)
发推前,逐项检查。任何一项未通过 → 不发,修改后重检。
发推前红线自检 · [YYYY-MM-DD]
━━━━━━━━━━━━━━━━━━━━━━━━━━
【格式红线】
☐ 是否是 single post?(不是 thread)
→ 如果是 thread,需要有充分理由,且本周只能有 1 个 thread
→ 来源:数据显示 thread 整体效果差于优质 single post
☐ 推文字数建议(基于真实账号后台数据)
实测数据:≤120 字平均曝光 393;121-220 字平均曝光 1,890(差距约 5 倍)
→ ⭐ 如果账号有 Twitter 会员(无字数限制),建议写 150-280 字充分展开内容,亲测更高转化
→ 如果没有会员,目标 120-220 字,在字数限制内把内容说透
→ 不要为了凑字数压缩内容——宁可写短,也不要写废话
【开头红线】
☐ 开头是否是「我」+ 具体瞬间/经历/数字?
→ ❌ 不允许:引用别人话语开头
→ ❌ 不允许:大命题式开头("AI时代一个反直觉的事")
→ ❌ 不允许:哲理金句直接开头
→ ❌ 不允许:无主语大词开头
【数据红线】(⭐ 来自 v0.dev 事故)
☐ 推文中是否有数字?
如果有:
☐ 每个数字的来源是否可以明确说出来?
→ 来源示例:「播客 ep03 原文第 XX 行」「GSC 截图」「Semrush 2026-07 数据」
→ ❌ 如果数字来源是单一 API 数据,是否已经用第二个数据源交叉验证?
→ ❌ 如果是流量类数字,是否区分了「非品牌有机搜索」和「月总有机流量」?
如果无法确认来源 → 删除数字,或换成「大约」并加括号说明「来源待核实」
【CTA 红线】
☐ CTA 是否在第一条 reply,而不是在推文正文?
→ 正文带链接会被 X 算法惩罚展示量 30-90%
【频率红线】
☐ 今天已经发过原创推文了吗?
→ 查 MASTER-STATUS.md Section 1,找今天日期
→ 如果已发过 → 今天不再发原创推文(1条/天硬规则)
【MASTER-STATUS.md 检查】
☐ 是否已读今日 MASTER-STATUS.md Section 1?
→ 这不是走过场。要确认今天的排期内容没有在 30 天内发过类似角度
━━━━━━━━━━━━━━━━━━━━━━━━━━
所有 ☐ 必须全部勾选为 ✅ 才能发出推文。Before posting, check item by item. If any item fails → Do not post, revise and recheck.
Pre-Post Red Line Self-Check · [YYYY-MM-DD]
━━━━━━━━━━━━━━━━━━━━━━━━━━
【Format Red Line】
☐ Is it a single post? (Not a thread)
→ If it's a thread, there must be a sufficient reason, and only 1 thread is allowed this week
→ Source: Data shows overall thread performance is worse than high-quality single posts
☐ Recommended tweet word count (based on real account backend data)
Actual data: ≤120 words average impressions 393; 121-220 words average impressions 1,890 (about 5 times difference)
→ ⭐ If the account has Twitter Premium (no word limit), recommend writing 150-280 words to fully expand content, which has been proven to drive higher conversion
→ If no Premium, target 120-220 words, explain content thoroughly within the word limit
→ Do not compress content to meet word count—better to write short than to write nonsense
【Opening Red Line】
☐ Does the opening start with "I" + specific moment/experience/number?
→ ❌ Not allowed: Starting with quotes from others
→ ❌ Not allowed: Grand proposition opening ("A counterintuitive thing in the AI era")
→ ❌ Not allowed: Starting with philosophical golden sentences directly
→ ❌ Not allowed: Starting with big words without a subject
【Data Red Line】 (⭐ From v0.dev incident)
☐ Are there numbers in the tweet?
If yes:
☐ Can the source of each number be clearly stated?
→ Source examples: "Podcast ep03 original text line XX" "GSC screenshot" "Semrush 2026-07 data"
→ ❌ If the number comes from a single API data source, has it been cross-validated with a second data source?
→ ❌ If it's traffic-related numbers, have you distinguished between "non-brand organic search" and "monthly total organic traffic"?
If source cannot be confirmed → Delete the number, or replace with "approximately" and add a note "Source to be verified"
【CTA Red Line】
☐ Is the CTA in the first reply, not in the tweet main text?
→ Main text with links will be penalized 30-90% in impressions by X's algorithm
【Frequency Red Line】
☐ Have you already posted an original tweet today?
→ Check MASTER-STATUS.md Section 1 for today's date
→ If already posted → No more original tweets today (1 per day hard rule)
【MASTER-STATUS.md Check】
☐ Have you read MASTER-STATUS.md Section 1 today?
→ This is not a formality. Confirm that today's scheduled content has not been posted from a similar angle within 30 days
━━━━━━━━━━━━━━━━━━━━━━━━━━
All ☐ must be checked as ✅ before sending the tweet.第五步:推文周报(每周一生成)
Step 5: Tweet Weekly Report (Generated Every Monday)
每周一上午,在发推之前,先生成上周的周报。
Every Monday morning, generate last week's weekly report before posting tweets.
周报模板
Weekly Report Template
推文周报 · [YYYY-W周数,如 2026-W31]
涵盖日期:[开始日期] – [结束日期]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【1】本周发布情况
原创推文:[N] 条
Thread:[N] 个
回复/QT:[N] 条
发布成功率:[%](有无发布失败)
【2】粉丝数据
周期起点粉丝:[N]
周期终点粉丝:[N]
本周净增:[+N](来源:手动记录 / follower-tracker.md)
日均涨粉:[N]
【3】内容表现
最高互动推文:Tweet ID [ID],展示量 [N],点赞 [N],转发 [N],收藏 [N]
最低互动推文:Tweet ID [ID]
本周内容类型分布:
长文(个人经历+数据):[N] 条
工具/资源帖:[N] 条
生活碎片/轻量:[N] 条
【4】素材库状态
本周消耗素材:[N] 条
当前剩余未用:[N] 条
⚠️ 如果剩余 ≤ 5 条 → 下周需要补充素材库
【5】红线检查
本周是否触碰任何红线:[ ] 否 [ ] 是
如果是,描述:___________
【6】借势话题提及记录(按话题分类,每月重置)
本月已提及次数:[N](上限 2 次/月)
【7】下周素材方向
主题 1:___________(优先级:高/中/低)
主题 2:___________
主题 3:___________(可选)
下周 CTA 目标:___________
【8】需要人工处理的事
(agent 不能自行处理的问题列在这里)
- ___________
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Tweet Weekly Report · [YYYY-WWeek Number, e.g., 2026-W31]
Coverage Period: [Start Date] – [End Date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【1】This Week's Posting Status
Original Tweets: [N]
Threads: [N]
Replies/QTs: [N]
Posting Success Rate: [%] (any posting failures?)
【2】Follower Data
Starting Followers: [N]
Ending Followers: [N]
Net Growth This Week: [+N] (Source: Manual record / follower-tracker.md)
Average Daily Follower Growth: [N]
【3】Content Performance
Highest Engagement Tweet: Tweet ID [ID], Impressions [N], Likes [N], Retweets [N], Bookmarks [N]
Lowest Engagement Tweet: Tweet ID [ID]
This Week's Content Type Distribution:
Long-form (personal experience + data): [N]
Tool/resource post: [N]
Life snippet/light content: [N]
【4】Content Pool Status
Content Consumed This Week: [N]
Current Remaining Unused Content: [N]
⚠️ If remaining ≤5 items → Need to supplement content pool next week
【5】Red Line Check
Any red lines violated this week: [ ] No [ ] Yes
If yes, description: ___________
【6】Trend Topic Mention Records (Categorized by topic, reset monthly)
Number of mentions this month: [N] (max 2 times/month)
【7】Next Week's Content Direction
Topic 1: ___________ (Priority: High/Medium/Low)
Topic 2: ___________
Topic 3: ___________ (Optional)
Next Week's CTA Goal: ___________
【8】Items Requiring Manual Handling
(Issues that cannot be handled by the agent are listed here)
- ___________
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━第六步:素材库建设与管理
Step 6: Content Pool Construction and Management
什么是素材库
What Is a Content Pool
素材库是推文内容的原料仓库。所有推文必须来自素材库中已有的素材,agent 不得无中生有。
素材来源:
- 一手素材:账号主人的播客/访谈/文章/社交媒体原帖
- 数据来源:可被核实的公开数据(注明来源和日期)
- 亲身经历:真实发生过的事(不能是推理或假设)
The content pool is the raw material warehouse for tweet content. All tweets must come from existing content in the content pool; the agent cannot create content out of thin air.
Content Sources:
- First-hand Content: Account owner's podcast/interview/article/social media original post
- Data Sources: Verifiable public data (注明 source and date)
- Personal Experience: Real events that have occurred (cannot be inference or assumption)
素材库结构(SOURCE-INDEX)
Content Pool Structure (SOURCE-INDEX)
markdown
undefinedmarkdown
undefinedSOURCE-INDEX
SOURCE-INDEX
| 编号 | 主题 | 来源 | 原文位置/链接 | 核心数字/论点 | 状态 | 发布记录 |
|---|---|---|---|---|---|---|
| S001 | 开源第一周 6000 Star | 播客 ep01 | 第77行:"第一个星期我们就6000个star" | 第一周 6000 Star | ✅已用 | 2026-04-26 |
| S002 | 643 个投资人 | 播客 ep06 | 第32行:"我们应该加了643个" | 643 投资人 | ✅已用 | 2026-06-12 |
| S003 | [待填写] | 🔲未用 |
undefined| ID | Topic | Source | Original Text Location/Link | Core Number/Argument | Status | Posting Record |
|---|---|---|---|---|---|---|
| S001 | 6000 Stars in First Week of Open Source | Podcast ep01 | Line 77: "We got 6000 stars in the first week" | 6000 Stars in First Week | ✅ Used | 2026-04-26 |
| S002 | 643 Investors | Podcast ep06 | Line 32: "We should have added 643" | 643 Investors | ✅ Used | 2026-06-12 |
| S003 | [To Be Filled] | 🔲 Unused |
undefined素材库管理规则
Content Pool Management Rules
标记规则:
- 发推后立即在 MASTER-STATUS.md Section 2 将对应素材标为「✅已用」
- 已用素材不得在 30 天内再次使用相同核心论点
- 素材可以「换角度」复用,但必须标注原素材编号和新角度
预警规则:
剩余未用素材 ≤ 3 条 → 立即提醒:
「⚠️ 素材库告急(剩余 [N] 条),
建议在下次运营会话中优先补充素材,
来源建议:[账号主人近期播客/文章/演讲]」
剩余未用素材 = 0 条 → 停止排期:
「❌ 素材库已耗尽,无法继续排期。
请先提供新素材(播客链接/文章/第一人称经历)再继续。」数据核实规则:
- 同一件事在不同场合说的数字可能有出入(如「3天 6000 Star」vs「第一周 6000 Star」)
- 取最可靠的版本,在素材库中标注「已核实,以[来源]为准」
- 不确定的数字不用——宁可删掉数字,也不用错误数字
Marking Rules:
- Immediately mark the corresponding content as "✅ Used" in MASTER-STATUS.md Section 2 after posting
- Used content cannot be reused with the same core argument within 30 days
- Content can be reused from a different angle, but must mark the original content ID and new angle
Alert Rules:
Remaining unused content ≤3 items → Immediate reminder:
「⚠️ Content pool is low (remaining [N] items),
Recommend prioritizing content supplementation in the next operation session,
Source recommendations: [Account owner's recent podcast/article/speech]」
Remaining unused content = 0 items → Stop scheduling:
「❌ Content pool is exhausted, cannot continue scheduling.
Please provide new content (podcast link/article/first-person experience) first before proceeding.」Data Verification Rules:
- Numbers for the same event may vary across different occasions (e.g., "6000 Stars in 3 days" vs "6000 Stars in first week")
- Choose the most reliable version, mark "Verified, based on [source]" in the content pool
- Do not use uncertain numbers—better to delete the number than to use incorrect data
第七步:账号发布机制(双账号双凭证)
Step 7: Account Posting Mechanism (Dual Accounts, Dual Credentials)
这是一个不允许搞混的硬规则。
This is a hard rule that cannot be mixed up.
中文账号(OAuth1 直发)
Chinese Account (OAuth1 Direct Posting)
发布方式:Twitter OAuth1 API 直发
API 调用方式:POST https://api.twitter.com/2/tweets
必须携带的凭证(4 个,缺一不可):
- consumer_key(App 的 API Key)
- consumer_secret(App 的 API Secret)
- access_token(账号级别)
- access_token_secret(账号级别)
注意事项:
- OAuth1 认证,不是 Bearer Token(Bearer Token 只能读,不能发推)
- 凭证定期检查是否过期(Twitter 开发者后台可以看到)
- ⚠️ 每套凭证只绑定一个账号,不可跨账号使用Posting Method: Twitter OAuth1 API direct posting
API Call Method: POST https://api.twitter.com/2/tweets
Mandatory Credentials (4, all required):
- consumer_key (App's API Key)
- consumer_secret (App's API Secret)
- access_token (Account-level)
- access_token_secret (Account-level)
Notes:
- OAuth1 authentication, not Bearer Token (Bearer Token can only read, cannot post tweets)
- Regularly check if credentials are expired (can be seen in Twitter Developer Portal)
- ⚠️ Each set of credentials is bound to only one account, cannot be used across accounts英文账号(Buffer API 发布)
English Account (Buffer API Posting)
发布方式:Buffer API
API 调用:POST https://api.bufferapp.com/1/updates/create.json
必须携带的参数:
- access_token(Buffer 账号的访问令牌)
- profile_ids[](Buffer 中目标账号对应的 profile ID)
- text(推文内容)
注意事项:
- Buffer 发布有调度延迟,不适合需要精确时间控制的发布
- ⚠️ profile_ids 必须对应正确的账号,不能用错
- 英文推文发布后,在 MASTER-STATUS.md 记录的是 Buffer 返回的 update_idPosting Method: Buffer API
API Call: POST https://api.bufferapp.com/1/updates/create.json
Mandatory Parameters:
- access_token (Buffer account's access token)
- profile_ids[] (Profile ID corresponding to the target account in Buffer)
- text (Tweet content)
Notes:
- Buffer posting has scheduling delays, not suitable for posts requiring precise time control
- ⚠️ profile_ids must correspond to the correct account, cannot be used incorrectly
- After posting English tweets, record the Buffer-returned update_id in MASTER-STATUS.md凭证混用预防规则
Credential Mixing Prevention Rules
发推前,agent 必须确认:
IF 目标账号是中文账号(OAuth1 直发):
→ 使用 OAuth1 凭证(4个字段)
→ 使用 Twitter API v2 直发接口
IF 目标账号是英文账号(Buffer 发布):
→ 使用 Buffer API access_token
→ 使用 Buffer 对应的 profile_id
如果凭证来源不明确 → 停止发布,询问用户确认。
宁可不发,也不发错账号。Before posting, the agent must confirm:
IF Target Account is Chinese Account (OAuth1 Direct Posting):
→ Use OAuth1 credentials (4 fields)
→ Use Twitter API v2 direct posting interface
IF Target Account is English Account (Buffer Posting):
→ Use Buffer API access_token
→ Use the corresponding Buffer profile_id
If credential source is unclear → Stop posting, ask user for confirmation.
Better not post than post to the wrong account.Cron 监控机制
Cron Monitoring Mechanism
来自事故经验:cron 超时失败可以连续 2 周没人发现。
建议监控方案:
1. cron 每次运行后,在 MASTER-STATUS.md 写一行:
「[日期时间] cron 运行:[成功/失败,原因]」
2. 每周日报生成时,检查:
「最近 7 天,cron 失败次数:[N]」
如果 > 0 → 提醒用户检查
3. 如果有能力接入邮件/Telegram 通知,在 cron 失败时发送告警
(不是必须的,但强烈推荐)
4. 最低保障方案:每周一周报生成时,自动检查
「过去 7 天,Section 1 中是否每天都有发布记录」
如果有连续 2 天以上没有记录 → 提醒用户核查From incident experience: Cron can time out and fail for 2 weeks without being detected.
Recommended Monitoring Solution:
1. After each cron run, write a line in MASTER-STATUS.md:
"[Date and Time] cron ran: [Success/Failure, reason]"
2. When generating the weekly report, check:
"Number of cron failures in the last 7 days: [N]"
If >0 → Remind user to check
3. If able to integrate email/Telegram notifications, send an alert when cron fails
(Not mandatory, but strongly recommended)
4. Minimum Guarantee Solution: When generating the weekly report every Monday, automatically check
"Whether there is a posting record for every day in Section 1 over the past 7 days"
If no records for 2 consecutive days or more → Remind user to verify第八步:内容创作方法论(来自真实账号 3,861 条推文数据分析)
Step 8: Content Creation Methodology (From Data Analysis of 3,861 Real Account Tweets)
这一节是 v1 的精华提炼,在 v2 中保留。数据来自向阳乔木的 X 运营研究。
This section is the essence of v1, retained in v2. Data comes from Xiangyang Qiaomu's X operation research.
四省模型(内容价值来自「帮读者少走几步」)
Four-Saving Model (Content Value Comes from "Helping Readers Take Fewer Steps")
| 省什么 | 具体来说 | 内容示例 |
|---|---|---|
| 省搜索 | 读者不用在信息海里找入口 | 「这 10 个工具的入口在这里」 |
| 省理解 | 读者不用自己猜复杂概念 | 「用一张图解释 PLG 是什么」 |
| 省试错 | 读者不用把坑全踩一遍 | 「我已经踩了这些坑,你不用踩了」 |
| 省表达 | 读者可以直接把这条转给别人 | 「帮你转发给老板/同事的版本」 |
| Save What | Details | Content Example |
|---|---|---|
| Save Search | Readers don't need to search for entry points in the information sea | "Here are the entry points for these 10 tools" |
| Save Understanding | Readers don't need to guess complex concepts | "Explain PLG with one diagram" |
| Save Trial-and-Error | Readers don't need to step into all the pitfalls | "I've stepped into these pitfalls, you don't have to" |
| Save Expression | Readers can directly forward this to others | "Version for you to forward to your boss/colleagues" |
内容类型权重(来自实战数据)
Content Type Weight (From Practical Data)
| 类型 | 推荐占比 | 进 Top 10% 概率 | 说明 |
|---|---|---|---|
| 长文(个人经历+数据+洞察) | 70% | ~26-28% | 爆款集中区 |
| 工具/资源帖 | 20% | ~39-51% | 书签数最高 |
| 生活碎片/轻量 | 10% | ~9% | 维持人味,不能太多 |
废弃类型(数据验证无效):
- 哲理金句短文(进 Top 10% 概率仅 ~7%,周均展示量废弃后 +266%)
- Thread 式长帖(整体效果差于高质量 single post,已改为谨慎使用)
| Type | Recommended Proportion | Probability of Entering Top 10% | Notes |
|---|---|---|---|
| Long-form (personal experience + data + insights) | 70% | ~26-28% | Concentrated area for viral content |
| Tool/resource post | 20% | ~39-51% | Highest number of bookmarks |
| Life snippet/light content | 10% | ~9% | Maintain human touch, cannot be too much |
Abandoned Types (Data-verified ineffective):
- Philosophical golden sentence short posts (probability of entering Top 10% only ~7%, weekly average impressions increased by 266% after abandonment)
- Thread-style long posts (overall performance worse than high-quality single posts, now used cautiously)
黄金区间
Golden Range
- 字数:120-220 字(实测平均曝光 1,890 vs ≤120 字的 393,差距约 5 倍);有 Twitter 会员可写到 280 字,充分展开效果更好
- 开头:「我」+ 具体经历/数字/瞬间(6 条爆款全部第一人称)
- 时间:固定时段,北京时间 14:00-15:00 或 17:00-18:00
- CTA:放在第一条 reply(不在正文,正文带链接算法惩罚 30-90%)
- Word Count: 120-220 words (actual average impressions 1,890 vs 393 for ≤120 words, about 5 times difference); Twitter Premium users can write up to 280 words, fully expanding content yields better results
- Opening: "I" + specific experience/number/moment (all 6 viral posts use first-person)
- Time: Fixed time slot, Beijing Time 14:00-15:00 or 17:00-18:00
- CTA: Place in first reply (not in main text; main text with links incurs 30-90% algorithmic penalty)
死亡开头黑名单
Death Opening Blacklist
以下开头模式,历史数据展示量最低,一律禁止:
❌ 「[别人的名言/引用]」开头
❌ 「AI 时代,有一个反直觉的事」(大命题)
❌ 「你有没有发现」(说教体)
❌ 「今天想聊一个大家都误解的概念」(吊卖关子)
❌ 纯哲理金句,没有第一人称故事
❌ 以产品/功能「发布了」「上线了」开头(公告体)The following opening patterns have the lowest historical impressions, strictly prohibited:
❌ Opening with "[Quotes/References from others]"
❌ "In the AI era, there's a counterintuitive thing" (grand proposition)
❌ "Have you noticed" (preaching style)
❌ "Today I want to talk about a concept everyone misunderstands" (teasing)
❌ Pure philosophical golden sentences without first-person stories
❌ Opening with "Launched"/"Released" for products/features (announcement style)Agent 系统提示词(完整版)
Agent System Prompt (Full Version)
你是 @[账号名] 的 Twitter/X 运营 Agent,你的主人是 [名字]。You are the Twitter/X Operations Agent for @[Account Name], and your owner is [Name].角色定义
Role Definition
帮主人每天发出 1 条像主人本人写的推文。
每条推文必须:来自真实素材库、通过红线自检、记录进 MASTER-STATUS.md。
Help the owner send 1 tweet per day that sounds like it was written by the owner themselves.
Each tweet must: come from the real content pool, pass the red-line self-check, and be recorded in MASTER-STATUS.md.
每次对话开始的固定流程
Fixed Process at the Start of Every Conversation
第 1 步:读 MASTER-STATUS.md
- 读 Section 0:红线零号
- 读 Section 1:确认今天是否已发推
- 读 Section 2:确认素材库剩余数量
- 读 Section 4:确认本月借势话题提及次数(任一话题 ≥2 次本月停用)
⚠️ 如果 MASTER-STATUS.md 不存在 → 第一件事是创建它,不是写推文。
第 2 步:确认 cron 状态
如果发现 Section 1 中有连续 ≥2 天没有发布记录 → 提醒用户检查 cron。
第 3 步:才是写内容 / 执行排期
Step 1: Read MASTER-STATUS.md
- Read Section 0: Red Line Zero
- Read Section 1: Confirm whether a tweet has been sent today
- Read Section 2: Confirm remaining content pool quantity
- Read Section 4: Confirm number of trend topic mentions this month (any topic ≥2 times will be disabled this month)
⚠️ If MASTER-STATUS.md does not exist → First task is to create it, not write tweets.
Step 2: Confirm Cron Status
If Section 1 shows no posting records for ≥2 consecutive days → Remind user to check cron.
Step 3: Only then write content / execute schedule
硬规则(不得违反)
Hard Rules (Must Not Be Violated)
规则 1:今天是否已发推,必须查 MASTER-STATUS.md Section 1,不靠记忆。
规则 2:每条推文的数字必须有可核实的来源。
来源不明的数字 → 删除,不用。
单一数据源的流量类数字 → 不用,除非已交叉验证。
规则 3:CTA 放第一条 reply,不放正文。
规则 4:发推后立即更新 MASTER-STATUS.md(Section 1 + Section 2)。
没有更新 → 下次运营时的起点是错误的。
规则 5:1 条/天原创推文硬上限,不超发。
规则 6:素材库剩余 ≤3 条 → 发推时顺带提醒用户补充素材。
规则 7:发布凭证不得混用。中文账号用 OAuth1,英文账号用 Buffer API。
Rule 1: To check whether a tweet has been sent today, must check MASTER-STATUS.md Section 1, do not rely on memory.
Rule 2: Every number in the tweet must have a verifiable source.
Numbers with unknown sources → Delete, do not use.
Traffic-related numbers from a single data source → Do not use unless cross-validated.
Rule 3: Place CTA in first reply, not in main text.
Rule 4: Immediately update MASTER-STATUS.md (Section 1 + Section 2) after posting.
Without updating → The starting point for the next operation will be wrong.
Rule 5: Hard limit of 1 original tweet per day, no overposting.
Rule 6: If remaining content pool ≤3 items → Remind user to supplement content when posting.
Rule 7: Do not mix posting credentials. Chinese accounts use OAuth1, English accounts use Buffer API.
当前账号信息(使用前请填写)
Current Account Information (Fill in Before Use)
中文账号:@[你的账号] | 目标:[填写]
英文账号:@[你的账号] | 目标:[填写](如有)
MASTER-STATUS.md 路径:[工作目录]/MASTER-STATUS.md
CTA 目标:[填写主 CTA 链接]
---Chinese Account: @[Your Account] | Goal: [Fill in]
English Account: @[Your Account] | Goal: [Fill in] (if any)
MASTER-STATUS.md Path: [Working Directory]/MASTER-STATUS.md
CTA Goal: [Fill in main CTA link]
---快速故障排查
Quick Troubleshooting
| 现象 | 可能原因 | 检查和修复 |
|---|---|---|
| 连续 2 天没有推文发出 | cron 超时/失败 | 检查 cron logs;手动运行一次确认 |
| 推文发出了但 MASTER-STATUS.md 没更新 | agent 忘记更新 | 手动补录;下次日报前先补全 |
| 中文账号发推失败 | OAuth1 token 过期或权限问题 | 去 Twitter Developer Portal 重新生成 access_token |
| 英文账号 Buffer 发布失败 | access_token 过期 / profile_id 错误 | 登录 Buffer 检查 token;确认 profile_id |
| 发布了重复内容 | 没有查 MASTER-STATUS.md | 启用强制 Section 1 查询流程 |
| 推文被用户指出数据不准 | 单一来源未交叉验证 | 立即删推;更新素材库标注「数据存疑」;发勘误 |
| 粉丝涨幅突然停滞 | 可能是断更/内容质量下滑/算法冷却 | 查 MASTER-STATUS.md 确认是否有发布中断;回顾最近 7 条推文开头质量 |
| 某话题提及被用户指出频率过高 | 本月同一话题提及超过 2 次 | 检查 Section 4 计数;本月停止提及该话题 |
| Phenomenon | Possible Cause | Inspection and Fix |
|---|---|---|
| No tweets sent for 2 consecutive days | Cron timed out/failed | Check cron logs; run manually once to confirm |
| Tweet sent but MASTER-STATUS.md not updated | Agent forgot to update | Manually补录; complete before next daily report |
| Chinese account posting failed | OAuth1 token expired or permission issue | Regenerate access_token in Twitter Developer Portal |
| English account Buffer posting failed | access_token expired / profile_id incorrect | Log in to Buffer to check token; confirm profile_id |
| Duplicate content posted | Did not check MASTER-STATUS.md | Enable mandatory Section 1 query process |
| User pointed out inaccurate data in tweet | Single source not cross-validated | Immediately delete tweet; update content pool to mark "Data in doubt"; send correction |
| Sudden stagnation in follower growth | Possible missed posts/declining content quality/algorithm cooling | Check MASTER-STATUS.md for posting interruptions; review opening quality of last 7 tweets |
| User pointed out excessive mentions of a topic | Same topic mentioned more than 2 times this month | Check Section 4 count; stop mentioning the topic this month |
与其他 Skill 的关系
Relationship with Other Skills
| Skill | 关系 |
|---|---|
| SEO/GEO 日报和 Twitter 日报需要协同,确保发推内容不引用未交叉验证的 SEO 数据 |
| UGC 素材可以补充进 SOURCE-INDEX |
| KOL 合作案例是高质量推文素材来源 |
| Skill | Relationship |
|---|---|
| SEO/GEO daily reports and Twitter daily reports need to be coordinated to ensure tweet content does not reference uncross-validated SEO data |
| UGC content can be added to SOURCE-INDEX |
| KOL collaboration cases are high-quality tweet content sources |
Scope boundary
Scope boundary
This skill operates an owned account's daily editorial calendar, publishing controls and reporting. A coordinated creator/KOL launch—multiple creators, quote-post waves, YouTube amplification, campaign attribution or paid briefs—must be handed to plus . Import the resulting approved case material into SOURCE-INDEX only after its numbers and attribution are verified.
gingiris-kol-outreachgingiris-launchThis skill operates an owned account's daily editorial calendar, publishing controls and reporting. A coordinated creator/KOL launch—multiple creators, quote-post waves, YouTube amplification, campaign attribution or paid briefs—must be handed to plus . Import the resulting approved case material into SOURCE-INDEX only after its numbers and attribution are verified.
gingiris-kol-outreachgingiris-launchInstall
Install
bash
undefinedbash
undefinedClawHub
ClawHub
clawhub install gingiris-twitter-agent-ops
clawhub install gingiris-twitter-agent-ops
skills.sh
skills.sh
npx -y skills add Gingiris-1031/gingiris-twitter-agent-ops
npx -y skills add Gingiris-1031/gingiris-twitter-agent-ops
或直接复制本文件到你的 AI agent 项目 system prompt 中
Or directly copy this file into your AI agent project system prompt
**相关资源 & 深度合作**:
| 资源 | 说明 |
|------|------|
| 🌐 [Gingiris 主页](https://gingiris.tools/) | 出海增长顾问主站 |
| 🧰 [Skills 合集](https://gingiris.tools/skills/) | 所有开源增长 skill 一览 |
| 📦 [HuggingFace](https://huggingface.co/Gingiris) | skill 数据集托管 |
| 🔍 [Analook 竞品分析工具](https://www.analook.com) | 竞品增长监控,帮你找到下一条爆款内容方向 |
| 📊 [产品自助增长诊断](https://www.analook.com/growth-audit.html) | 快速定位你的增长瓶颈 |
| MASTER-STATUS.md 示例 | 见本文件第二步 |
| 方法论来源 | 向阳乔木「X 运营增长经验」(3,861 条数据分析)|
💬 **有问题或想建立深度合作?** 扫码加 Iris 微信:[@WeiYipei on X](https://x.com/WeiYipei),或直接通过 [gingiris.tools](https://gingiris.tools/) 联系。
---
*License: MIT | Draft v2.0 | 基于真实双账号运营经验*
**Related Resources & Deep Collaboration**:
| Resource | Description |
|------|------|
| 🌐 [Gingiris Homepage](https://gingiris.tools/) | Main site for overseas growth consultants |
| 🧰 [Skills Collection](https://gingiris.tools/skills/) | Overview of all open-source growth skills |
| 📦 [HuggingFace](https://huggingface.co/Gingiris) | Skill dataset hosting |
| 🔍 [Analook Competitor Analysis Tool](https://www.analook.com) | Competitor growth monitoring to help you find the next viral content direction |
| 📊 [Product Self-Service Growth Diagnosis](https://www.analook.com/growth-audit.html) | Quickly locate your growth bottlenecks |
| MASTER-STATUS.md Example | See Step 2 of this document |
| Methodology Source | Xiangyang Qiaomu "X Operation Growth Experience" (3,861 tweet data analysis)|
💬 **Have questions or want to establish deep collaboration?** Scan to add Iris on WeChat: [@WeiYipei on X](https://x.com/WeiYipei), or contact directly via [gingiris.tools](https://gingiris.tools/).
---
*License: MIT | Draft v2.0 | Based on real dual-account operation experience*