openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Build

生成定制化的构建项目 Skill。根据用户的项目目标和规模,生成一个完整的 SKILL.md(含 references/),用于引导构建项目的规划、设计、技术决策、实施和阶段管理全流程。 当用户想要系统推进一个构建项目、或者说"帮我生成一个构建 skill" "创建构建项目" "create a build pr...

开发与 DevOps

作者:Balancegogogo @balancegsr

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.1.0

统计:⭐ 1 · 34 · 0 current installs · 0 all-time installs

1

安装量(当前) 0

🛡 VirusTotal :良性 · OpenClaw :良性

Package:balancegsr/skill-creator-build

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :良性

OpenClaw 评估

The skill is internally consistent with its stated purpose: it is an instruction-only 'build project' creator that generates a SKILL.md + references and writes them into a project folder; it does not request secrets or external installs.

目的

The name/description match the behavior: the skill's job is to generate a project SKILL.md and supporting reference files and to install them into a project folder. It requests no unrelated credentials or binaries. The file-writing and path-detection behavior is appropriate for a generator that installs a Skill into the user's filesystem.

说明范围

The runtime instructions include filesystem scanning (searching for existing skill prefixes in workspace and home directories) and creating directories/files on disk (including attempting to create a sibling folder in the parent directory). These actions are coherent with installing a generated Skill, but they do involve reading directory entries and writing files outside the current working directory. The generated templates also assume the u…

安装机制

This is instruction-only (no install spec, no downloads, no code files that execute arbitrary fetched code). That is the lowest-risk install model; files are written locally by the agent as plain Markdown.

证书

The skill requires no environment variables or credentials. It does scan common skill directories under the workspace and user home to pick an install prefix — scanning for directory names is proportionate for an installer, though it may reveal host-specific path structure to the agent.

持久

The skill will persist state as files in the filesystem (plan.md, decisions.md, phase summaries, etc.). It will create folders and files and may write them outside the immediate workspace (parent/sibling folder or detected skill prefix). always:false and no cross-skill config modification are used, but the created Skill will have persistent on-disk artifacts that enable cross-dialog memory.

综合结论

This Skill appears to do what it says: generate a SKILL.md and reference files and install them in a project folder. Before installing, consider: (1) the agent will scan common skill directories and may create a sibling folder (../build_<topic>) — if you don't want files created outside the current directory, confirm the install path or run in a sandbox. (2) The generated Skill persists project memory as Markdown files (plan.md, decisions.md, …

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Build」。简介:生成定制化的构建项目 Skill。根据用户的项目目标和规模,生成一个完整的 SKILL.md(含 references/),用于引导构建项目的规划、设计、技术…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/balancegsr/skill-creator-build/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: skill_creator_build
description: >
  生成定制化的构建项目 Skill。根据用户的项目目标和规模,生成一个完整的
  SKILL.md(含 references/),用于引导构建项目的规划、设计、技术决策、实施和阶段管理全流程。
  当用户想要系统推进一个构建项目、或者说"帮我生成一个构建 skill"
  "创建构建项目" "create a build project skill" "我想搭建 X" 时触发。
  即使用户只是说"帮我做个 XX"但语境暗示需要系统的项目管理(而非即时帮忙写代码),也应触发。
tools: [write, bash]
---

# Skill Creator: Build

根据用户的构建需求,生成一个定制化的构建项目 Skill。生成物是一个独立的 SKILL.md(+ references/),
安装后能在用户的构建项目中持续引导从规划到结项的全过程。

本 Creator 执行一次性的信息收集→生成→交付流程,不是一个持续运行的助手。

---

## Phase 1: 信息收集(Intake)

目标:用 2 轮自然对话收集生成所需的关键信息。Build 用户通常对项目有清晰认知、想尽快开始——信息收集要快。

### 第一轮:项目目标 + 规模

被触发后,先用一句话说明自己做什么,然后问两个核心变量:

> "我可以帮你生成一个构建项目 skill——它会在你的项目全程引导规划、技术决策、实施和阶段管理。
> 先告诉我:你想建什么?这个项目大概多大规模,有时间要求吗?"

**被动捕获**——用户在回答时经常自然带出额外信息,Creator 直接捕获:
- "用 Next.js + Supabase 搭一个 XX" → 捕获技术栈
- "公司内部的 XX 系统" → 捕获项目性质(工作项目)
- "我和另一个前端工程师一起做" → 捕获团队构成

### 第二轮:汇总确认 + 条件追问

