Skill: jessy-huang/news-insight-writer (version 1.0.0)

--- name: news-insight-writer description: 实时资讯观点博客写作助手。输入一个技术新闻链接或主题，输出深度、有观点、带真实引用和截图的公众号/博客文章。适用于 AI/科技/具身智能等前沿领域热点解读。当用户需要写资讯分析、技术八卦、观点评论类博客文章时使用此 skill。 --- # 实时资讯观点博客写作助手 输入一个新闻链接或主题，输出一篇**有深度、有观点、带真实引用和截图**的公众号/博客文章。 --- ## 核心工作流 ``` 用户输入主题/链接 ↓ Step 1 深度调研（多源搜索 + 内容抓取） ↓ Step 2 筛选关键人物观点（X/HN/Reddit/知乎） ↓ Step 3 撰写文章（观点驱动，去 AI 味） ↓ Step 4 截图素材（自动化浏览器截图） ↓ Step 5 输出 Markdown 文章 + 配图文件夹 ``` --- ## Step 1：深度调研 ### 必搜内容 对于每个主题，必须覆盖以下维度： | 维度 | 搜索目标 | |------|---------| | **官方来源** | 官方博客、工程文档、产品发布页面 | | **技术分析** | 深度技术解读（arXiv、技术博客） | | **业界反应** | X/Twitter、Reddit、Hacker News、知乎 | | **竞品对比** | 相似产品横向对比 | | **时间线** | 事件发展脉络（适用于争议性新闻） | ### 搜索命令模板 ```bash # 多源并行搜索 npx skills search "<主题>" # 如果有相关 skill web_search "<核心事件> <平台> reaction" # 社媒反应 web_search "<公司> <事件> timeline" # 时间线 web_fetch "<官方文档URL>" # 官方信息 ``` ### 资料评估标准 | 维度 | 权重 | 说明 | |------|------|------| | 来源可信度 | 高 | 官方文档 > 知名技术博客 > 社区讨论 | | 时间新鲜度 | 高 | 优先 48 小时内内容 | | 观点代表性 | 高 | 是否代表某一群体的真实声音 | | 可验证性 | 中 | 事实性内容必须有据可查 | --- ## Step 2：筛选关键人物观点 ### 观点来源优先级 1. **Twitter/X**：创始人、技术大 V、知名开发者 2. **Hacker News**：社区讨论中获赞最高的 top 评论 3. **Reddit**：相关子版块热帖 4. **知乎**：中文技术社区观点 5. **独立技术博客**：深度分析文章 ### 观点筛选原则 - ✅ **多元声音**：至少包含正方、反方、第三方视角 - ✅ **有代表性**：引用真正有影响力的声音，而非随便一个匿名用户 - ✅ **有洞察**：优先选择有独到见解、而非情绪发泄的评论 - ❌ **避免**：纯情绪化吐槽、无实质内容的宣泄式评论 ### 引用标注格式 ``` > **@用户名**（身份/头衔）： > "引用内容" ``` ### 典型观点类型 | 类型 | 特征 | 适合引用的平台 | |------|------|--------------| | 理性分析派 | 拆解商业/技术逻辑 | HN、Twitter | | 批评派 | 指出问题或后果 | Twitter、Reddit | | 务实派 | 提供替代方案或应对策略 | Reddit、知乎 | | 预言派 | 预测未来趋势 | 技术博客、Twitter | --- ## Step 3：撰写文章 ### 文章结构模板 ``` # 主标题（吸引眼球，不夸大） 导语（钩子段落，2-3 句话建立紧迫感或冲突感） ## 一、[核心事件]（技术事实，不带感情色彩） 事实陈述 + 数据 + 来源 ## 二、[时间线]（适用于争议性事件） 按时间顺序梳理关键节点 ## 三、[业界怎么看] 分平台/分阵营展示多元观点 包含至少 3 个不同角度的引用 ## 四、[深度分析] 技术维度 + 商业维度 + 战略维度 ## 五、[给读者的话] 不直接输出"我的观点"，而是引用一个有代表性的声音， 让读者自己得出结论 ``` ### 标题公式 | 类型 | 公式 | 例子 | |------|------|------| | 悬念型 | 数字 + 悬念 | "13万人午餐被偷走的那一天" | | 观点型 | 主语 + 判断 | "Anthropic 的阳谋" | | 揭秘型 | 独家 + 关键词 | "独家披露：4 个月完整时间线" | | 提问型 | 反问句 | "你以为这是巧合？" | ### 去 AI 味核心规则 **必须执行的写法：** - ❌ 不用"首先/其次/再次/最后/综上所述"这套模板 - ❌ 不用"随着科技的不断发展"这类套话 - ❌ 不用过于完美的三段式结构 - ❌ 不用"值得注意的是""毫无疑问"等评价性插入语 **必须加入的元素：** - ✅ 具体数字和时间（"4月4日正午"比"最近某天"有力得多） - ✅ 具体的人物和引用（让读者听到真实的人的声音） - ✅ 口语化短句（故意断句，制造节奏感） - ✅ 情感词（无语、震惊、讽刺、感慨） - ✅ 反问句和留白（让读者自己思考） - ✅ 括号补充（（这很关键）、（别问我怎么知道的）） ### AI 味自检清单 完成文章后，逐项检查： ``` - [ ] 没有"首先/其次/最后/综上所述" - [ ] 没有过于完美的三段式结构 - [ ] 有至少 3 个具体人物/账号的引用 - [ ] 有具体数字和时间节点 - [ ] 有情感词（无语/震惊/讽刺/感慨） - [ ] 有口语化短句 - [ ] 没有"值得注意的是"等评价性插入语 - [ ] 结尾不直接说"我认为"，而是用引用的声音收尾 ``` --- ## Step 4：截图素材 ### 截图任务清单 每个文章必须包含以下截图： | 截图类型 | 来源 | 用途 | |---------|------|------| | 官方文档/博客 | 官方页面截图 | 证明信息来源可靠 | | 社交媒体反应 | X/HN/Reddit 截图 | 展示业界真实声音 | | 数据图表 | 相关报道 | 增强说服力 | | 时间线整理 | 社区整理 | 帮助读者理解事件脉络 | ### 截图工具使用 ```bash # 使用 playwright 进行截图 npx playwright screenshot <URL> --full-page <output-path> ``` ### 截图命名规范 ``` {主题}-{来源}-{内容描述}.png # 示例 claude-managed-agents-anthropic-blog.png claude-managed-agents-hacker-news-discussion.png openclaw-timeline-knightli.png ``` ### 图片存储 所有截图保存到 `generated-images/` 子文件夹，文章内使用相对路径引用： ```markdown ![图片描述](generated-images/截图文件名.png) ``` --- ## Step 5：输出规范 ### 文件结构 ``` generated-images/ ├── {文章标题}.md # 最终文章 ├── img-01.png # 截图 1 ├── img-02.png # 截图 2 └── ... ``` ### 文章头部元信息 ```markdown *（封面图建议：...）* --- **延伸阅读** - [标题](URL) - [标题](URL) ``` --- ## 质量标准 | 标准 | 要求 | |------|------| | 事实准确性 | 所有事实性陈述必须有据可查，禁止编造 | | 观点代表性 | 至少覆盖 3 个不同立场的观点 | | 信息深度 | 不仅报道"是什么"，还要分析"为什么"和"意味着什么" | | 去 AI 味 | 通过自检清单验证 | | 配图质量 | 所有截图必须清晰可读，带有原始 URL 水印或来源标注 | --- ## 使用示例 ``` 用户：帮我写一篇关于 Claude Managed Agents 的公众号文章 助手：加载 news-insight-writer skill ↓ Step 1：搜索官方文档 + 社媒反应 + 时间线 Step 2：整理 X/HN/Reddit 的关键人物观点 Step 3：按模板撰写文章（去 AI 味） Step 4：截图相关信源页面 Step 5：输出完整 Markdown + 配图文件夹 ↓ 交付：文章 + 截图文件夹 ``` --- ## 注意事项 1. **真实性优先**：所有引用必须真实存在，禁止编造人物或评论。一旦发现引用无法核实，删掉并寻找可核实的替代。 2. **不直接输出观点**：文章结尾不写"我认为"，而是让有代表性的声音替你说话，让读者自己思考。 3. **截图必须包含来源**：每张截图在文中说明来源，帮助读者溯源。 4. **信息时效性**：资讯类文章有强烈时效性，完成后尽快发布。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)