gingiris-twitter-agent-ops · diff
v1.0.0 to v2.0.0-draft
531 added, 283 removed. Audit A to A.
---
name: gingiris-twitter-agent-ops
- version: 1.0.0
+ version: 2.0.0-draft
description: |
- 🇺🇸 You know you should post on X every day, but writing tweets eats your evenings — and when an AI writes them for you, they sound nothing like you. This skill turns any AI agent into a ghostwriter that actually sounds like you, with a battle-tested SOP that grew a real account +60% in 45 days, fully agent-operated.
-
- What's inside:
- • Persona calibration system — voice guide, expression rules, dead-opener blacklist
- • Fact-source database (SOURCE-INDEX) — zero fabricated numbers, every stat traceable
- • Weekly scheduling system with dedup checks and golden time windows
- • 6 hard safety rules + pre-publish QC (triple-translation test + 5-point checklist)
- • Tweet-log & weekly report analytics loop
- • Content methodology from 3,861-tweet dataset analysis (4 archetypes, golden length, visibility principles)
- • Real case: 1,150 → 1,837 followers (+60%) in 45 days, 1 tweet/day
-
- 🇨🇳 知道每天该发推,但写推文吃掉整个晚上——让 AI 代写,发出来又完全不像你。这套 SOP 让任何 AI agent 变成「像你本人」的推特代笔人:人设校准、素材库、排期、红线规则、发布前质检、数据复盘全流程,真实账号 45 天涨粉 60% 验证。
+ Twitter/X Agent 运营 SOP v2 — 基于真实双账号运营经验大幅升级。
- 🇯🇵 毎日Xに投稿すべきと分かっていても、ツイート作成に夜の時間を奪われる——AIに任せると、まるで自分らしくない文章になってしまう。このスキルは、AIエージェントを「あなたらしく書ける」ゴーストライターに変える完全SOP。ペルソナ調整、ファクトソース管理、スケジューリング、安全ルール、データ分析まで網羅。実アカウントで45日間+60%のフォロワー成長を実証済み。
+ 真实数据背景:
+ • 中文账号:从 1,150 粉开始运营,增长至 3,679 粉(约 14 个月),1条/天,OAuth1 直接发推
+ • 英文账号:Buffer API 发布
+ • 真实事故:cron 超时失败 2 周没人发现、v0.dev 流量数据相差 17 倍被用户公开指出、
+ 单一话题反复提及被用户指出蹭热度、thread 效果差于 single post(数据驱动决策)
- 🇰🇷 매일 X에 글을 올려야 한다는 건 알지만, 트윗 작성이 저녁 시간을 다 잡아먹습니다 — AI에게 맡기면 전혀 내 글 같지 않죠. 이 스킬은 AI 에이전트를 '진짜 나처럼 쓰는' 고스트라이터로 만드는 완전한 SOP입니다. 페르소나 교정, 팩트 소스 관리, 스케줄링, 안전 규칙, 데이터 분석까지. 실제 계정에서 45일간 팔로워 +60% 성장으로 검증되었습니다.
+ 核心升级点:
+ • 开局强制收集用户 context,没有账号状态不开始运营
+ • 强制日报(发推后必填)+ 周报(每周一)双循环
+ • 红线自检 checklist,发推前 agent 必须过完
+ • 素材库状态追踪(已用/未用)+ 剩余 ≤3 条时预警
+ • 双账号双凭证明确区分(中文 OAuth1 直发 / 英文 Buffer API)
+ • MASTER-STATUS.md 是唯一真相来源,每次对话必读必写
- Triggers: "twitter automation" | "x account growth" | "ai agent twitter" | "ai ghostwriter" | "social media agent" | "tweet writing" | "twitter sop" | "grow twitter followers" | "推特运营" | "AI代写推文" | "X 增长" | "Twitter自動運営" | "AIゴーストライター" | "트위터 자동화" | "AI 고스트라이터"
+ Triggers: "twitter运营" | "推特agent" | "发推SOP" | "AI代运营" | "推文日报" | "素材库" | "Buffer API" | "OAuth1发推" | "twitter automation" | "tweet sop" | "推特涨粉"
+ when_to_use: |
+ 当用户需要系统性运营 Twitter/X 账号时使用。适用于:
+ - 用 AI Agent 代写/代发推文
+ - 建立可持续的推文内容系统(素材库 + 排期)
+ - 同时运营中文和英文账号
+ - 需要数据追踪(粉丝变化/互动分析/内容复盘)
+ - 防止 AI 代运营中的常见事故(数据不准、断更、风格漂移)
tags:
- twitter
- x-twitter
- social-media
- ai-agent
- automation
- content-marketing
- growth
- - audience-building
- scheduling
- analytics
- - persona
- - voice-guide
- sop
- - content-strategy
- - creator-economy
- source: https://github.com/Gingiris-1031/gingiris-skills/tree/main/skills/gingiris-twitter-agent-ops
+ - daily-report
+ - weekly-report
+ - voice-guide
+ - buffer-api
+ - oauth1
---
- # Twitter/X Agent Operations — AI 自动运营完整 SOP
+ # Twitter/X Agent 运营 SOP v2
- > 🌍 **Language / 语言**: [中文](#twitterx-agent-operations--ai-自动运营完整-sop) | [English](references/en/README.md) | [日本語](references/ja/README.md) | [한국어](references/ko/README.md)
+ > **版本说明**:v2 草稿。v1 给了你整套方法论框架,v2 的重点是:
+ > 「已经在跑了,怎么确保不出事、出了事怎么发现、发现了怎么处理」。
- > **实战验证**:一个 AI agent 在 45 天内将 @WeiYipei 从 1,150 → 1,837 粉丝(+60%),日均发布 1 条,全程自动化运营。
- >
- > 本 skill 适用于任何支持 system prompt 的 AI agent(Claude Code, Cursor, Trae, GPT)。
+ ---
+ ## ⚠️ 开始之前:三个真实事故
+
+ 在讲 SOP 之前,先讲三个真实踩过的坑。这三件事决定了 v2 的核心设计。
+
+ **事故 1:cron 超时失败 2 周没人发现**
+
+ cron job 连续超时失败,没有任何监控机制,整整 2 周没有推文发出。等发现时,粉丝增长已经明显停滞,算法分发也已经冷却。
+ → **v2 修复**:强制日报机制,发推后必填,缺了就是异常信号。
+
+ **事故 2:v0.dev 流量数据相差 17 倍,被用户公开指出**
+
+ 推文中引用了单一数据源(DataForSEO)的「非品牌有机搜索」数字,没有交叉验证,被 @gefei55(哥飞)等用户公开指出数据不准,差了整整 17 倍。
+ → **v2 修复**:红线自检中加入「数字来源可查」强制检查项,无来源数字不发。
+
+ **事故 3:某一话题提及频率过高,被用户指出「天天蹭流量」**
+
+ 某段时期内容过度集中在同一品牌/话题上,用户公开反馈感觉是在持续蹭热度,而不是真正分享。
+ → **v2 修复**:任何借势话题每月提及上限 1-2 次,在发推前检查本月该话题已出现次数。
+
---
- ## 一、系统架构概览
+ ## 第一步:开局 Context 收集(对话式,必须完成)
- ```
- ┌─────────────────────────────────────────────┐
- │ Twitter Agent Operations │
- ├─────────────────────────────────────────────┤
- │ │
- │ [1] 人设校准 ──→ [2] 素材库 ──→ [3] 排期 │
- │ │ │ │ │
- │ ▼ ▼ ▼ │
- │ [4] 红线规则 [5] 发布检查 [6] 追踪 │
- │ │
- │ ───────── 每周循环 ───────── │
- │ 周报 → 复盘 → 调整权重 → 下周排期 │
- │ │
- └─────────────────────────────────────────────┘
- ```
+ Agent 开始运营前,**逐步引导用户提供信息,一次只问一个问题**。不要一次抛出大表格——用户看到 6 个问题就会不想填。
- **六大模块**:
- 1. **人设校准系统** — 让 agent 写出"像这个人"的内容
- 2. **素材库建设** — 事实来源数据库,杜绝编造
- 3. **排期系统** — 每周内容日历,1 条/天节奏
- 4. **红线规则** — 不可违反的安全底线
- 5. **发布前检查** — 三次翻译 + 五件套质检
- 6. **数据追踪** — tweet-log + 周报 + 粉丝追踪
+ 收集完后给出一段状态判断,再开始工作。
---
- ## 二、人设校准系统(Voice Guide)
+ ### 对话引导脚本(按顺序执行)
- ### 为什么需要
+ **Q1(先问这个)**
+ > 你的 Twitter/X 账号是什么?现在有多少粉丝?
- AI agent 最大的问题不是"不会写",而是"写出来不像这个人"。人设校准解决的是**灵魂问题**,不是**格式问题**。
+ → 记录账号名和粉丝基线,作为后续增长对比
- ### 校准步骤
+ ---
- #### Step 1:采集原始语料
+ **Q2**
+ > 这个账号主要发什么语言?怎么发推的?
- 收集账号主人的真实表达样本(至少 3 种浓度):
+ 语言(可多选):
+ A) 中文
+ B) 英文
+ C) 中英都有
- | 浓度 | 来源 | 作用 |
- |------|------|------|
- | 浓 | 公众号/长文 | 提炼叙事结构、价值观表达 |
- | 中 | 社交媒体原帖 | 提炼口语感、碎片化表达 |
- | 淡 | 播客/访谈/对话 | 提炼最真实的语气、口头禅 |
+ 发布方式:
+ A) 手动发
+ B) Buffer 排期
+ C) API 直发(cron 自动)
+ D) 不确定 → **先检查发布机制再继续,cron 挂掉 2 周没人知道是真实事故**
- #### Step 2:提炼铁律
+ → API 直发:中文账号用 OAuth1 四字段凭证;英文账号用 Buffer channel;两套不能混用
- 从语料中提炼 3-5 条不可违反的表达铁律。例如:
+ ---
+ **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%)
+
+ ---
+
+ ### 全部收集后:输出状态判断
+
```
- 铁律 A:开头必须是「我」+ 具体经历/数字/瞬间
- 铁律 B:禁止三段论(论点→论据→号召)结构
- 铁律 C:不是每条都要有"总结"
- 铁律 D:粗体 = 信念表达,不是重点标注
+ 📊 当前状态:
+ - 账号:[@handle],当前 [X] 粉
+ - 发布机制:[OAuth1 直发 / Buffer / 手动]
+ - 素材库:[N] 条可用
+ - 上周发布:[有记录 / 无记录,需建 MASTER-STATUS.md]
+ - 内容方向:[用户给的 1-2 件事]
+ - 本阶段 CTA:[目标 + 链接]
+
+ → 接下来做什么:[3 步以内]
```
- #### Step 3:建立死亡开头黑名单
+ ---
- 从历史数据中找出"展示量最低的开头模式"并明确禁止:
+ ### 判断矩阵(Agent 内部参考)
+ | 情况 | 判断 | 处理方式 |
+ |------|------|---------|
+ | cron 状态不确定 | 🚨 紧急 | 先检查 cron,确认正常再开始内容工作 |
+ | 素材库 ≤ 3 条 | ⚠️ 预警 | 本次运营优先补充素材库,不排期 |
+ | 素材库为空 | 🚨 阻塞 | 必须先建素材库才能排期 |
+ | 上周发布记录缺失 | ⚠️ 提醒 | 让用户打开 MASTER-STATUS.md 核查 |
+ | MASTER-STATUS.md 不存在 | 🚨 首次运营 | 本次任务先建立 MASTER-STATUS.md |
+
+
+ ## 第二步:MASTER-STATUS.md — 唯一真相来源
+
+ **这是整个系统中最重要的文件。** 任何对话开始前,任何推文发出前后,都必须读写这个文件。
+
```
- ❌ 引用他人话语开头
- ❌ 大命题式开头("AI时代一个反直觉的事")
- ❌ 无主语大词开头
- ❌ 哲理金句直接开头
+ MASTER-STATUS.md 路径:[工作目录]/MASTER-STATUS.md
```
- #### Step 4:定义内容类型权重
+ ### 为什么这个文件不可缺少
- 根据数据表现分配各类型占比:
+ AI 的上下文会被压缩、重置、遗忘。压缩后的记忆摘要不可信——它不会告诉你「今天发没发推」,它只会给你一个看起来合理但可能错误的答案。
- | 类型 | 推荐占比 | 原因 |
- |------|---------|------|
- | 长文(个人经历+数据+洞察) | 70% | 爆款集中区 |
- | 工具/资源帖 | 20% | 书签数最高 |
- | 生活碎片/吐槽 | 10% | 维持人味 |
+ **只有 MASTER-STATUS.md 是事实。**
- **实战数据**:废弃"短文金句"类型后,周均展示量提升 266%。
+ 这个教训在运营中被纠正了不止 5 次,每一次出问题都是因为没有在对话开始时读这个文件。
- ---
+ ### MASTER-STATUS.md 最小结构
- ## 三、素材库建设(SOURCE-INDEX)
+ ```markdown
+ # MASTER-STATUS.md — [账号名] 推特运营主状态文件
- ### 核心原则
+ > 最后更新:[日期时间]
+ > 更新规则:每次发推后立即更新 Section 1 和 Section 2
- **不编造数据。所有推文中的具体数字必须有真实来源。**
+ ---
- ### 建设步骤
+ ## Section 0:红线零号(每次对话开始必读)
- #### Step 1:采集一手素材
+ 不论什么原因开启了新对话,第一件事就是读这个文件的 Section 1。
+ 上下文压缩后记忆摘要不可信——只有 Section 1 才是发布事实。
+ 今天发没发推:查 Section 1,不要凭记忆回答。
- 将账号主人的所有一手内容转化为可检索的文本:
+ ---
- - 播客/访谈 → 全文转录(whisper / 手动)
- - 文章/文档 → markdown 格式存档
- - 演讲/分享 → 要点提取
+ ## Section 1:已发推文完整清单
- #### Step 2:建立 SOURCE-INDEX
+ | 日期 | Tweet ID | 主题标签 | 内容摘要 | 发布平台 |
+ |------|----------|----------|---------|---------|
+ | [日期] | [ID] | [#标签] | [一句话摘要] | [中推/英推/LinkedIn/Threads] |
- 每个关键素材点标注:
+ ---
- ```markdown
- | 素材点 | 来源 | 原文位置 | 是否可用 |
- |--------|------|----------|---------|
- | 开源第一周 6000 Star | ep01 第77行 | "第一个星期我们就6000个star" | ✅ |
- | 643 个投资人 | ep06 第32行 | "我们应该加了643个,就是我没有记错" | ✅ |
- ```
+ ## Section 2:素材库状态
- #### Step 3:定期核实
+ | 编号 | 主题 | 核心角度 | 状态 | 使用日期 | 备注 |
+ |------|------|---------|------|---------|------|
+ | S001 | | | [ ]未用 / [✅]已用 | | |
- 每周检查排期中引用的数据点是否与原文一致。**不同播客/场合说的数字可能有出入——取最可靠的版本并标注。**
+ ---
- **实战教训**:曾因"三天 6000 Star"与"一周 6000 Star"混淆被用户指出。核实后确认所有原文统一说"第一周"。
+ ## Section 3:排期草稿
+ | 日期 | 素材编号 | 主题摘要 | 状态 |
+ |------|---------|---------|------|
+ | | | | [ ]未发 / [✅]已发 / [⚠️]类似内容已发 |
+
---
- ## 四、排期系统
+ ## Section 4:借势话题提及追踪
- ### 节奏
+ 本月已提及次数:[N](上限 2 次/月)
+ 上次提及日期:[日期]
+ 上次提及的 Tweet ID:[ID]
- - **1 条/天**(硬规则,不可超发)
- - 发布时间:**固定早 8 点(北京时间)**——账号实测最优窗口:固定早 8 点后爆款命中率从 5% → 15%(见第九节关键转折点)。17 点 / 23 点为二级窗口,只在早 8 点档期冲突时启用
+ ---
- ### 排期模板
+ ## Section 5:账号发布凭证说明
- 每周日生成下周排期:
+ - 中文账号(@[handle]):Twitter OAuth1 API 直发
+ 凭证:consumer_key / consumer_secret / access_token / access_token_secret
+ ⚠️ 这套凭证只用于中文账号,不可混用
- ```markdown
- ## 周一 | [类型] | [主题]
- **素材来源**:[SOURCE-INDEX 中的具体条目]
- **五件套自检**:✅/❌
- **三次翻译自检**:✅/❌
- **CTA(评论区)**:[链接]
+ - 英文账号(@[handle]):Buffer API
+ 凭证:Buffer access_token + profile_id
+ ⚠️ 这套凭证只用于英文账号,不可混用
```
- ### 去重机制
+ ---
- 每条排期前检查 tweet-log:
- - 同一核心论点是否在过去 30 天发过?
- - 同一数据点是否在过去 14 天用过?
- - 如果重复 → 换角度或换主题
+ ## 第三步:推文日报(每次发推后必填)
- ### 时间窗口参考(基于 3,861 条数据分析——大盘统计,仅作二级参考)
+ **强制规则:推文发出后 5 分钟内完成日报,不得拖延。**
- > ⚠️ **结论以自己账号实测为准**:@WeiYipei 实测最优 = **早 8 点**(固定后爆款命中率 5% → 15%)。下表是外部 3,861 条推文的大盘统计,17/23 点作为二级窗口备选——大盘最优 ≠ 你的账号最优,跑 2-4 周 tweet-log 后按数据锁定自己的窗口。
+ 日报的作用:
+ 1. 标记素材为「已用」,防止重复发布
+ 2. 记录发布状态,作为后续周报数据来源
+ 3. 立即捕获发布异常(token 过期、发布失败等)
- | 时段 | 适合内容 |
- |------|----------|
- | 10-13 点 | 工具、教程、资源入口 |
- | 17-23 点 | 重点内容、观点、案例拆解 |
- | 0-1 点 | 高收藏内容、开发者工具 |
+ ### 日报模板
- 大盘月内排名:17 点 > 23 点 > 13 点 > 11 点 > 20 点(二级窗口取 17 / 23 点)
+ ```
+ 推文日报 · [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】红线检查(见第四步)
+ 过红线结果:[ ] 全部通过 [ ] 有项目未通过(详见下方)
+ 未通过项目:___________(如有)
- | # | 规则 | 说明 |
- |---|------|------|
- | 1 | 不编造数据 | 所有数字必须有真实来源,无来源宁可不写 |
- | 2 | 1 条/天 | 不超发。agent 不得擅自调整频率 |
- | 3 | CTA 不放正文 | 外部链接必须放第 1 条 reply(X 算法惩罚正文链接 30-90%)|
- | 4 | 数据对齐 | 动态数字必须发前拉取最新值 |
- | 5 | 三次翻译 | 每条推文必须通过三次翻译检查(见下文)|
- | 6 | 五件套 | 每条推文必须通过五件套检查(至少 4/5)|
+ 【5】异常
+ [ ] cron 超时或失败
+ [ ] Token 过期(哪个平台):___________
+ [ ] 内容发布后被修改或删除
+ [ ] 其他:___________
+ 无异常:[ ] ✅
+ 【6】MASTER-STATUS.md 更新
+ Section 1 已更新:[ ] ✅
+ Section 2 素材状态已更新:[ ] ✅
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ ```
+
---
- ## 六、发布前检查
+ ## 第四步:红线自检 Checklist(发推前 agent 必须过的关卡)
- ### 检查 A:三次翻译(从内部语言到外部语言)
+ **发推前,逐项检查。任何一项未通过 → 不发,修改后重检。**
- 每条推文通读一遍,确认没有"公告式表达":
+ ```
+ 发推前红线自检 · [YYYY-MM-DD]
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━
+ 【格式红线】
+ ☐ 是否是 single post?(不是 thread)
+ → 如果是 thread,需要有充分理由,且本周只能有 1 个 thread
+ → 来源:数据显示 thread 整体效果差于优质 single post
- | # | 翻译 | Before | After |
- |---|------|--------|-------|
- | 1 | 发布→帮助 | "我们上线新功能" | "这个功能能帮你把80页报告变成3页提炼" |
- | 2 | 能力→场景 | "支持长上下文" | "一次性读完行业报告并找出竞品变化" |
- | 3 | 结论→证据 | "效果很好" | 放真实截图、输入输出、步骤、对比 |
+ ☐ 推文字数建议(基于真实账号后台数据)
+ 实测数据:≤120 字平均曝光 393;121-220 字平均曝光 1,890(差距约 5 倍)
+ → ⭐ 如果账号有 Twitter 会员(无字数限制),建议写 150-280 字充分展开内容,亲测更高转化
+ → 如果没有会员,目标 120-220 字,在字数限制内把内容说透
+ → 不要为了凑字数压缩内容——宁可写短,也不要写废话
- **如果推文中有任何一句像"我们发布了 X / 我们升级了 Y"→ 必须改写。**
+ 【开头红线】
+ ☐ 开头是否是「我」+ 具体瞬间/经历/数字?
+ → ❌ 不允许:引用别人话语开头
+ → ❌ 不允许:大命题式开头("AI时代一个反直觉的事")
+ → ❌ 不允许:哲理金句直接开头
+ → ❌ 不允许:无主语大词开头
- ### 检查 B:五件套(一条强内容 = 一个小型信息产品)
+ 【数据红线】(⭐ 来自 v0.dev 事故)
+ ☐ 推文中是否有数字?
+ 如果有:
+ ☐ 每个数字的来源是否可以明确说出来?
+ → 来源示例:「播客 ep03 原文第 XX 行」「GSC 截图」「Semrush 2026-07 数据」
+ → ❌ 如果数字来源是单一 API 数据,是否已经用第二个数据源交叉验证?
+ → ❌ 如果是流量类数字,是否区分了「非品牌有机搜索」和「月总有机流量」?
+ 如果无法确认来源 → 删除数字,或换成「大约」并加括号说明「来源待核实」
- | # | 检查项 | 解决读者的什么问题 |
- |---|--------|------------------|
- | 1 | 第一眼能看懂的价值承诺 | "这和我有什么关系" |
- | 2 | 一个具体使用场景 | "我什么时候会用到" |
- | 3 | 降低门槛的步骤/入口 | "我现在能不能开始" |
- | 4 | 截图、数字、案例 = 证据 | "我凭什么相信" |
- | 5 | 一个值得收藏或转发的理由 | "我为什么要留着它" |
+ 【CTA 红线】
+ ☐ CTA 是否在第一条 reply,而不是在推文正文?
+ → 正文带链接会被 X 算法惩罚展示量 30-90%
- **不满足 4/5 = 不发,回去改。**
+ 【频率红线】
+ ☐ 今天已经发过原创推文了吗?
+ → 查 MASTER-STATUS.md Section 1,找今天日期
+ → 如果已发过 → 今天不再发原创推文(1条/天硬规则)
+ 【MASTER-STATUS.md 检查】
+ ☐ 是否已读今日 MASTER-STATUS.md Section 1?
+ → 这不是走过场。要确认今天的排期内容没有在 30 天内发过类似角度
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━
+ 所有 ☐ 必须全部勾选为 ✅ 才能发出推文。
+ ```
+
---
- ## 六B、发布与数据回收(每日执行闭环)
+ ## 第五步:推文周报(每周一生成)
- 写完 ≠ 发完。完整闭环是:**写 → 审 → 发 → 24h 回收 → 周报**。
+ 每周一上午,在发推之前,先生成上周的周报。
- ### 发布(人工审核后走浏览器)
+ ### 周报模板
- 1. Agent 按排期写稿,过三次翻译 + 五件套检查(上一节)
- 2. **人工审核**:稿子先给账号主人过目——agent 不得跳过这步直接发布
- 3. 审核通过后用 Chrome MCP(`mcp__claude-in-chrome__*` 工具)在已登录的浏览器里发布:导航到 x.com → 填入正文 → 发布 → 首条 reply 挂 CTA 链接(红线 3:链接不进正文)
- 4. 发布成功后立即把 Tweet ID + 发布时间记入 tweet-log
+ ```
+ 推文周报 · [YYYY-W周数,如 2026-W31]
+ 涵盖日期:[开始日期] – [结束日期]
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ 【1】本周发布情况
+ 原创推文:[N] 条
+ Thread:[N] 个
+ 回复/QT:[N] 条
+ 发布成功率:[%](有无发布失败)
- ### 24h 数据回收
+ 【2】粉丝数据
+ 周期起点粉丝:[N]
+ 周期终点粉丝:[N]
+ 本周净增:[+N](来源:手动记录 / follower-tracker.md)
+ 日均涨粉:[N]
- 发布满 24h 后(次日同时段):
+ 【3】内容表现
+ 最高互动推文:Tweet ID [ID],展示量 [N],点赞 [N],转发 [N],收藏 [N]
+ 最低互动推文:Tweet ID [ID]
+ 本周内容类型分布:
+ 长文(个人经历+数据):[N] 条
+ 工具/资源帖:[N] 条
+ 生活碎片/轻量:[N] 条
- 1. 用 Chrome MCP 打开该推文的 analytics(或推文详情页)读取展示量 / 互动数据
- 2. 回填 tweet-log 对应行的「展示量 / 互动」列——**不回填的 log 等于没记**
- 3. 展示量 < 300 → 对照死亡开头黑名单和三次翻译表定位原因,记进备注列
+ 【4】素材库状态
+ 本周消耗素材:[N] 条
+ 当前剩余未用:[N] 条
+ ⚠️ 如果剩余 ≤ 5 条 → 下周需要补充素材库
- ### 周报循环
+ 【5】红线检查
+ 本周是否触碰任何红线:[ ] 否 [ ] 是
+ 如果是,描述:___________
- 每周固定一天(建议周日):汇总本周 tweet-log → 出周报(模板见第七节)→ 调整下周内容类型权重与排期。数据回收是周报的输入——跳过回收,周报就是空转。
+ 【6】借势话题提及记录(按话题分类,每月重置)
+ 本月已提及次数:[N](上限 2 次/月)
+ 【7】下周素材方向
+ 主题 1:___________(优先级:高/中/低)
+ 主题 2:___________
+ 主题 3:___________(可选)
+ 下周 CTA 目标:___________
+
+ 【8】需要人工处理的事
+ (agent 不能自行处理的问题列在这里)
+ - ___________
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ ```
+
---
- ## 七、数据追踪
+ ## 第六步:素材库建设与管理
- ### Tweet Log(每条必记)
+ ### 什么是素材库
+ 素材库是推文内容的原料仓库。所有推文必须来自素材库中已有的素材,agent 不得无中生有。
+
+ 素材来源:
+ - **一手素材**:账号主人的播客/访谈/文章/社交媒体原帖
+ - **数据来源**:可被核实的公开数据(注明来源和日期)
+ - **亲身经历**:真实发生过的事(不能是推理或假设)
+
+ ### 素材库结构(SOURCE-INDEX)
+
```markdown
- | 日期 | 时间 | Tweet ID | 类型+摘要 | 展示量 | 互动 | 备注 |
+ ## SOURCE-INDEX
+
+ | 编号 | 主题 | 来源 | 原文位置/链接 | 核心数字/论点 | 状态 | 发布记录 |
+ |------|------|------|-------------|-------------|------|---------|
+ | S001 | 开源第一周 6000 Star | 播客 ep01 | 第77行:"第一个星期我们就6000个star" | 第一周 6000 Star | ✅已用 | 2026-04-26 |
+ | S002 | 643 个投资人 | 播客 ep06 | 第32行:"我们应该加了643个" | 643 投资人 | ✅已用 | 2026-06-12 |
+ | S003 | [待填写] | | | | 🔲未用 | |
```
- ### 周报模板
+ ### 素材库管理规则
- 每周生成:
- - 粉丝变化(起止 + 日增)
- - 展示量 Top 3 帖子分析
- - 内容类型表现对比
- - 下周策略调整建议
+ **标记规则**:
+ - 发推后立即在 MASTER-STATUS.md Section 2 将对应素材标为「✅已用」
+ - 已用素材不得在 30 天内再次使用相同核心论点
+ - 素材可以「换角度」复用,但必须标注原素材编号和新角度
- ### 关键指标
+ **预警规则**:
+ ```
+ 剩余未用素材 ≤ 3 条 → 立即提醒:
+ 「⚠️ 素材库告急(剩余 [N] 条),
+ 建议在下次运营会话中优先补充素材,
+ 来源建议:[账号主人近期播客/文章/演讲]」
- | 指标 | 含义 | 优化方向 |
- |------|------|---------|
- | 收藏数 | 比点赞更重要(信任信号) | 工具/资源帖天然高收藏 |
- | 展示量 | 算法分发效果 | 开头决定 80% |
- | 互动率 | 内容共鸣度 | 评论 > 点赞 > 转发 |
- | 粉丝日增 | 增长健康度 | 稳定 > 波动 |
+ 剩余未用素材 = 0 条 → 停止排期:
+ 「❌ 素材库已耗尽,无法继续排期。
+ 请先提供新素材(播客链接/文章/第一人称经历)再继续。」
+ ```
+ **数据核实规则**:
+ - 同一件事在不同场合说的数字可能有出入(如「3天 6000 Star」vs「第一周 6000 Star」)
+ - 取最可靠的版本,在素材库中标注「已核实,以[来源]为准」
+ - 不确定的数字不用——宁可删掉数字,也不用错误数字
+
---
- ## 八、内容方法论参考
+ ## 第七步:账号发布机制(双账号双凭证)
- ### 四类内容原型(基于 3,861 条数据)
+ **这是一个不允许搞混的硬规则。**
- | 类型 | 进入前10%概率 | 特征 |
- |------|-------------|------|
- | 资源入口型 | ~51% | 替读者找到入口(省搜索) |
- | 工具教程型 | ~39% | 替读者理解复杂事物(省理解) |
- | AI工具发现型 | ~24% | 展示新工具+具体任务(省试错) |
- | 普通表达型 | ~9% | 纯观点无行动(避免) |
+ ### 中文账号(OAuth1 直发)
- ### 四省模型
+ ```
+ 发布方式: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(账号级别)
- 1. **省搜索** — 读者不用在信息海里找入口
- 2. **省理解** — 读者不用自己猜复杂概念
- 3. **省试错** — 读者不用把坑全踩一遍
- 4. **省表达** — 读者可以直接把这条转给别人
+ 注意事项:
+ - OAuth1 认证,不是 Bearer Token(Bearer Token 只能读,不能发推)
+ - 凭证定期检查是否过期(Twitter 开发者后台可以看到)
+ - ⚠️ 每套凭证只绑定一个账号,不可跨账号使用
+ ```
- ### 三个可见原则
+ ### 英文账号(Buffer API 发布)
- 读者更愿意相信可见、可点、可量化的内容:
+ ```
+ 发布方式:Buffer API
+ API 调用:POST https://api.bufferapp.com/1/updates/create.json
- | 原则 | 示例 | 进入前10%概率 |
- |------|------|-------------|
- | 可见 | 截图、录屏、对比图 | — |
- | 可点 | 链接、工具名、搜索路径 | ~40%(带"地址见评论")|
- | 可算 | 数字、时间、成本、步骤 | ~35%(带资源词)|
+ 必须携带的参数:
+ - access_token(Buffer 账号的访问令牌)
+ - profile_ids[](Buffer 中目标账号对应的 profile ID)
+ - text(推文内容)
- ### 黄金长度
+ 注意事项:
+ - Buffer 发布有调度延迟,不适合需要精确时间控制的发布
+ - ⚠️ profile_ids 必须对应正确的账号,不能用错
+ - 英文推文发布后,在 MASTER-STATUS.md 记录的是 Buffer 返回的 update_id
+ ```
- | 单帖字数 | 进入前10%概率 |
- |---------|-------------|
- | ≤40 字 | ~7% |
- | 41-100 字 | ~15% |
- | **120-220 字** | **~26-28%(黄金区间)** |
+ ### 凭证混用预防规则
- **模板**:第一句讲价值 → 第二三句讲场景 → 接着给证据或步骤 → 最后给入口或收藏理由。
+ ```
+ 发推前,agent 必须确认:
- ---
+ IF 目标账号是中文账号(OAuth1 直发):
+ → 使用 OAuth1 凭证(4个字段)
+ → 使用 Twitter API v2 直发接口
- ## 九、实战案例:@WeiYipei 运营数据
+ IF 目标账号是英文账号(Buffer 发布):
+ → 使用 Buffer API access_token
+ → 使用 Buffer 对应的 profile_id
- ### 增长曲线
+ 如果凭证来源不明确 → 停止发布,询问用户确认。
+ 宁可不发,也不发错账号。
+ ```
+ ### Cron 监控机制
+
+ **来自事故经验**:cron 超时失败可以连续 2 周没人发现。
+
```
- Week 1 (4/24-4/28): 1,150 → 1,155 (+5) ← 冷启动,摸索阶段
- Week 2 (4/28-5/05): 1,155 → 1,180 (+25) ← 开始日更长文
- Week 3 (5/05-5/12): 1,180 → 1,250 (+70) ← 首条爆款出现
- Week 4 (5/12-5/18): 1,250 → 1,380 (+130) ← Thread + 互动策略
- Week 5 (5/18-6/01): 1,380 → 1,540 (+160) ← 稳定长文输出
- Week 6 (6/01-6/08): 1,540 → 1,837 (+297) ← 40套Playbook全景图爆发
+ 建议监控方案:
+ 1. cron 每次运行后,在 MASTER-STATUS.md 写一行:
+ 「[日期时间] cron 运行:[成功/失败,原因]」
+
+ 2. 每周日报生成时,检查:
+ 「最近 7 天,cron 失败次数:[N]」
+ 如果 > 0 → 提醒用户检查
+
+ 3. 如果有能力接入邮件/Telegram 通知,在 cron 失败时发送告警
+ (不是必须的,但强烈推荐)
+
+ 4. 最低保障方案:每周一周报生成时,自动检查
+ 「过去 7 天,Section 1 中是否每天都有发布记录」
+ 如果有连续 2 天以上没有记录 → 提醒用户核查
```
- **总计:1,150 → 1,837 = +687 粉丝(+60%),45 天**
+ ---
- ### 关键转折点
+ ## 第八步:内容创作方法论(来自真实账号 3,861 条推文数据分析)
- | 事件 | 影响 |
- |------|------|
- | 废弃"金句短文"类型 | 周均展示 +266% |
- | 固定早8点发布 | 爆款命中率从 5% → 15% |
- | 开头必须「我」+ 具体经历 | 6条爆款全部第一人称 |
- | Thread(7-8帖)大招 | 单条 Thread 涨粉 50-100 |
- | 40套Playbook全景图 | 单周 +297 粉丝 |
+ 这一节是 v1 的精华提炼,在 v2 中保留。数据来自向阳乔木的 X 运营研究。
- ### 什么有效 vs 什么无效
+ ### 四省模型(内容价值来自「帮读者少走几步」)
- | ✅ 有效 | ❌ 无效 |
- |--------|--------|
- | 长文+真实经历+数据 | 哲理金句/引用他人 |
- | 工具帖+周末早8点 | 凌晨发布(展示<200)|
- | CTA放评论区 | CTA放正文(砍30-90%)|
- | 第一人称开头 | 大命题/说教体开头 |
- | 每天1条稳定节奏 | 一天3条或断更3天 |
+ | 省什么 | 具体来说 | 内容示例 |
+ |--------|---------|---------|
+ | **省搜索** | 读者不用在信息海里找入口 | 「这 10 个工具的入口在这里」 |
+ | **省理解** | 读者不用自己猜复杂概念 | 「用一张图解释 PLG 是什么」 |
+ | **省试错** | 读者不用把坑全踩一遍 | 「我已经踩了这些坑,你不用踩了」 |
+ | **省表达** | 读者可以直接把这条转给别人 | 「帮你转发给老板/同事的版本」 |
+ ### 内容类型权重(来自实战数据)
+
+ | 类型 | 推荐占比 | 进 Top 10% 概率 | 说明 |
+ |------|---------|---------------|-----|
+ | 长文(个人经历+数据+洞察)| 70% | ~26-28% | 爆款集中区 |
+ | 工具/资源帖 | 20% | ~39-51% | 书签数最高 |
+ | 生活碎片/轻量 | 10% | ~9% | 维持人味,不能太多 |
+
+ **废弃类型**(数据验证无效):
+ - 哲理金句短文(进 Top 10% 概率仅 ~7%,周均展示量废弃后 +266%)
+ - Thread 式长帖(整体效果差于高质量 single post,已改为谨慎使用)
+
+ ### 黄金区间
+
+ - **字数**:120-220 字(实测平均曝光 1,890 vs ≤120 字的 393,差距约 5 倍);有 Twitter 会员可写到 280 字,充分展开效果更好
+ - **开头**:「我」+ 具体经历/数字/瞬间(6 条爆款全部第一人称)
+ - **时间**:固定时段,北京时间 14:00-15:00 或 17:00-18:00
+ - **CTA**:放在第一条 reply(不在正文,正文带链接算法惩罚 30-90%)
+
+ ### 死亡开头黑名单
+
+ 以下开头模式,历史数据展示量最低,一律禁止:
+
+ ```
+ ❌ 「[别人的名言/引用]」开头
+ ❌ 「AI 时代,有一个反直觉的事」(大命题)
+ ❌ 「你有没有发现」(说教体)
+ ❌ 「今天想聊一个大家都误解的概念」(吊卖关子)
+ ❌ 纯哲理金句,没有第一人称故事
+ ❌ 以产品/功能「发布了」「上线了」开头(公告体)
+ ```
+
---
- ## 十、快速启动指南
+ ## Agent 系统提示词(完整版)
- ### 如果你现在要用这个 SOP:
+ ```
+ 你是 @[账号名] 的 Twitter/X 运营 Agent,你的主人是 [名字]。
- **Day 0(准备,2-3小时)**:
- 1. 收集账号主人的 10 篇代表性内容
- 2. 提炼 3-5 条人设铁律
- 3. 建立死亡开头黑名单
- 4. 设定内容类型权重
+ ## 角色定义
+ 帮主人每天发出 1 条像主人本人写的推文。
+ 每条推文必须:来自真实素材库、通过红线自检、记录进 MASTER-STATUS.md。
- **Day 1(素材库,2-4小时)**:
- 1. 把所有一手内容转为文本
- 2. 建立 SOURCE-INDEX(关键数据点+出处)
- 3. 标注哪些可用、哪些需核实
+ ## 每次对话开始的固定流程
- **Day 2(排期+规则,1小时)**:
- 1. 写第一周排期(7条)
- 2. 确认红线规则
- 3. 设定发布时间
+ 第 1 步:读 MASTER-STATUS.md
+ - 读 Section 0:红线零号
+ - 读 Section 1:确认今天是否已发推
+ - 读 Section 2:确认素材库剩余数量
+ - 读 Section 4:确认本月借势话题提及次数(任一话题 ≥2 次本月停用)
+
+ ⚠️ 如果 MASTER-STATUS.md 不存在 → 第一件事是创建它,不是写推文。
- **Day 3 起(执行)**:
- 1. 每天按排期写稿
- 2. 发前过三次翻译 + 五件套检查
- 3. 发后记录 tweet-log
- 4. 每周出周报 + 调整
+ 第 2 步:确认 cron 状态
+ 如果发现 Section 1 中有连续 ≥2 天没有发布记录 → 提醒用户检查 cron。
+ 第 3 步:才是写内容 / 执行排期
+
+ ## 硬规则(不得违反)
+
+ 规则 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。
+
+ ## 当前账号信息(使用前请填写)
+ 中文账号:@[你的账号] | 目标:[填写]
+ 英文账号:@[你的账号] | 目标:[填写](如有)
+ MASTER-STATUS.md 路径:[工作目录]/MASTER-STATUS.md
+ CTA 目标:[填写主 CTA 链接]
+ ```
+
---
- ## 十一、常见错误
+ ## 快速故障排查
- | 错误 | 后果 | 修复 |
- |------|------|------|
- | Agent 编造数据 | 用户/主人发现后信任崩塌 | 红线1 + SOURCE-INDEX 强制 |
- | 超发(一天多条) | 算法降权 + 内容稀释 | 红线2 硬限制 |
- | 每条都像公告 | 展示量<300 | 三次翻译检查 |
- | 金句/说教体 | 展示量100-250 | 死亡开头黑名单 |
- | 不追踪数据 | 无法优化 | 周报机制 |
- | 风格漂移 | 粉丝感觉"不像TA了" | 每月回看语料重校准 |
+ | 现象 | 可能原因 | 检查和修复 |
+ |------|---------|---------|
+ | 连续 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 计数;本月停止提及该话题 |
---
+ ## 与其他 Skill 的关系
+
+ | Skill | 关系 |
+ |-------|------|
+ | `gingiris-seo-geo-agent` | SEO/GEO 日报和 Twitter 日报需要协同,确保发推内容不引用未交叉验证的 SEO 数据 |
+ | `gingiris-ugc-matrix` | UGC 素材可以补充进 SOURCE-INDEX |
+ | `gingiris-kol-outreach` | KOL 合作案例是高质量推文素材来源 |
+
+ ---
+
## Install
- ```
+ ```bash
# ClawHub
clawhub install gingiris-twitter-agent-ops
# skills.sh
npx -y skills add Gingiris-1031/gingiris-twitter-agent-ops
- # 或直接复制本文件到你的 AI agent 项目中
+ # 或直接复制本文件到你的 AI agent 项目 system prompt 中
```
- **相关链接**:
- - HuggingFace: https://huggingface.co/datasets/Gingiris/gingiris-twitter-agent-ops
- - GitHub: https://github.com/Gingiris-1031/gingiris-twitter-agent-ops
- - 更多 playbook: https://gingiris.tools
-
- ---
+ **相关资源 & 深度合作**:
- ## Credits
+ | 资源 | 说明 |
+ |------|------|
+ | 🌐 [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 条数据分析)|
- - 方法论基础:向阳乔木「X运营增长经验:从100到11万关注」(3,861条数据分析)
- - 内容诊断框架:dontbesilent/dbskill「内容创作诊断」
- - 实战验证:@WeiYipei 账号(Cola AI agent 运营,2026年4-6月)
- - 作者:Iris Wei (生姜iris) | Twitter @WeiYipei | https://gingiris.tools
+ 💬 **有问题或想建立深度合作?** 扫码加 Iris 微信:[@WeiYipei on X](https://x.com/WeiYipei),或直接通过 [gingiris.tools](https://gingiris.tools/) 联系。
---
- *License: MIT*
+ *License: MIT | Draft v2.0 | 基于真实双账号运营经验*