Communitygithub.com

Ryuki0x1/readme-screenshots

将软件项目转变为带有真实截图的精美 README。支持网站、浏览器扩展、Android、iOS 和 Flutter 项目。当用户想要“为 README 添加截图”、“美化 README”、“生成带截图的文档”或“展示项目”时使用此技能。

readme-screenshots 是什么?

该技能能够自动检测项目平台,运行应用程序并捕获真实的 UI 截图,然后生成一个视觉上吸引人的 README.md 文件。它支持多种平台,包括网页、浏览器扩展、Kotlin/Android 应用、iOS(仅 macOS)和 Flutter 项目。核心原则是不伪造截图,所有截图必须来自实际运行的应用程序。技能会检测项目结构,加载相应的运行手册(参考 `references/` 目录),根据手册指示运行应用并捕获像素级准确的截图。截图会被保存到 `docs/screenshots/` 目录,并使用描述性的短横线命名(如 `hero-dashboard.png`)。最终,该技能会编写或重写 README.md,以结构化的方式展示英雄截图、功能列表、截图导览、工作原理、安装和配置说明。它还会验证截图文件是否存在且大小合适(小于 1.5 MB)。如果依赖的工具链缺失,技能会优雅地报错并给出安装指令,而不会静默安装(尤其是 Android SDK 和 Xcode 等大型依赖)。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ryuki0x1/readme-screenshots/tree/main/skills/readme-screenshots

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

预览

来自技能 README

readme-screenshots preview

文档

README 截图

将一个运行中的项目转变为一个有文档、可视化项目:运行应用程序,捕获其界面的真实截图,并围绕它们撰写一个生动、清晰的 README.md。结果应看起来像一个受欢迎的开源项目的着陆页。

无论平台如何,以下原则不可妥协:

  • 截图必须是运行中应用程序的真实捕获。绝不绘制、模拟或伪造图像。
  • 截图存放在仓库中(docs/screenshots/),并且 README 使用相对路径引用它们,以便在 GitHub 上正确渲染。
  • 不做任何破坏性操作:绝不修改项目源代码来生成截图——如果需要,可在运行时注入演示状态,然后说明这一点。

工作流程

第一阶段 — 检测平台

在项目根目录中查找以下信号,然后从 references/ 加载一个运行手册:

信号→ 运行手册
package.json 包含 dev/start 脚本,或 index.html,或 src/public 文件夹中的纯 Web 前端references/web.md
manifest.json(WebExtension/MV3/V2)references/web.md(扩展部分)
Android:build.gradle(.kts)、AndroidManifest.xml、settings.gradle、Kotlin/Java 应用源码references/android.md
iOS:*.xcodeproj、*.xcworkspace、Info.plist、Swift 应用代码references/ios.md
Flutter:pubspec.yaml 包含 flutter: 和 lib/main.dartreferences/flutter.md
多平台(例如 Flutter + 原生,或 monorepo)首先为主 UI 平台编写文档;在 README 中说明其他平台

如果平台确实不明确,可以向用户询问一次,同时提供你对仓库的最佳解析结果。如果项目没有用户可见的界面(纯库/CLI),不要伪造 UI 截图——退而求其次,使用终端演示、精细图表或生成的横幅,并且仍然制作一个出色的 README。

第二阶段 — 根据运行手册运行应用

每个运行手册告诉你:

  1. 此机器上必须已经存在什么(工具链检查,可重复的一行命令)。
  2. 如何启动应用使其 UI 渲染。
  3. 如何实际捕获像素(scripts/ 中的捆绑脚本或原生捕获命令)。
  4. 当某些内容为空时如何恢复(“等待渲染”优于“盲目重试”)。

第三阶段 — 捕获

适用于所有平台的约定:

  • 保存到 <仓库>/docs/screenshots/,使用描述时刻的短横线命名(hero-dashboard.png、settings-screen.png),绝不使用工具名(screenshot-2026-01-04-14-22.png)。
  • 以自然形状捕获每个界面:对话框/弹出窗口以其原生大小,页面以 1280×800 或全页。在手机上,按原样捕获设备屏幕(其自身分辨率本身就是一个故事)。
  • 当应用有暗色模式时,首选暗色模式作为英雄截图——暗色界面在 README 中更突出——但仅当应用有真正的暗色主题时;不要强制使用。
  • 允许分阶段演示状态(空的计数器、“加载中…”占位符在营销截图中看起来很糟糕),但必须在运行时注入,而不是写入项目代码中,并且必须在摘要中向用户说明。
  • 空白或闪烁的帧是时序问题,不是应用的错:等待加载完成,再等待一段时间让字体、图标和过渡效果完成,如果仍然失败,则等待更长时间重试一次。

第四阶段 — 编写 README

在仓库根目录编写(或重写)README.md。如果已存在丰富的 README 内容(git-readme.md、散文文件、文档),请提取所有事实——你是在升级呈现方式,绝不是删除信息。

目标结构(自由调整,保持易于扫描):

# <项目名称>
<p align="center"><img src="docs/screenshots/hero.png" width="…"></p>
> 一句带有个性的介绍。
徽章:许可证、语言、安装链接
## 为什么存在        ← 痛点,2–4 行,如果数据真实可用,使用粗体数字
## 功能               ← ✨ 紧凑的功能列表(功能旁边附带截图)
## 截图导览           ← 带有一行说明的图库
## 工作原理           ← 用通俗语言解释架构;表格优于散文
## 安装               ← 编号步骤,可复制粘贴
## 配置               ← 如果应用有设置,使用参数表
## 隐私 / 安全        ← 仅在有意义时
## 许可证

风格规则:

  • 英雄截图放在折页上方,指定显式宽度(手机截图为 width="400",桌面截图约 728px 以下),以便在 GitHub 上良好布局。
  • 每个部分一个想法;段落简短;仅用于辅助扫描时使用粗体。
  • 兼容性矩阵和设置使用表格——它们优于散文。
  • 标题中可以使用简洁、有品位的 emoji(⏱ 🎨 🚀);不要每行都撒。
  • 始终使用相对图像路径和替代文本。
  • 绝不要在 README 中叙述截图过程;让它看起来像是项目自己写的一样。

第五阶段 — 验证

  • README 中的每个图像路径都解析为现有文件。
  • 没有截图超过 ~1.5 MB;如果超出,请压缩(PNG 转换为 WebP 或缩小尺寸)。
  • 告知用户:README 的位置、存在的截图、哪些截图包含演示注入的值,并提供替换英雄截图、主题或顺序的选项。

工具链政策(缺失依赖处理)

本技能使用机器上已有的工具链,绝不静默安装平台 SDK(Android SDK、Xcode、Android 模拟器——用户必须同意的数 GB 下载内容)。如果运行手册的工具链检查失败,则干净地停止,并精确给出以下形式的信息:

[平台] 截图需要 [工具],但该工具未安装。要启用它,请执行: <确切的安装命令或步骤>。安装后,说“重试”,我会继续——已完成的工作(检测、README 骨架)已保存。

iOS 是特殊情况:如果主机不是 macOS,则用一句话说明并跳过——在 Windows/Linux 上无法通过重试启用它。向用户提供他们自己提供的截图选项。

相关技能