关于 x-writing
将笔记、工作进展和观察整理为 X 帖子的写作 Skill,面向需要把素材转成社交内容的人。它可从 Markdown 文件、macOS Notes 或用户提供的文本取材,并按写作指南生成和保存帖子。
主要功能
- 01读取 Markdown 或 macOS Notes 素材
- 02按策略筛选可分享观点
- 03遵循风格指南与反模式
- 04起草单条推文或串文
- 05保存获批帖子到草稿文件
适用场景
- 01把项目进展改写为 X 帖子
- 02从笔记中提炼可分享观点
- 03按个人语气起草推文并保存
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ richtabor/ agent-skills --skill x-writing安装后在 Claude Code 中输入/x-writing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/anti-patterns.mdx-strategy.mdscripts/fetch-notes.sh详细介绍
X 写作技能
概述
将你的笔记、工作动态和观察转化为吸引人的 X(Twitter)内容。此技能会分析你的笔记,找出最值得分享的见解,然后撰写符合你个人风格、能带动互动的真实帖子。
支持两种想法来源——Markdown 文件(X_SOURCE_FILE)和/或 macOS Notes(X_NOTES_APP_SOURCE)。如果两者都已配置,会询问你要使用哪一个。
流程
阶段 1:准备与分析
1.1 加载写作指南(必需——优先加载)
在进行任何其他工作之前,加载以下内容:
-
增长原则(
references/x-strategy.md)——内容筛选标准、哪些内容适合分享、互动模式,以及笔记中应优先选择的内容。这决定分享什么。 -
写作风格指南(来自
WRITING_STYLE_GUIDE_PATH环境变量)——语气、风格、结构、禁用短语和标志性表达方式。这决定如何分享。若未设置该环境变量,则跳过。 -
反模式——运行
echo "$WRITING_ANTI_PATTERNS_PATH"检查环境变量。若已设置,则加载该文件;若未设置,则使用references/anti-patterns.md。其中列出了应避免的 AI 写作模式。这对于确保帖子读起来自然、真实,而非 AI 生成,至关重要。避免使用“这不是 X,而是 Y”之类的表达、正式的过渡语、模棱两可的措辞和 AI 特有词汇。
优先级规则:指南之间存在冲突时,以 references/x-strategy.md 为准。内容价值和可分享性优先于风格偏好。写作风格指南与反模式发生冲突时,以反模式为准。
1.2 了解源材料
明确要处理哪些笔记:
- 询问用户想将哪些笔记、想法或动态转化为帖子
- 检查想法来源:
- 运行
echo "$X_SOURCE_FILE"——若已设置,则有可用的 Markdown 想法文件 - 运行
echo "$X_NOTES_APP_SOURCE"——若已设置,则有可用的 macOS Notes 笔记(使用scripts/fetch-notes.sh get获取) - 如果两者都已配置,而用户说“看看我的想法”或提出类似要求,却没有指定来源,则询问要使用哪个来源
- 如果只配置了其中一个,则直接使用
- 如果两者都未配置,则根据用户提供的内容开展工作(粘贴的内容、Markdown 文件等)
- 运行
- 阅读源材料,找出核心见解、经验或动态
- 记录其中提到的具体工具、项目、数字或细节
处理多个想法/笔记的流程:
- 用户提供多个不同的想法或笔记时,逐一处理
- 先为第一个想法创建帖子选项
- 等待用户批准或反馈后,再处理下一个想法
- 这样既能避免让用户应接不暇,也便于逐步调整
1.3 应用筛选标准
使用 references/x-strategy.md 中的内容筛选框架评估笔记。优先选择已交付工作及其经验、非显而易见的见解,以及具体的工具推荐。跳过诱导互动的内容、空泛炒作,以及没有解决方案的抱怨。
阶段 2:内容创作
2.1 选择最佳角度
确定一个清晰的观点、能够证明它的具体细节,以及引子(第一行)。
2.2 选择格式
默认使用单条推文。只有当故事需要分步骤说明、包含多个相关见解或需要交代前后背景时,才使用推文串(2-5 条推文)。请参阅 references/x-strategy.md 中的 Thread Strategy。
2.3 起草内容
在起草过程中应用第一阶段加载的全部三份指南,而不只是发布前检查:
- x-strategy.md — 格式规则、内容策略、高互动模式和标志性模式。格式至关重要:每行一句,行间留白,第一行写引子,180-250 个字符,不使用斜体。
- 写作风格指南(
WRITING_STYLE_GUIDE_PATH)— 语气、风格、禁用短语、简化语言。根据 X_CASE_STYLE 环境变量应用大小写偏好(默认使用标准大小写)。设为"lowercase"时,全部使用小写,包括作为代词的 "i";仅将人名、WordPress 和产品名称首字母大写。 - 反模式 — 起草时主动避免。如果草稿中出现任何反模式,在展示前重写。硬性规则:绝不以任何形式使用 "It's not X, it's Y" 这种重新框定的表达方式。 包括:"isn't X, it's Y"、"not because X, because Y"、"isn't about X, it's about Y"、"less about X, more about Y"。请直接陈述正面主张。同时避免使用破折号、缺乏具体内容的泛泛观察和强化语气的词语。
2.4 优化互动
约 70% 的帖子以互动内容结尾(具体问题、预告或邀请)。其余帖子则以明确有力的句子收尾。请参阅 references/x-strategy.md 中的 "What Makes Content Shareable"。
2.5 质量检查
起草后,根据反模式指南重新检查每条帖子,并在展示前修正所有违规之处。然后确认:
- 我是否在第一行就切入重点?
- 内容是否具体?(名称、数字、示例)
- 我会在现实中这样说吗?
- 听起来像我自己,而不是 ChatGPT 吗?
- 我是否使用了写作风格指南中的任何禁用短语?
- 我是否避免了所有反模式?(重新框定、破折号、强化语气的词语、泛泛的观察)
- 如果这是回应,我是否加入了自己的角度?
阶段 3:输出
3.1 展示内容
针对创建的每条帖子:
- 帖子 - 展示可直接复制粘贴的实际推文
- 格式 - 标明是单条推文还是推文串
- 字符数 - 显示长度(目标:180-250 个字符)
- 使用的模式 - 说明应用了 x-strategy.md 中的哪种模式
- 关键要素 - 指出重点突出的具体内容、工具或项目
3.2 提供选项
适当时,提供 2-3 个变体:
- 针对同一见解采用不同角度
- 单条推文与推文串格式
- 使用不同的互动式结尾
3.3 说明选择理由
简要说明优先考虑了什么以及原因:
- 从笔记中选取了哪些见解
- 为什么突出某些细节
- 有意省略了哪些内容
3.4 保存获准的帖子
用户批准帖子后,将其保存到草稿文件(如果文件不存在则创建)。
文件位置(保存前确定):
- 运行
echo "$X_DRAFTS_FILE"检查环境变量 - 如果已设置,则追加到该文件路径
- 如果未设置,则默认使用
.x/posts.md(顶层目录中;如果文件不存在则创建)
Markdown 格式:
---
**Category:** Learning
**Date:** 2026-01-01
WordPress.com AI adds conversation alongside block editing.
People who couldn't navigate the UI before are shipping sites now. Others still use blocks for fine-tuning.
Both work. The conversation path just removes the skill barrier.
---
推文串请使用 [Tweet N] 标记:
---
**Category:** Learning
**Date:** 2026-01-01
[Tweet 1]
WordPress.com AI changes how people build sites.
[Tweet 2]
People who couldn't navigate block editing are shipping now.
[Tweet 3]
The UI is still there for fine-tuning. But conversation removes the skill barrier.
[Tweet 4]
Ask or click. Both paths work.
---
类别:
- 学习 - 见解、包含经验总结的已交付更新
- 更新 - 项目进展
- 工具 - 推荐
- 观察 - 行业观点
工作流:
- 向用户展示帖子
- 用户批准后,将其追加到
X_DRAFTS_FILE或.x/posts.md - 用户可以直接复制粘贴到 X(文本已包含正确的换行)
- 用户发布后自行删除该部分,或让你删除
输出格式
创建社交内容后,请提供:
📱 Post 1 (Single Tweet, 210 chars)
─────────────────────────────────
[Actual tweet text ready to copy/paste]
Pattern: "Shipped X, learned Y"
Specifics: agents.foo, conversational context matching
Engagement: Specific question
─────────────────────────────────
From your notes, I prioritized:
✓ The discovery insight (most shareable)
✓ Why traditional search failed (specific learning)
✗ Timeline details (not core value)
Alternative angles:
• Focus on the technical implementation
• Thread breaking down the 3 attempts
交互示例
用户:"帮我根据这些关于构建内容筛选功能的笔记创作一条帖子"
回复:
Let me analyze your notes and create X content.
[Phase 1: Loads references/x-strategy.md and writing style guide]
[Reads the notes, identifies key insights and specific details]
─────────────────────────────────
📱 Post (Single Tweet, 218 chars)
─────────────────────────────────
Shipped curation v1 for agents.foo today.
Discovery is way harder than app stores. Agents are conversations, not static features.
Had to rebuild around context matching instead of keyword search.
Pattern: "Shipped X, learned Y"
Key specifics: agents.foo, context matching vs keyword search
Engagement: Implicit (landing the insight)
─────────────────────────────────
From your notes, I selected:
✓ Core insight: agent discovery is different
✓ Specific solution: context matching
✓ Concrete detail: agents.foo
✗ Number of rebuild attempts (not essential to the insight)
Would you like me to:
• Save this approved post for tracking
• Create a thread version breaking down why search patterns failed
• Add a question ending for more engagement
• Draft additional posts from other insights in your notes
获得最佳效果的提示
- 提供上下文:例如“关于构建内容策展功能的笔记”,而不是直接粘贴笔记
- 提及具体部分:例如“重点关注有关上下文匹配的经验”,有助于确定优先级
- 说明数量:例如“根据这些笔记创作 3 条帖子”,而不是“创作一些帖子”
- 指定格式偏好:例如“只要单条推文”,或“也可以接受推文串”
- 要求提供不同版本:例如“给我几个不同的切入角度”,方便选择
- 反复调整:初稿完成后,提出调整要求,例如“写得更具体些”或“在结尾加个问题”
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
WRITING_STYLE_GUIDE_PATH | 否 | 共享写作风格指南的路径。在 Phase 1.1 中加载 |
WRITING_ANTI_PATTERNS_PATH | 否 | 共享反面模式的路径。优先于 references/anti-patterns.md |
X_DRAFTS_FILE | 否 | 保存已批准帖子的文件路径。默认值:.x/posts.md |
X_SOURCE_FILE | 否 | 包含帖子创意的 Markdown 文件路径。用户要求查看创意时读取。 |
X_NOTES_APP_SOURCE | 否 | 要从中获取创意的 macOS Notes 笔记名称(例如 "Tweets")。使用 scripts/fetch-notes.sh。 |
X_CASE_STYLE | 否 | "standard"(默认值)或 "lowercase" |