| name | tech-article |
| description | 分析 GitHub 开源项目并写成一篇适合发布的技术文章,带真实安装测试和性能数据,风格接地气、手机友好。 只要用户给了一个 GitHub 链接,并提到写文章、做评测、项目推荐、公众号推文、帮我介绍这个项目、 把这个项目写成文章、安利一下这个工具,就应该触发此技能——即使用户只说"帮我写写这个"也要触发。 生成的文章也可以直接用来制作播客视频。
|
技术文章生成
把 GitHub 开源项目分析变成一篇开门见山、突出优势、带实测的技术文章,适合微信公众号等内容平台发布。
项目目录管理
所有产物统一存放在:
<当前工作空间>/podcast-projects/<项目名>/v<N>/article.md
<当前工作空间> 是调用此技能时所在的目录。播客视频流水线中的所有技能建议在同一个目录下调用,确保 podcast-projects/ 始终在同一位置。
确定项目: 从 GitHub 仓库名推断项目名(如 markitdown-review),向用户确认后创建目录。若用户已有进行中的项目,询问是否纳入该项目。
自动版本: 读取 <项目名>/current.txt(不存在则初始化为 v1):
article.md 已存在于当前版本 → 创建 vN+1/ 目录,复制现有产物,再写入本次文章,更新 current.txt
article.md 不存在 → 直接写入当前版本,成功后更新 current.txt
前置检查
文章质量的关键在于真实数据,这些检查确保能顺利完成实测:
Phase 1:仓库分析
克隆仓库到本地:
git clone <url> /tmp/repo-analysis-<name>
静态分析(按优先级):
- 读取 README.md、CLAUDE.md、CONTRIBUTING.md 等核心文档
- 扫描目录结构:
find . -type f | head -200
- 分析技术栈:语言分布(
cloc 或 find + wc)、框架依赖(pom.xml / package.json / requirements.txt / pyproject.toml)
- 检查基准测试数据(benchmark 目录、README 中的表格)
- 检查 CI/CD 配置、测试覆盖
提取关键信息:
- 项目定位(一句话说清楚干啥的)
- 核心亮点(3-5 个,必须有数据支撑)
- 基准测试/性能数据
- 技术架构概览
- 安装方式与使用方式
Phase 2:本地实测
这是文章的灵魂——没有实测数据,文章就只是复述别人的宣传材料。能跑的一定要跑。
尝试安装:
pip install -U <package-name>
npm install -g <package-name>
跑至少 5 个实测案例,覆盖:
- 最基本用法
- 多格式输出(Markdown + JSON 等)
- 特色功能
- 性能计时(用
time 命令记录)
- API 调用(Python/Node.js SDK)
记录真实数据:
- 每次操作的耗时
- 输出文件大小
- 输出内容的关键片段(从真实输出中截取,不编造)
Phase 3:文章撰写
严格按以下结构撰写,顺序不要改动:
# [标题:核心数据 + 项目名 + 一句话定位]
> 一行摘要:最核心的数据亮点
[1-2 句痛点引入,直接接成绩单]
## 🏆 成绩单
[横评表格或性能数据表格]
[2-3 个加粗关键发现]
## 🤔 它到底干了什么?
[2-3 句话解释项目核心价值,不超过 5 行]
## 🏗️ 怎么做到的?
[模式/机制/架构,用表格+短文,不堆砌]
## 🧪 实战演练
[每个案例:命令 → 结果表格 → 输出片段]
### 安装
### 实测 1:[最常用功能]
### 实测 2:[特色功能]
### 性能汇总表
## 🎯 谁该用?
[场景 → 推荐方案表格]
## 总结
[2-3 句收尾,有梗有态度]
**项目地址**:<url>
写作规范:
- 标题包含核心数据 + 项目名
- 开头 1-2 句痛点后直接甩数据表格,不做三层铺垫
- 能用表格说清楚的不用段落,表格列数 4-7 列
- 代码块集中在「实战演练」章节
- 所有性能数据来自实测,不编造
- 每段不超过 4 行(手机阅读友好)
- 不写「坑」「局限」「注意」「风险」等负面内容
产物校验
写入文件前验证:
反问清单
| 缺失情况 | 标准反问 |
|---|
| 无 GitHub URL | "请提供 GitHub 仓库地址,例如 https://github.com/owner/repo。" |
| URL 不可达 | "该地址无法访问,请确认 URL 是否正确,或仓库是否为公开状态。" |
| 安装失败 | 记录错误信息并继续基于静态分析写文章,在文章中注明「安装环境存在问题,以下实测基于文档描述」 |
| 项目名未确认 | "这篇文章的项目名叫什么?(用于创建目录,如 markitdown-2024)" |
连接到播客视频流水线
文章生成后,如果用户想进一步制作播客视频,告知下一步:
✅ 文章已保存至 podcast-projects/<项目名>/v<N>/
如需制作播客视频,下一步:
/podcast-outline → 将文章转化为播客大纲