skill-README-writer
为本地项目或 GitHub 项目生成专业的 README.md 文档。**触发词:"写 README"、"生成 README"、"README.md"、"项目文档"、"GitHub 文档"、"readme"、"项目介绍"、"文档生成"**。支持自动收集项目信息、交互式确认、中英双语。根据项目类型(Python/前端/Skill/CLI 等)生成对应的专业文档。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install clawskills:justzerox~skill-readme-writercURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Ajustzerox~skill-readme-writer/file -o skill-readme-writer.mdGit 仓库获取源码
git clone https://github.com/openclaw/skills/commit/8dc378e15885ca9818894e5e17b7ca9f27ae75c0# README Writer - 项目文档生成器
📝 **为本地项目或 GitHub 项目生成专业的 README.md 文档**
采用交互式工作流程:自动收集信息 → 用户确认 → 生成目录 → 用户确认 → 生成 README → 迭代优化
---
## 🎯 何时使用(触发场景)
**✅ 使用此技能当用户说:**
| 场景 | 示例 |
|------|------|
| **本地项目** | "为这个项目写 README:~/.openclaw/skills/my-project" |
| **GitHub 项目** | "给 https://github.com/user/repo 写 README" |
| **Skill 项目** | "为 easy-image-generate 写 README" |
| **优化现有** | "优化这个项目的 README" |
| **指定风格** | "参考 skill-rembg 风格写 README" |
**❌ 不使用此技能:**
- 代码审查 → 用代码分析工具
- 项目部署 → 用部署/CI/CD 工具
- 问题排查 → 用调试工具
---
## 🔄 交互式工作流程
### 完整流程(11 步)
1. 用户输入(本地路径或 URL)
2. 自动收集项目信息
3. 展示信息,用户确认/修改
4. 询问 README 目的和风格偏好
5. 生成建议目录结构
6. 用户确认/调整目录
7. 💬 可选章节询问(致谢/贡献/更新日志)
8. 生成 README 草稿
9. 质量检查 + 用户反馈
10. 迭代优化(可多次)
11. 最终版本 + 备份
---
## 📊 第 1 步:项目信息收集
### 本地项目
**自动读取:**
- package.json → 项目名称、描述、版本、脚本
- requirements.txt → Python 依赖
- pyproject.toml → Python 项目配置
- Cargo.toml → Rust 项目
- 主语言文件(.py/.js/.ts/.rs 等)
- 目录结构(scripts/ docs/ tests/)
- 现有 README(如有)
**展示给用户确认:**
📊 检测到项目信息:
**基本信息:**
- 项目名称:[自动提取]
- 版本:[自动提取]
- 描述:[自动提取]
- 主要语言:[自动提取]
**项目类型:** [自动识别]
**核心功能:** [自动分析]
**以上信息是否正确?需要补充或修改吗?**
---
## 🎯 第 2 步:询问 README 目的
**询问模板:**
🎯 这个 README 的主要读者是谁?
**A. 潜在用户** - 快速了解项目用途
**B. 开发者** - 想要贡献代码
**C. 两者兼顾**(推荐)
📝 希望突出什么内容?
**A. 快速上手** - 安装 + 使用示例
**B. 功能特点** - 详细的功能列表
**C. API 文档** - 技术细节
**D. 项目背景** - 为什么创建这个项目
🎨 文档风格偏好?
**A. 简洁专业** - 像 requests 库
**B. 活泼友好** - 像 skill-rembg(emoji+ 双语)
**C. 详细完整** - 像大型框架
---
## 📑 第 3 步:生成目录结构
根据项目类型和偏好生成建议目录结构,用户确认后再继续。
---
## 💬 第 3.5 步:可选章节询问
**必须询问的章节:**
📝 需要添加以下章节吗?
### 1️⃣ 致谢部分(🙏 Acknowledgements)
感谢贡献者、使用的工具或平台
**请回复:**
- "有,致谢:OpenClaw、ClawHub"
- "没有,不需要"
### 2️⃣ 贡献指南(🤝 Contributing)
如何为项目贡献代码
**请回复:**
- "需要,是开源项目"
- "不需要,个人项目"
### 3️⃣ 更新日志(📝 Changelog)
项目版本历史
**请回复:**
- "需要,有多个版本"
- "不需要,初始版本"
**规则:**
- ✅ **必须先询问,再生成**
- ✅ **用户说"没有"就不生成该章节**
- ✅ **用户说"有"就列出具体内容**
---
## ✍️ 第 4 步:生成 README 草稿
### 生成规则
#### 0. Badge 区域(项目简介后)
**🎨 采用多行专业布局(丰富完整,用户可手动精简):**
```markdown
<!-- Badge Row 1: Core Info - 项目身份 -->
[](https://clawhub.ai/author/skill)
[](https://github.com/author/repo)
[](https://github.com/author/repo)
<!-- Badge Row 2: Package Registry - 包管理器(如已发布) -->
[](https://npmjs.com/package/package-name)
[](https://pypi.org/project/package-name)
<!-- Badge Row 3: Tech Stack - 技术栈/语言版本 -->
[](https://nodejs.org)
[](https://python.org)
[](https://rust-lang.org)
<!-- Badge Row 4: Platforms - 平台支持 -->
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
<!-- Badge Row 5: License - 许可证 -->
[](LICENSE)
```
**💡 设计理念:**
- ✅ **Badge 丰富完整** - 生成所有可能的 Badge,用户可手动删除不需要的
- ✅ **URL 处理灵活** - 能确定的用实际链接,确定不了的用 Demo 占位符
- ✅ **无个人信息** - 所有 Demo 使用通用占位符(`author`、`repo`、`skill-name`)
- ✅ **Windows 用 Base64** - 避免图片链接失效问题
---
### 📋 Badge 动态生成规则
#### Row 1: 核心信息 Badge(项目身份)
**1. ClawHub Badge**
- **条件**:检测到是 OpenClaw Skill(有 `SKILL.md`)
- **格式**:`[](https://clawhub.ai/author/skill)`
- **skill-name**:从 SKILL.md 的 `name` 字段读取,转换为 kebab-case
- **链接**:使用 Demo 占位符 `https://clawhub.ai/author/skill`
**2. GitHub Badge**
- **条件**:用户提供了 GitHub URL 或检测到 `.git` 目录
- **格式**:`[](https://github.com/author/repo)`
- **author/repo**:从 Git 远程仓库或 package.json 提取
- **链接**:如无法提取,使用 Demo 占位符 `https://github.com/author/repo`
**3. Version Badge(必须生成)**
- **读取优先级**:
1. `package.json` → `version`
2. `pyproject.toml` → `version`
3. `Cargo.toml` → `version`
4. `pom.xml` → `version`
5. `composer.json` → `version`
6. **默认**:`0.0.1`
- **格式**:`[](链接)`
- **链接**:使用项目主页或 Demo 占位符
---
#### Row 2: 包管理器 Badge(如已发布)
**根据项目类型生成对应的包管理器 Badge:**
| 项目类型 | Badge | 链接 |
|---------|-------|------|
| **npm 包** | `[](https://npmjs.com/package/package-name)` | npmjs.com |
| **Python 包** | `[](https://pypi.org/project/package-name)` | pypi.org |
| **Ruby Gem** | `[](https://rubygems.org/gems/gem-name)` | rubygems.org |
| **Go Module** | `[](https://pkg.go.dev/module/path)` | pkg.go.dev |
| **Maven** | `[](https://search.maven.org)` | search.maven.org |
**链接处理**:如无法获取实际包名,使用 Demo 占位符
---
#### Row 3: 技术栈/语言版本 Badge
**自动读取项目配置生成:**
**Node.js 项目**(读取 `package.json` → `engines.node`):
```markdown
[](https://nodejs.org)
```
**Python 项目**(读取 `pyproject.toml` 或 `setup.py` → `python_requires`):
```markdown
[](https://python.org)
```
**Rust 项目**(读取 `Cargo.toml` → `edition`):
```markdown
[](https://rust-lang.org)
```
**Go 项目**(读取 `go.mod` → `go` 版本):
```markdown
[](https://go.dev)
```
**PHP 项目**(读取 `composer.json` → `require.php`):
```markdown
[](https://php.net)
```
**链接处理**:使用官方文档链接或 Demo 占位符
---
#### Row 4: 平台 Badge(全部生成,用户可精简)
**默认生成所有平台 Badge**,用户可根据实际情况手动删除:
```markdown
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
[](https://openclaw.ai)
```
**颜色规范**