先回应用户第一轮的内容(让对话有来有回),展示理解到的信息:

```
[对用户项目的简短回应]

我理解到的信息:
- 项目目标:[目标]
- 项目规模:[规模/时间评估]
- 推荐模式:[轻量/完整]
  └ 轻量模式默认快速推进,遇到复杂决策点自动加深;完整模式默认深入分析,明确简单的环节自动精简。
[如捕获到可选变量,也列出:]
- 技术栈:[捕获到的技术信息]
- 项目性质:[side project / 工作项目]

有需要修正的吗?确认后我开始生成 skill 预览。
```

条件追问(仅在第一轮信息不充分时触发):

| 缺失/模糊的信息 | 追问策略 |
|---|---|
| 目标不清(只说了技术栈没说要做什么) | "技术栈清楚了,但这个项目最终要实现什么?谁会用它?" |
| 规模完全无线索 | "大概需要多长时间?是一两天能搞定的,还是需要几周甚至更长?" |
| 目标和规模都充分 | 不追问,直接进汇总确认 |
| 第一轮已带出足够被动捕获信息 | 汇总确认中展示捕获到的信息,不重复问 |

兜底策略:追问后仍不充分的信息,用合理假设填充并在汇总确认中显式标注。例如:

> "你没提到时间要求,我先按中等规模(几周级)来规划。如果实际更短或更长,告诉我我会调整。"

### 信息充分性判断标准

进入汇总确认的最低门槛:
- ✅ 项目目标明确(能判断项目类型和命名)
- ✅ 规模有定位(能判断单阶段 vs 多阶段,轻量 vs 完整)

### 模式推荐启发式规则

| 项目特征 | 默认推荐 | 理由 |
|---|---|---|
| 短周期 / 单一交付物(如"写一个 CLI 工具"、"开发一个 Skill"、"一周搞定") | 轻量模式 | 范围小,深度分析的 ROI 低 |
| 长周期 / 多模块(如"搭建 SaaS 产品"、"重构核心系统") | 完整模式 | 范围大,需要充分的阶段管理和技术决策深度 |
| 不确定 | 完整模式 | 宁多勿少,用户可跳步 |

用户可覆盖推荐。Creator 尊重选择,不反复劝说。

---

## Phase 2: 生成与预览(Generate & Preview)

用户确认汇总后,进入生成流程。

### 变量准备

从收集到的信息中提取生成所需的变量:

| 变量 | 来源 | 处理方式 |
|---|---|---|
| `topic` | 用户描述的项目 | 直接使用 |
| `topic_slug` | 从 topic 派生 | 转为适合文件命名和 name 字段的格式(小写、下划线、无空格,如 "saas_dashboard") |
| `goal` | 用户提供的项目目标 | 确保是可操作表述 |
| `scale` | 用户提供的项目规模/时间 | 直接使用 |
| `mode` | 用户确认的模式 | "轻量" 或 "完整" |
| `tech_stack_override` | 可选,被动捕获的技术栈 | 有值→插入 `- 技术栈:[值]`;无值→清除占位符 |
| `project_nature_override` | 可选,被动捕获的项目性质 | 有值→插入 `- 项目性质:[值]`;无值→清除占位符 |
| `project_nature_tech_hint` | 从 project_nature 派生 | 工作项目→插入保守选型提示;side project→插入灵活选型提示;未知→清除 |
| `team_override` | 可选,被动捕获的团队构成 | 有值→插入 `- 团队构成:[值]`;无值→清除占位符 |
| `lang` | 用户对话使用的语言 | 生成物使用相同语言 |
| `generated_by` | Creator 版本标识 | 固定值 `skill_creator_build v1.1.0` |

### 生成逻辑

1. 根据 `mode` 选择对应的骨架模板:
   - 轻量模式 → 读取 `references/templates/skill/lite.md`
   - 完整模式 → 读取 `references/templates/skill/full.md`

2. 用收集到的变量替换模板中的占位符(`{{topic}}`、`{{goal}}`、`{{scale}}` 等)

3. 处理可选变量的条件注入:
   - `tech_stack_override`:如用户提到了技术栈,在模板的 `{{tech_stack_override}}` 位置插入一行,如 `- 技术栈:Next.js + Supabase`
   - `project_nature_override`:如用户提到了项目性质,插入一行,如 `- 项目性质:工作项目`
   - `project_nature_tech_hint`:
     - 工作项目 → 插入"这是工作项目,技术选型偏保守:优先团队熟悉的、社区活跃的、文档好的、维护成本可控的方案"
     - side project → 插入"这是个人项目,技术选型可以更灵活:学习目的允许尝试新技术,交付目的选熟悉的"
     - 未知 → 清除占位符
   - `team_override`:如用户提到了团队,插入一行,如 `- 团队构成:2人(1前端+1后端)`
   - 所有未提供的可选变量:清除占位符(不留空行)

