Readme generator
Generate professional README.md with 16:9 infographics, SEO-optimized metadata, and structured author sections — powered by Playwright and AI agent skills
npx -y skills add geekjourneyx/readme-generatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
为 GitHub 项目生成作品集级 README.md。适用于「帮我写 README」「生成 README」「优化 README」「README 最佳实践」「项目首页」「开源说明」「README 信息图」「README 封面」「用 Codex Image Gen / gpt-image-2 生成 README 图片」等请求。输出包括克制的 README 叙事、最多两张高质量视觉资产、压缩后的图片、MIT 许可证、GitHub Description 和 Topics 推荐、推荐星级,以及可选 gh CLI 更新建议。重点是帮项目讲清自己的故事,并基于项目类型判断视觉强度,避免套模板、堆信息和过度设计。
SKILL.md
20.3 KB, as published. Nobody here has run it
GitHub README Generator
README 是项目的第一张作品集页面。它不是说明书的目录,也不是功能清单的容器。它要在很短时间内回答三件事:
- 这是什么。
- 为什么值得看。
- 我怎么开始使用。
本 Skill 的目标是生成 100 分 README 作品:清楚、有审美、克制、可信,能让项目像一个完整作品一样被理解。
第一性原理
README 是信任入口和路径入口,不是完整文档。它应该帮助第一次打开仓库的人做出快速判断:
- 这个项目解决什么问题。
- 它适不适合我。
- 我是否能马上运行、安装或继续了解。
1w star 以上开源项目通常不是靠信息量取胜,而是靠清晰的首屏、直接的上手路径、可信的文档入口和克制的社区信息取胜。图片、徽章、作者信息和设计理念都只是辅助;一旦它们拖慢理解,就是噪音。
本 Skill 的核心取舍:README 先讲清项目,再做美化;视觉服务理解,不替代理解。
作品标准
用下面的评分表约束所有输出:
| 维度 | 分值 | 判断标准 |
|---|---|---|
| 15 秒理解 | 25 | 首屏能看懂项目名、价值、适用对象 |
| 项目故事 | 20 | 不是堆功能,而是讲清背景、动机和结果 |
| 视觉表达 | 20 | 图片像作品,不像小字流程截图 |
| 快速开始 | 15 | 安装和使用路径短、明确、可复制 |
| 可信产物 | 10 | 展示真实输出、能力边界或结果 |
| 克制降噪 | 10 | 去掉重复、口号、过度解释和装饰 |
低于 90 分的 README 不交付;先删噪音、放大重点、重排叙事。
高星项目基线
默认向高星开源项目学习这些结构:
- 项目名 + 一句话价值主张。
- 少量必要 badge,不堆状态装饰。
- 快速开始或文档入口靠前。
- 示例只在能降低上手成本时出现。
- 贡献、社区、安全、许可证简洁清楚。
- UI / 产品项目可放截图;库、SDK、基础设施项目少图或无图。
不要把 README 写成设计宣言、完整说明书、功能墙、社交名片或内部工作流报告。
设计原则
必须坚持
- H1 必须是项目正式名称,紧跟一句价值主张。
- README 开头先讲项目价值,再放安装细节。
- 图片只表达一个重点,但应该承担项目名片功能:让读者一眼看到项目名和定位。
- 默认最多两张图片:一张封面,一张核心能力或结果图。
- GitHub 会缩小图片显示,图片里的主文案必须按海报字号设计。
- 对功能的描述要具体,但不夸张;能用结果说明就不要自夸。
- 对作者和许可证保持简洁,不做社交名片堆砌。
必须避免
- ASCII 艺术标题。
- emoji 装饰标题或作者表格。
- 大段“我们很专业”的空话。
- 6 个以上小卡片堆在一张图里。
- 流程图里塞满阶段、命令和小字说明。
- 把第三张流程图当作默认产物;工作方式通常用正文讲更清楚。
- 把 Image Gen 当作长文排版工具。
- 把 README 写成完整产品手册;详细文档应放到
docs/。
总体流程
Phase 0 项目阅读和模式识别
Phase 1 项目故事提炼
Phase 2 视觉生成方式选择
Phase 3 作品级视觉资产生成
Phase 4 README 组装
Phase 5 GitHub 元信息建议
Phase 6 验证和交付
Phase 0: 项目阅读和模式识别
先读取项目,而不是直接写模板。
检查:
ls
find . -maxdepth 2 -type f | sed 's#^\./##' | sort | head -80
优先读取:
README.mdpackage.json/pyproject.toml/go.mod/Cargo.tomldocs/- 主要入口文件
- 示例、截图、演示文件
判断场景和视觉预算:
| 场景 | 判断方式 | 策略 | 图片上限 |
|---|---|---|---|
| 新建 README | 没有 README,或 README 很短 | 完整生成,但保持短路径 | 1-2 |
| 升级 README | 已有 README,有有效内容 | 保留独特内容,重写结构和首屏 | 0-2 |
| 作品集强化 | 用户强调审美、故事、展示 | 优先做叙事和封面表现 | 2 |
| 纯文档模式 | SDK、库、后端工具、基础设施 | 少图,重安装、API、文档入口 | 0-1 |
| UI / 产品展示 | 有界面、截图、demo、视觉结果 | 用真实结果或封面辅助理解 | 1-2 |
升级现有 README 时,不要删除用户已有的关键内容。先提取可保留内容,再重排。
降噪审查
写 README 前先标记哪些内容应外移或删除:
| 内容 | 默认处理 |
|---|---|
| 设计评分表、工作原则、内部方法论 | 放在 SKILL.md 或 docs/,不进 README |
| 生成文件树、模板变量、脚本细节 | 只在用户需要开发文档时保留 |
| 第三张流程图 | 删除,改成 2-4 行正文或简短列表 |
| 过多社交链接 | 只留 GitHub / 主页等核心入口 |
| 太泛的功能列表 | 合并成 3 个结果导向能力 |
| 安装前的长背景 | 缩短,快速开始提前 |
Phase 1: 项目故事提炼
采集或推断 7 个字段:
| 字段 | 说明 |
|---|---|
project_name | 项目正式名称 |
tagline | 一句话价值主张,短、有判断 |
origin | 项目出现的背景:为什么需要它 |
audience | 谁会用它 |
promise | 它帮用户得到什么结果 |
proof | 真实能力、截图、输出、示例、指标 |
start | 最短上手路径 |
不要问太多问题。能从项目里推断就直接推断;只有影响叙事准确性时才问用户。
推荐叙事结构
项目名
一句话价值主张
视觉封面(按项目类型决定是否需要)
这是什么
为什么需要它
你会得到什么
快速开始
示例或输出
工作方式(正文,不默认配图)
安装
许可证
作者
如果项目偏工具、库或基础设施,把“快速开始”提前到“为什么需要它”之后。README 的顺序要服务读者行动,不服务模板完整性。
Phase 2: 视觉生成方式选择
README 图片有两类:
- 作品封面:传达气质、主题、记忆点。
- 结构说明图:传达步骤、能力、对比、流程。
根据用户意图选择模式:
| 模式 | 适用场景 | 图片策略 |
|---|---|---|
portfolio | 默认推荐,适合需要展示完整作品感的项目 | 1 张封面 + 1 张核心能力图 |
clean-doc | SDK、库、后端工具、严肃基础设施 | 0-1 张图,优先快速开始和示例 |
visual-story | AI 工具、设计工具、独立产品、作品展示 | 最多 2 张图,Codex Image Gen 负责记忆点 |
structured | 用户明确要信息图、对比图、流程图 | 1-2 张 HTML/CSS 海报,保证文字准确 |
默认先判断项目类型,不要强行套 portfolio。视觉资产生成优先级固定为:
- Codex Image Gen Skill:优先用 Codex 内置图片生成能力生成视觉资产。
- 轻量化:README 展示图优先转成 WebP,再写入 README 引用路径。
- HTML to PNG fallback:只有当 Image Gen 不可用、输出不符合要求、或用户明确要求结构化精确文字时,才退化到 HTML/CSS 模板截图。
不要把 HTML 截图当默认路径。它是可靠兜底,不是首选视觉方案。
Phase 3: 作品级视觉资产生成
默认输出使用两个稳定文件名:
assets/banner.webp
assets/features.webp
这样 README 引用路径稳定,不管图片来自 Codex Image Gen 还是 HTML 截图兜底。
图片职责
| 图片 | 目标 | 推荐方式 |
|---|---|---|
banner.webp | 项目名片,建立项目名、定位和记忆点 | Codex Image Gen 优先 |
features.webp | 核心能力、结果或必要流程的传播图 | Codex Image Gen 优先;文字精确时 HTML 兜底 |
不要默认生成 workflow.png 或 workflow.webp。如果用户明确要求流程图,把流程内容合并进 features.webp 或放到正文,不新增第三张图。
默认视觉风格
所有 README 视觉资产默认采用同一套风格:
黑底、极简、电影打光、高对比、大留白、低亮度、白/灰/暖金三色、高级杂志封面感。
画面质感:极深黑背景 #050505,纸张颗粒,浅景深,体积雾,细窄轮廓光,局部金属质感。
质量目标:出自 1w star 设计师水准作品。
设计约束:
- 背景以
#050505深黑为主。 - 色彩只使用白、灰、暖金;不要引入彩虹渐变、紫蓝霓虹或高饱和装饰色。
- 使用大留白和局部光,而不是堆元素。
- 图片应该有少量高价值文字,承担传播和定位,不做长说明。
- 文字越少越强:每张图只保留读者离开 README 后仍该记住的信息。
- 不放段落、命令、表格、版本号堆叠和密集说明。
项目名片文字策略
默认使用「项目名片型图片」,不是纯氛围图。
| 图片 | 推荐文字 | 上限 |
|---|---|---|
banner.webp | 项目名 + 一句话定位 + 1-3 个短标签 | 18 个英文词或 28 个中文字 |
features.webp | 2-3 个结果短语,必要时加一个短标题 | 每个短语 2-5 个词 |
好文字应该像封面标题,不像说明书:
- 项目名必须清楚,优先放在
banner.webp。 - 定位句说结果,不说口号,例如 “Portfolio-grade README design for open source projects”。
- 标签只放搜索和记忆价值最高的词,例如
Story、Visual、Signal。 - 中文可以用,但要少;英文项目名、短英文标签通常更稳。
- 如果 Image Gen 把文字写错,重试一次;仍不准确时,保留 Image Gen 视觉底图,用 HTML/CSS fallback 承载精确文字。
- 不为了“全程 AI 生成”牺牲项目名和定位的准确性。
字号底线
按 1920×1080 设计时:
| 元素 | 最小字号 |
|---|---|
| 主标题 | 92px |
| 中文主标题 | 80px |
| 大卡标题 | 48px |
| 正文说明 | 28px |
| 辅助标签 | 22px |
| 页脚 | 20px |
不要使用 18px 以下文字。GitHub 缩放后会不可读。
Codex Image Gen 产物只要求保持 16:9 和足够清晰,不要为了凑 1920×1080 而把好图强行重采样。README 展示图优先保存为 WebP;1920×1080 是 HTML to PNG fallback 的模板尺寸。
HTML to PNG fallback
仅在 Image Gen 不可用、用户要求精确结构化文字、或 Image Gen 输出无法通过检查时使用:
node scripts/gen_infographic.mjs /tmp/readme-banner.html assets/banner.png 1920 1080
node scripts/gen_infographic.mjs /tmp/readme-features.html assets/features.png 1920 1080
node scripts/convert_webp_assets.mjs assets/banner.png assets/banner.webp assets/features.png assets/features.webp
模板来自:
templates/banner.html
templates/features.html
模板变量:
{{PROJECT_NAME}}
{{TAGLINE}}
{{PRIMARY_COLOR}}
{{CATEGORY}}
{{PLATFORM}}
{{LANGUAGE}}
{{VERSION_INFO}}
{{TECH_CARDS}}
{{FEATURE_CARDS}}
{{FEATURE_COUNT}}
卡片结构:
{{TECH_CARDS}}用在封面右侧,建议 2-3 条,只放短标签和一句说明。{{FEATURE_CARDS}}只放 2-3 张大卡,第一张可加featured。- 如果需要表达工作流程,用
features.webp的 3 个结果阶段承载,不新增第三张图。
Codex Image Gen / gpt-image-2 方式
默认优先调用 Codex 自带图片生成能力,不要在项目里临时硬编码 API 脚本。
适合 Image Gen 的内容:
- README 封面。
- 产品氛围图。
- 作品集视觉。
- 抽象概念图。
- 用现有图片做风格延展。
不适合 Image Gen 的内容:
- 精确流程图。
- 大量中文文字或多段说明。
- 命令、版本、表格。
- 必须逐字准确的长文或 UI 图。
推荐 prompt 结构:
Use case: productivity-visual
Asset type: GitHub README visual asset, 16:9
Project: <project_name>
Story: <origin + promise>
Visual direction: black background, minimalist, cinematic lighting, high contrast, large negative space, low brightness, premium magazine cover
Texture and lighting: #050505 deep black background, subtle paper grain, shallow depth of field, volumetric haze, thin rim light, selective metallic highlights
Palette: white, gray, warm gold only
Composition: one strong visual idea, restrained, spacious, no dense UI
Quality bar: 10k-star designer portfolio quality
Text policy: include only high-value name-card text. Use the exact project name, one short positioning line, and optional 1-3 short labels. No paragraphs, commands, tables, tiny captions, or decorative text.
Avoid: emoji, clutter, fake interface text, tiny labels, generic gradients, bright neon, overdesigned dashboards
如果 Image Gen 不支持、无法调用、或输出出现错误文字/风格偏差,先用一个更短的文字 prompt 重试一次;如果仍不准,再退回 HTML to PNG 兜底流程承载精确文字。
图片轻量化
README 展示图片默认使用 WebP。WebP 通常比 PNG 更适合 README 加载;PNG 只作为 HTML 截图兜底的中间产物、透明图或需要无损保存时使用。
默认命令:
npm run webp
如果项目没有 WebP 转换脚本,优先使用 cwebp、sips 或可用的轻量工具。不要为了转换引入重型依赖。无法转换时再保留 PNG,并说明原因。
视觉检查
每张图生成后检查:
- 缩小到 GitHub README 显示宽度后仍能读。
- 一张图只讲一个重点。
- 没有小字堆叠。
- 项目名和定位句一眼可见。
- 图中文字没有拼写错误、乱码或伪文字。
- 没有过度装饰。
- 视觉风格和项目故事一致。
- Image Gen 图没有错误文字或多余水印。
- 压缩后图片仍然清晰,没有明显色带、噪点破坏或文字糊边。
Phase 4: README 组装
默认结构:
<div align="center">
# 项目名
**一句话价值主张**
<img src="assets/banner.webp" alt="[项目名] — [价值主张]" width="100%">
[](./LICENSE)
</div>
---
## 这是什么
[2-3 句话讲清项目、背景、结果。]
## 为什么需要它
[讲真实问题,不列反模式清单。]
## 你会得到什么
<img src="assets/features.webp" alt="[3 个核心能力]" width="100%">
## 工作方式
[2-4 行讲清工作方式;不要默认再放第三张图。]
## 快速开始
[最短可执行路径。]
## 安装
[依赖和安装命令。]
## 许可证
[MIT](./LICENSE)
## 关于作者
[简洁作者信息。]
规则:
- 不要超过 3 个 badge,除非项目确实需要状态标识。
- 不要在图片后重复同样的功能列表。
- 不要把“设计原则”“项目结构”“生成内容”都塞进 README;只保留对读者有用的部分。
- 不要默认放第三张 workflow 图;两张图已经足够承载作品感和核心信息。
- 如果有详细说明,放到
docs/,README 只做入口。
Phase 5: GitHub 元信息推荐
Repository Description 和 Topics 是 GitHub 搜索、Trending 关联、AI 搜索引用和人工快速判断的入口。它们不是 README 内容,不要写进 README.md;只在最终回复里作为独立建议输出。
First-principles 目标
- Description 回答:这个项目为谁创造什么结果。
- Topics 回答:这个项目应该被放进哪些搜索桶。
- 推荐数量 由信号质量决定,不追求多;高质量 7-9 个通常优于铺满 20 个。
- Trending / SEO / GEO 三者平衡:既要覆盖热门搜索词,也要保持项目事实准确,方便 AI 引用。
Description 生成规则
生成 3 个候选,并逐个打分:
[Verb] [specific outcome] for [audience] — [1-3 precise keywords]
硬约束:
- 英文优先,≤ 160 字符。
- 动词开头:Design / Generate / Build / Create / Convert / Automate。
- 包含项目最核心的 2-3 个关键词。
- 不用 emoji、感叹号、营销形容词。
- 不写无法从项目事实支撑的能力。
评分:
| 维度 | 分值 | 判断 |
|---|---|---|
| 准确性 | 40 | 是否忠于项目真实能力 |
| 搜索价值 | 25 | 是否覆盖 GitHub / Google 常搜词 |
| AI 可引用性 | 20 | 是否能被 ChatGPT / Claude / Perplexity 直接理解 |
| 克制程度 | 15 | 是否没有夸张和废话 |
星级:
| 分数 | 星级 |
|---|---|
| 90-100 | 5 星,推荐使用 |
| 80-89 | 4 星,可用但可再精简 |
| 70-79 | 3 星,只适合备选 |
| < 70 | 不推荐 |
Topics 生成规则
先建立候选池,再筛选最终推荐。
候选来源:
- 项目类型:
agent-skill,cli-tool,developer-tools,documentation - 核心技术:
nodejs,playwright,codex,image-generation - 应用领域:
readme,github-readme,open-source,portfolio - 当前趋势:AI agent、image generation、developer tooling、documentation automation
- 项目实际文件和 README 叙事中出现的关键词
筛选规则:
- 推荐 7-9 个,不超过 10 个,除非项目确实横跨多个明确领域。
- Topic 必须小写,只用字母、数字和 hyphen。
- 删除太泛的词:
software,tool,app,github,project,ai。 - 删除重复词:
readme和github-readme可以共存;open-source和opensource只留一个。 - 不为追热门添加不真实 topic。
每个 topic 给出星级和理由:
| 星级 | 含义 |
|---|---|
| 5 星 | 强相关、高搜索价值、应加入 |
| 4 星 | 相关且有发现价值,可加入 |
| 3 星 | 有一定关系,但不够核心 |
| 2 星 | 相关性弱,通常不推荐 |
| 1 星 | 噪音,不加入 |
输出格式:
GitHub Description 推荐:
1. ★★★★★ <description>
理由:...
2. ★★★★☆ <description>
理由:...
最终推荐:<description>
GitHub Topics 推荐:
加入:
- ★★★★★ github-readme — 精准描述项目用途
- ★★★★★ agent-skill — 符合项目形态
- ★★★★☆ image-generation — 当项目支持 Image Gen 时加入
不建议加入:
- ★★☆☆☆ ai — 太泛,搜索噪音大
- ★★☆☆☆ github — 太泛,不能帮助分类
可选 gh CLI 更新
如果用户安装了 gh,当前目录已经是 Git 仓库,并且能解析 GitHub remote,可以建议用户让 Agent 用 gh repo edit 更新。不要擅自更新;必须先给出将执行的内容并等待用户确认。
检查:
gh --version
git remote -v
建议命令格式:
gh repo edit OWNER/REPO \
--description "<final-description>" \
--add-topic topic-one \
--add-topic topic-two \
--add-topic topic-three
如果需要替换旧 topics,先读取当前 topics,再只移除明确不推荐的项:
gh repo view OWNER/REPO --json description,repositoryTopics
gh repo edit OWNER/REPO --remove-topic old-topic --add-topic new-topic
说明:git 不能更新仓库元信息
git 命令不能修改 GitHub 仓库的 Description 或 Topics。原因:Description 和 Topics 是 GitHub 平台元信息,不是 Git 仓库里的 commit、branch、tag 或 remote 配置。
git remote -v 只能用来识别 OWNER/REPO,不能用来更新元信息。
如果没有 gh,只给出推荐值,让用户到 GitHub 页面手动更新;不要提供复杂备选命令。
不要用 README 文件保存这些推荐;它们属于交付时对用户的操作建议。
Phase 6: 验证和交付
交付前必须验证:
node --version
npm run showcase
file assets/banner.webp assets/features.webp
git status --short
如果改了模板或实际图片,必须重新生成 WebP 并打开检查。
最终汇报只说清楚:
- 改了什么。
- 结果怎样。
- 哪些验证跑过。
- 是否还有需要用户决定的点。
不要把实现细节和冗长过程写给用户。