📦 zeelin-writing — zeelin-写作
v0.1.0自媒体写作助手,提供完整的10步创作流程:需求分析→知识搜索→选题讨论→风格学习→创作初稿→三遍审校(降AI味)→封面配图→HTML排版→发布草稿箱→归档。当用户说“写一篇文章”“帮我创作”“改一下这篇文章”“审校”“降AI味”“降重”“选题讨论”“我想写”时触发。支持公众号、小红书、视频逐字稿等多平台。
运行时依赖
安装命令
点击复制技能文档
自媒体写作助手 用户:AI自媒体博主 领域:AIGC、AI视频/漫剧、AI工具、AI应用 风格:洞察口语化、干货感强、爆款结构化写作
快速导航 首次配置 触发场景 任务类型判断 完整工作流程 降AI味速查表 写作技巧
首次配置:API Keys 首次使用前需配置 API Keys(一次配置,永久生效): 配置方式:在 skill 目录创建配置文件: # 设置 SKILL_DIR(根据实际安装位置) SKILL_DIR="$HOME/.agents/skills/zeelin-writing" # 或 SKILL_DIR="$HOME/.claude/skills/zeelin-writing" # 创建配置文件 mkdir -p "$SKILL_DIR/.wechat"
然后在 $SKILL_DIR/.wechat/.env 中填入: # 封面图生成(必需) GOOGLE_API_KEY=your_key_here # 公众号发布(可选,不发布公众号可不填) WECHAT_APP_ID=your_app_id WECHAT_APP_SECRET=your_app_secret
获取方式: GOOGLE_API_KEY → https://aistudio.google.com/app/apikey WECHAT_APP_ID/SECRET → mp.weixin.qq.com → 开发 → 基本配置
配置保存流程(用户提供 Key 后 Claude 执行): 确定 SKILL_DIR: SKILL_DIR=$([ -f "$HOME/.agents/skills/zeelin-writing/.wechat/.env" ] && echo "$HOME/.agents/skills/zeelin-writing" || echo "$HOME/.claude/skills/zeelin-writing") 创建目录(如不存在): mkdir -p "$SKILL_DIR/.wechat" 写入配置:使用 Write 工具创建 $SKILL_DIR/.wechat/.env 文件,内容格式如下: GOOGLE_API_KEY=用户提供的key WECHAT_APP_ID=用户提供的appid WECHAT_APP_SECRET=用户提供的secret
继续执行流程 自动检测:Key 未配置时,Claude 会在对应步骤暂停并引导配置,无需提前手动检查。
触发场景 当用户提到以下关键词时,加载此 Skill: 触发词类别 | 关键词示例 创作类 | "写一篇..."、"帮我创作..."、"我想写..."、"生成 brief" 修改类 | "改一下这篇文章"、"修改"、"润色" 审校类 | "审校一下"、"降AI味"、"降重"、"去AI味" 讨论类 | "选题讨论"、"给我几个选题"、"有什么选题" 咨询类 | "怎么写..."、"如何..."(直接回答,不保存)
任务类型判断 收到用户请求后,首先判断任务类型,然后执行对应流程: 类型 | 判断条件 | 执行流程 A. 新写作(有 brief) | 用户提供了 brief 文件或完整需求信息 | 执行完整10步流程 B. 新写作(无 brief) | 用户只说"写一篇...",没有具体信息 | 先执行 Step 1 生成 brief,再继续 C. 修改已有文章 | 用户提供了原文文件路径或粘贴了原文 | 执行修改文章流程 D. 审校/降AI味 | 用户明确说"审校"、"降AI味"、"降重" | 执行三遍审校流程 E. 快速咨询 | 用户问"怎么写"、"如何"等简单问题 | 直接回答,不保存文件
完整工作流程(10步) 执行规则:Step 1 信息足够时直接进入 Step 2,无需等待;Step 2 到 Step 10 全部自动连续执行,步骤之间不停顿、不询问、不等待用户确认。
Step 1: 理解需求 & 保存 Brief ⭐ 路径规范(固定不变) 目录结构要求: 你的项目目录/ ├── _briefs/ ← Brief 文件 ├── _协作文档/ ← 协作文档 ├── images/ ← 配图 └── YYYY.MM.DD 文章标题.md ← 最终文章
需求确认(按需询问) 从用户消息中提取以下信息,有则直接使用,缺则询问: 平台:公众号 / 视频号逐字稿 / 小红书 / 其他 主题方向:具体想写什么 目标受众:谁会看 核心价值:读者能获得什么 特殊要求:字数、风格、截止时间等(可选)
信息足够时,无需逐项确认,直接保存 Brief 并进入 Step 2。 Brief 文件保存规则 文件位置:./_briefs/ 命名格式:YYYY.MM.DD 项目名-brief.md Brief 内容模板:参考 references/brief-template.md 重要:如果有 shell 脚本 scripts/创建项目结构.sh,优先使用它初始化项目结构。
Step 2: 信息搜索与知识管理 ⭐ 2.0 加载本地资料(自动,不询问) 按以下优先级自动加载,无需询问用户: 用户初始消息中的 @文件:直接读取并加载 当前目录下的默认路径(存在则自动读取,不存在则跳过): ./知识资料/ — 提取信息、观点、数据 ./历史文章/ — 学习风格、语气、结构
加载完成后,将路径写入 brief 文件的「资料来源」章节,然后立即继续。
两路并行搜索,结果合并: 路线 A:本地资料 来源 | 用途 | 原则 历史文章 | 学习风格、语气、结构 | ❌ 不复用内容,只提取框架 知识资料 | 提取信息、观点、数据 | ❌ 不直接引用,提炼后重新组织
路线 B:网络搜索 优先检测 agent-reach 是否可用: which xreach 2>/dev/null && echo "agent-reach 可用" || echo "使用内置搜索" 有 agent-reach(推荐):直接调用 agent-reach skill,支持微博、小红书、微信文章等中文平台。 无 agent-reach(内置方式):使用以下工具完成搜索: WebSearch 搜索关键词,获取相关 URL curl https://r.jina.ai/{URL} 读取页面全文(Jina Reader 自动转换为干净文本) 覆盖:官方信息、媒体报道、社区讨论、用户反馈
合并输出 两路搜索完成后,整理成以下结构:
资料收集结果
本地资料
- 历史文章风格要素:[开头方式、句式特点、金句模板]
- 知识资料关键信息:[提炼后的信息和观点]
网络资料
- 官方信息:[...]
- 媒体报道:[...]
- 用户反馈:[...]
- 技术细节:[...]
信息缺口
- [ ] 待补充信息1
- [ ] 待补充信息2
⭐ 核心原则:历史文章学风格不学内容;知识资料提炼观点不直接复用
Step 3: 选题讨论 ⭐⭐ 必做 ⚠️ 重点警告:永远不要跳过这一步!不要直接写文章! 自动化流程(方案 B) 生成 3-4 个选题方向(每个包含详细大纲) 自动评分并选择最优选题 保存所有选题到备选文件:_协作文档/YYYY.MM.DD-选题备选.md 直接进入 Step 4(用户可随时查看备选选题)
选题生成格式 提供 3-4 个选题方向,每个必须包含:
选题 [序号]:[标题]
核心角度:[一句话说明文章切入点] 优势:[为什么这个角度好写/有价值] 劣势:[可能遇到的困难] 去模板化检查:- □ 这个角度在本地资料中出现过吗?
- □ 如果出现过,如何做出差异化?
- [具体差异化方法]
- [大标题1] (预计 XXX 字) - 子要点
- [大标题2] (预计 XXX 字) - 子要点
- [大标题3] (预计 XXX 字) - 子要点
- 信息完整度:[分数]/30(搜索到的资料是否充足)
- 差异化程度:[分数]/30(与历史文章的重复度,越低越好)
- 可行性:[分数]/20(工作量、是否需要测试)
- 爆款潜力:[分数]/20(话题热度、争议性、吸引力)
自动选择逻辑 评分标准(总分 100): 信息完整度(30 分) 搜索到的资料是否充足(官方信息、用户反馈、技术细节) 是否有足够的数据支撑 是否有真实案例 差异化程度(30 分) 与历史文章的重复度(越低越好) 切入角度的独特性 观点的原创性 可行性(20 分) 工作量评估(⭐ = 20分,⭐⭐ = 15分,⭐⭐⭐ = 10分) 是否需要真实测试(不需要 = 20分,需要 = 10分) 爆款潜力(20 分) 话题热度和时效性 争议性和讨论价值 对目标受众的吸引力
选择规则: 自动选择总分最高的选题 如果分数相同,优先选择工作量低的 如果仍相同,优先选择不需要测试的
备选文件保存格式 保存到 _协作文档/YYYY.MM.DD-选题备选.md: # 选题备选方案 生成时间:YYYY-MM-DD HH:mm:ss