4. 准备 references/ 文件:
   - 两种模式都需要:读取 `references/templates/guides/engineering_checklist.md` → 生成 `engineering_checklist.md`
   - 根据模式选择对应的回顾指南模板:
     - 完整模式 → 读取 `references/templates/guides/project_review_full.md` → 生成 `project_review_guide.md`
     - 轻量模式 → 读取 `references/templates/guides/project_review_lite.md` → 生成 `project_review_guide.md`

5. 如果对话语言不是中文,将生成物全文翻译为用户使用的语言,保持结构和格式不变

### 预览展示

将生成的 SKILL.md 完整内容展示给用户,然后列出 references/ 文件清单:

> "此外还会生成以下配套文件:
> - references/engineering_checklist.md — 技术决策与工程实践检查清单
> - references/project_review_guide.md — 项目回顾指南([轻量版/完整版])
>
> 你可以提出修改意见,或者确认后我直接生成。"

### 修改处理

| 修改类型 | 判断标准 | 处理方式 |
|---|---|---|
| 结构性修改 | 影响流程结构或阶段逻辑(如"不需要设计模块""加一个安全审查环节") | 回到映射逻辑调整骨架,重新生成受影响部分,再次展示完整预览 |
| 内容微调 | 不影响结构(如"目标描述改一下""技术栈补充一个") | 定点修改,展示差异点而非全文("已更新 xx,其他部分不变。确认?") |

迭代引导:
- 首次:"你可以提出修改意见,或者确认后我直接生成。"
- 后续:"已根据你的意见调整。还有需要改的地方吗?没有的话我开始生成。"
- 不设轮数上限,用户想改就改

### 占位符对照表

生成时逐项检查,确保每个占位符都已处理:

| 占位符 | 来源 | 处理方式 |
|---|---|---|
| `{{topic}}` | 用户描述的项目 | 直接替换 |
| `{{topic_slug}}` | 从 topic 派生(小写、下划线、无空格) | 直接替换 |
| `{{goal}}` | 用户输入的项目目标(可操作表述) | 直接替换 |
| `{{scale}}` | 用户输入的项目规模/时间 | 直接替换 |
| `{{tech_stack_override}}` | 可选,被动捕获的技术栈 | 有值→插入文本;无值→清除占位符(不留空行) |
| `{{project_nature_override}}` | 可选,被动捕获的项目性质 | 有值→插入文本;无值→清除占位符(不留空行) |
| `{{project_nature_tech_hint}}` | 从 project_nature 派生 | 有值→插入提示文本;无值→清除占位符(不留空行) |
| `{{team_override}}` | 可选,被动捕获的团队构成 | 有值→插入文本;无值→清除占位符(不留空行) |
| `{{generated_by}}` | Creator 版本标识 | 固定值 `skill_creator_build v1.1.0`,直接替换 |

> **⚠️ 用户确认生成后,必须进入 Phase 3 执行交付流程。不要直接写文件——Phase 3 包含安装路径探测、交付方式询问等必要步骤。**

---

## Phase 3: 交付(Deliver)

用户确认预览后,询问交付方式:

> "你希望我怎么交付?
> 1. **直接创建项目文件夹** — 创建独立的 `build_[项目名]/` 文件夹,skill 安装在里面,只在该文件夹的对话中生效
> 2. **打包为 ZIP** — 生成 zip 文件,你可以自行解压到任意位置或分享给别人"

### 安装路径探测

无论哪种交付方式,都需要先确定 skill 的安装目录前缀。按以下优先级探测:

1. **检查当前 workspace 下的已有 skill 路径**:扫描项目根目录中是否存在 `.claude/skills/`、`.agents/skills/`、`.agent/skills/`、`_agents/skills/`、`_agent/skills/`、`.workbuddy/skills/`、`skills/` 等目录。找到任意一个则沿用该前缀
2. **检查用户根目录(`~/`)下的全局 skill 路径**:扫描是否存在 `~/.claude/skills/`、`~/.openclaw/skills/`、`~/.agents/skills/`、`~/.gemini/antigravity/skills/` 等目录。能找到则说明用户在用对应平台,项目级路径使用对应前缀
3. **兜底默认值**:以上都未找到,使用 `.agents/skills/` 作为默认前缀(Agent Skills 开放标准,兼容性最广)

探测到的前缀记为 `{skill_prefix}`。最终 skill 安装路径为:`{skill_prefix}/build_{{topic_slug}}/SKILL.md`

### 路径1:直接创建

**执行以下步骤(必须按顺序完成):**

1. 在当前工作空间的**同级位置**创建项目文件夹 `build_{{topic_slug}}/`(即上级目录下的新文件夹,与当前工作空间并列)。如果因工具权限限制无法写入上级目录,则在当前目录下创建,并在步骤 6 中告知用户需要手动移动
2. 在项目文件夹内,按探测到的 `{skill_prefix}` 创建 skill 目录:`{skill_prefix}/build_{{topic_slug}}/`
3. 将生成的 SKILL.md 写入该目录
4. 在该目录下创建 `references/` 子目录,写入 engineering_checklist.md 和 project_review_guide.md
5. 注意:生成的文件包含大量 Markdown 特殊字符(反引号、方括号、花括号),请使用文件写入工具直接创建文件,避免通过 Shell heredoc(`cat <<EOF`)或重定向写入
6. 通知用户,根据实际创建位置调整措辞:

创建在同级目录时:
> "构建项目已创建,路径:`../build_{{topic_slug}}/`
> skill 安装在 `{skill_prefix}/build_{{topic_slug}}/` 下,只在该文件夹的对话中生效——项目和其他工作互不干扰。
> 新起一个对话,指向这个文件夹就可以开始了。"

因权限限制创建在当前目录内时:
> "构建项目已创建,路径:`./build_{{topic_slug}}/`
> 由于工具限制,项目文件夹创建在当前工作空间内部。建议你将它移动到上级目录(与当前工作空间并列),这样可以作为独立工作空间使用。
> 移动后,新起一个对话指向该文件夹就可以开始了。"

### 路径2:ZIP 打包

**执行以下步骤(必须按顺序完成):**

1. 在 /tmp/ 下创建临时目录 `build_{{topic_slug}}/`
2. 在临时目录内按探测到的 `{skill_prefix}` 创建完整目录结构:`{skill_prefix}/build_{{topic_slug}}/SKILL.md` + `{skill_prefix}/build_{{topic_slug}}/references/`
3. 写入所有文件(同路径1步骤3-4)。同样使用文件写入工具,避免 Shell heredoc
4. 执行 zip 打包:`cd /tmp && zip -r build_{{topic_slug}}.zip build_{{topic_slug}}/`
5. 将 zip 文件移动到用户工作目录
6. 清理临时目录
7. 通知用户:

> "已打包为 `build_{{topic_slug}}.zip`。解压到你想要的位置后,在该文件夹下的对话中 skill 就会自动生效。"

---

## 附录:生成物质量检查清单

生成前最后过一遍,确保生成物质量:

**内容质量**
- [ ] frontmatter 的 name 字段不超过 32 字符
- [ ] frontmatter 的 description 包含触发关键词
- [ ] frontmatter 的 generated_by 字段已填充版本标识
- [ ] 项目信息区的变量都已正确填充
- [ ] 所有占位符已处理(替换或清除),无残留的 `{{...}}`
- [ ] 启动协议中的文件读取逻辑与文件管理规范一致
- [ ] 四子流完整(设计(条件触发) + 技术决策 + 实施 + 验证)
- [ ] 推进与回退机制完整(回退表 + 行为定义)
- [ ] 阶段推进机制完整(推进确认 + 跳阶段 + 对话管理)
- [ ] 所有文件命名规则使用了正确的 topic_slug
- [ ] 没有任何删除文件的指令
- [ ] 所有文件路径使用相对路径
- [ ] 如完整模式:读取优先级四层定义清晰
- [ ] references/ 文件与 SKILL.md 中的引用一致

**交付验证**
- [ ] 交付前已询问用户选择交付方式(直接创建 / ZIP)
- [ ] 已执行安装路径探测,确认 `{skill_prefix}` 值
- [ ] skill 目录结构正确:`{skill_prefix}/build_[topic_slug]/SKILL.md` + `references/`
- [ ] 项目文件夹位于预期位置(与当前工作空间并列;如因权限降级,已告知用户)
- [ ] 所有文件已成功写入(非空、内容完整)