结构化的6步骤流程,用于改进、改造或重构现有的流水线(pipeline)、独立项目文件夹、文档结构或软件技术栈。可调用为“pipeline optimizer”(针对整个主题流水线,例如软件、研究或游戏开发流水线)或“project-folder optimizer”(针对流水线内的独立项目文件夹,例如单个软件工具或论文项目)。触发于诸如“改进流水线X”、“优化技术栈”、“重构Y”、“改造”、“流水线重构”、“清理项目文件夹”、“改进文件夹结构”、“统一规范”、“文档整合”、“集成到现有系统”或针对既有结构的任何实质性干预等任务。提供既有资产调查、目的明确化、理想蓝图草图、差距规划、实证痛点识别以及使用全新的子智能体进行重新测试。防止并行标准、重复建设和流水线中断。
Scanned 9/4/2026
Install to Claude Code
npx -y skills add ellmos-ai/skills --skill ZH --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of ZH?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ellmos-ai-skills-a4dcb11e)More formats (shields.io, HTML) on the badges page.
---
name: pipeline-optimizer
version: 1.2.0
type: protocol
author: Lukas Geiger (method) + Claude (write-up)
created: 2026-05-16
updated: 2026-06-13
aliases: [project-folder-optimizer, pipeline-renovator, project-renovator]
description: 结构化的6步骤流程,用于改进、改造或重构现有的流水线(pipeline)、独立项目文件夹、文档结构或软件技术栈。可调用为“pipeline optimizer”(针对整个主题流水线,例如软件、研究或游戏开发流水线)或“project-folder optimizer”(针对流水线内的独立项目文件夹,例如单个软件工具或论文项目)。触发于诸如“改进流水线X”、“优化技术栈”、“重构Y”、“改造”、“流水线重构”、“清理项目文件夹”、“改进文件夹结构”、“统一规范”、“文档整合”、“集成到现有系统”或针对既有结构的任何实质性干预等任务。提供既有资产调查、目的明确化、理想蓝图草图、差距规划、实证痛点识别以及使用全新的子智能体进行重新测试。防止并行标准、重复建设和流水线中断。
standalone: true
anthropic_compatible: true
bach_compatible: true
bach_origin: false
category: dev
tags: [pipeline, renovation, refactoring, stack, workflow, lessons-learned]
language: zh
status: active
dependencies: {'tools': [], 'services': [], 'protocols': [], 'python': []}
provenance: {'origin': 'custom', 'origin_path': '~/.claude/skills/pipeline-optimizer/', 'origin_version': '1.1.1', 'last_sync_from_origin': '2026-05-16', 'last_sync_to_origin': None, 'local_changes_since_sync': True}
---
<img src="banner.png" width="100%" alt="pipeline-optimizer banner">
> **中文** — `pipeline-optimizer` 官方中文版本。
# Pipeline Optimizer / Project-Folder Optimizer (中文)
**无不兼容问题的6步骤改造流程** — 适用于两个层级:
| 触发器名称 | 作用域 | 示例 |
|---|---|---|
| **Pipeline optimizer** | 整个流水线、技术栈、文档结构 | 您的主题流水线,例如 `software/`、`research/`、`games/`、智能体系统 |
| **Project-folder optimizer** | 流水线内的独立项目文件夹 | 软件工具、论文项目、游戏项目 |
这里的**流水线(pipeline)**是指面向主题的顶层结构,多个项目在其中基于共享规范共同存在(例如包含发布规则的软件流水线、包含出版流程的研究流水线)。
两者均采用相同的6步骤工作流 — 唯一的区别在于**作用域**(全流水线范围 vs. 单个项目),并相应决定步骤 A 中既有资产调查的深度。
## 何时适用本 Skill
当要求您改进、重构或扩展**现有**结构时(而非用于全新的空地建设/greenfield),即适用本 Skill。具体触发词:
**流水线层级**(作用域:整个流水线):
- “改进流水线 X”
- “优化技术栈”
- “改造软件流水线”
- “研究流水线中的文档整合”
- 对主题流水线、中央 `_tools/` 或系统组件进行实质性干预
**项目文件夹层级**(作用域:单个项目文件夹):
- “清理 / 优化项目文件夹 X”
- “改进 Y 中的文件夹结构”
- “重构单个工具”
- “统一论文项目设置”
- “使游戏项目文件夹符合流水线标准”
**横向/跨切面:**
- “重构 X / 将其集成到现有 Y”
- “重构”、“整合”
- “统一规范”
- “集成到现有系统”
## 既有建筑/资产比喻
改造房屋首先需要知道**它是用什么建造的**(石头、木头、塑料)、**它的用途是什么**(山间小屋、软件工坊)以及**它已经在哪里发挥作用**。这一原则同样适用于流水线。
---
## 实施步骤 — 6个步骤(切勿跳过,切勿重排顺序)
### 步骤 A — 调查既有资产
**问题:** 房屋是由什么构成的?
**流水线作用域**(所有根文档 + 工具 + 模板):
- [ ] **完整阅读所有根文档**(不仅是代码片段/插入点)
- [ ] 检查模板文件夹(`_templates/`、`_TEMPLATES/`)和工具文件夹(`_tools/`)
- [ ] 规范文件:例如 GITHUB-POLICY.md、RELEASE-MANAGEMENT.md、QUALITY_RULES.md、NAMING-SYSTEM.md、出版流程等…
- [ ] 状态快照:例如 PROJECT_STATUS.md、状态概览、releases.json、注册表文件
- [ ] 检查清单:例如发布检查清单、构建/PDF检查清单
- [ ] 工作流文件:AGENTS.md、GUIDE.md、SKILL.md
- [ ] 经验教训文件:LESSONS_LEARNED.md、MEMORY.md、循环状态文件
**项目文件夹作用域**(单个项目实质内容 + 相关的流水线规范):
- [ ] **阅读项目文件夹中的所有 Markdown 和控制文件**(README、CHANGELOG、TASKS/TODO、DONE、CONCEPT、行动计划、证明笔记等)
- [ ] **调查代码结构:** src/、tests/、构建配置(pyproject.toml、requirements.txt、项目清单、工具链文件等)
- [ ] **考量父流水线的规范**(例如对于软件项目:GitHub 策略、命名系统、发布管理、模板)
- [ ] **扫描项目中现有的工具/脚本**(`_tools/`、`_scripts/`、build_*.bat、START 脚本)
- [ ] **配置文件:** `.gitignore`、LICENSE、NOTICE、SECURITY.md、CODE_OF_CONDUCT.md
**反模式:** 使用 `grep -l "<keyword>"` 查找插入点并在不了解文件上下文的情况下直接插入。
**输出:** 在所选作用域内包含所有相关规范、工具和模板的清单记录。
### 步骤 B — 明确存在目的
**问题:** 房屋为何而存在?
用 1-2 句话明确阐述其存在目的。
**流水线示例:**
| 流水线 | 目的 |
|---|---|
| 软件流水线 | 开发、测试并发布桌面应用 + 浏览器工具到应用商店/GitHub |
| 研究流水线 | 撰写学术论文、同行评审并发布至代码库/预印本服务器 |
| 游戏流水线 | 开发游戏并发布到目标平台 |
| 智能体系统 | 用于多智能体协同编排的 LLM 系统 |
**项目文件夹示例:**
| 项目文件夹 | 目的 |
|---|---|
| `software/PlannerApp` | 计划管理桌面应用,商业项目,私有仓库 |
| `research/CosmologyModel` | 模型论文系列 + 数值计算 |
| `games/SortingChaos` | 分类游戏,Alpha 阶段,关卡推进 |
存在目的**指导每一次干预** — 不服务于该目的的措施将被直接舍弃。
### 步骤 C — 勾勒理想蓝图
**问题:** 为此目的打造的完美房屋应该是什么样子?
- 从您自身的视角进行勾勒(简短,最多 10 点)
- 引入最佳实践对比(例如 SaaS 的 Vercel 栈,研究领域的 scientific-python 栈)
- 切勿陷入细节优化 — 高层级的概要草图即可
**输出:** 5-10 点“每个流水线的理想状态”
### 步骤 D — 差距分析与规划
**每个流水线需回答四个问题:**
1. **房屋已经具备什么?** — 即使解决方式与理想状态不同,但**功能上等效**。
*示例:* 理想状态要求“使用 pip-licenses 处理第三方许可证”。现实情况:通过自定义生成器脚本包裹它 → 功能等效,无需干预。
2. **什么妨碍了功能?** — 当前导致中断或产生额外负担的既有结构。
3. **什么是不具备功能的?** — 死代码、过时的规范、未使用的工具。
4. **什么能显著改进功能?** — 带来预期收益的具体干预措施。
→ 由此制定**具体计划**:
- 什么需要**新建**?
- 什么需要**扩展**?
- 什么需要**拆除**?
- 什么保持**不变**(明确指出这一点非常重要!)
**输出:** 包含列 *干预事项* / *现有状况* / *改进措施* / *依据理由* 的计划表
### 步骤 E — 基于实证开展工作
切勿仅自顶向下规划 — 收集实际痛点:
- [ ] **已知 Bug**:Issue 跟踪器、TASKS/TODO/DONE 文件
- [ ] **错误历史**:经验教训文件、Bug 修复日志、检查注册表
- [ ] **自动化中断**:“有什么工作是我总是必须手动完成的?”
- [ ] **用户访谈**:针对性询问 — 痛点、愿望、变通方案
- [ ] **自我测试**:完整走一遍流水线(创建新项目、运行构建、模拟发布)— 在何处发生中断?
实证发现的痛点将确定步骤 D 中计划的**优先级**。
### 步骤 F — 实施后重新测试
- [ ] 委派**全新的子智能体**(不受改造上下文的影响)走一遍变更后的工作流
- [ ] **可衡量的前后对比值**:配置时间、错误率、手动步骤数量、构建时间
- [ ] **防回归检查**:变更后现有工作流是否仍正常运行?
- [ ] 如果**没有可衡量的改进**或出现回归:**回滚**改造或重新调整
## 反模式(严格禁止)
| 反模式 | 损害 | 解药 |
|---|---|---|
| 仅搜索插入点而非阅读文档 | 产生并行标准 | 完整执行步骤 A |
| 1:1 硬套“来自 X 的最佳实践” | 不兼容 | 步骤 D 进行功能等效对比 |
| 创建新文件而不检查现有规范 | 内容重复(例如 NOTICE.md ↔ THIRD_PARTY_LICENSES.txt) | 步骤 A + 步骤 D |
| 无实证依据地自顶向下规划 | 解决方案偏离实际痛点 | 在确定计划前执行步骤 E |
| 不测试自己的变更 | 未检测到回归错误 | 使用全新的智能体执行步骤 F |
| 状态不明确时“稍后澄清” | 用户随后才发现冲突 | 不确定时,再次与用户共同复核步骤 D |
## 案例研究 — NOTICE.md 事件
**任务:** 在多个主题流水线(软件、研究、游戏)中实施流水线改进。
**错误:** 跳过了步骤 A — 仅搜索插入点,而没有阅读完整的规范文件。
**后果:** 在 7 个文件中引入 `NOTICE.md` 作为“新许可证文件”,尽管 `THIRD_PARTY_LICENSES.txt` + 自定义许可证生成器(围绕 `pip-licenses` 的包装器)已经建立 — 并已记录在流水线的 GitHub 规范(必选文件 + 许可证检查清单)中。所有软件项目此前均已包含 THIRD_PARTY 文件。
**发现:** 仅在用户质问后才被发现(“我很确定我们之前已经有权限/许可证管理了”)。
**纠正:** 从项目模板中删除了 NOTICE.md,调整了另外 6 个文件,改为引用现有的许可证生成器而非 `pip-licenses`。
**教训:** 如果完整执行了步骤 A,冲突在写入前就会被检测出来。
## 经验法则
1. **对于“改进流水线”,首先阅读的时间要与编写的时间一样长。**
2. **在没有证明不存在现有标准之前,绝不建立新标准。**
3. **使用现有的工具/包装器,而非新建并行的工具。**
4. **“机械堆砌”通常比“扩展现有内容”更糟糕。**
5. **在发生冲突时回滚**永远优于维护两套并行标准。
## 完成检查清单
在将流水线改造报告为“已完成”之前:
- [ ] 步骤 A:是否已阅读所有相关的根文档?
- [ ] 步骤 B:是否用 1-2 句话阐明了流水线目的?
- [ ] 步骤 C:是否勾勒了理想蓝图(5-10 点)?
- [ ] 步骤 D:是否有带表格的差距分析(保留什么 / 扩展什么 / 新建什么 / 废除什么)?
- [ ] 步骤 E:是否核实了实证数据(Bug、教训、自测、用户访谈)?
- [ ] 计划是否已与用户达成一致?
- [ ] 步骤 F:是否使用全新的子智能体进行了测试 — 改进是否可衡量?
- [ ] 是否未引入并行标准?
- [ ] 发生冲突时:是否已回滚或坦诚说明情况?
## 最佳项目文件夹结构(适用于项目文件夹优化器)
当本 Skill 应用于**单个项目文件夹**时,以下组合建议可作为理想参考(步骤 C):
### Anthropic 标准 (Claude Code)
| 文件/文件夹 | 功能 |
|---|---|
| `CLAUDE.md`(根目录) | 由 Claude Code 自动加载,包含项目特定指令 |
| `.claude/settings.json` | 权限、环境变量、模型选择(提交至 Git) |
| `.claude/settings.local.json` | 本地重写(切勿提交,添加到 `.gitignore`) |
| `.claude/commands/*.md` | 自定义斜杠命令 |
| `.claude/agents/*.md` | 自定义子智能体 |
| `.claude/skills/<name>/SKILL.md` | 项目 Skills |
### 您自己的项目文档模板(推荐)
如果您维护自己的项目文档模板(例如在 `<your-workspace>/_templates/project-docs/` 下),**三种构建配置文件**大有裨益。示例划分:**MINIMAL(最小化)** 提供会话核心集,包含 7 个根文件(`AGENTS.md`、`CLAUDE.md`、`README.md`、`START.md`、`STATE.md`、`TODO.md`、`DONE.md`)加上 `_tools/`。**STANDARD(标准)** 增加了 `CHANGELOG.md`、`DECISIONS.md` 和 `PATTERNS.md`。**FULL(完整)** 扩展至 14 个根文件,并额外增加了 `ARCHITECTURE.md`、`WORKFLOWS.md`、`TOOLS.md`、`GLOSSARY.md` 以及 `workflows/` 和 `.github/`。
→ **使用此类模板作为新项目的基底**(复制而非手动创建)。
### 特定流水线的补充内容(示例)
根据流水线的不同,还会增加其他强制性文件 — 典型模式:
- **软件项目:** LICENSE、CODE_OF_CONDUCT.md、SECURITY.md、CONTRIBUTING.md、THIRD_PARTY_LICENSES.txt(生成的)、pyproject.toml/requirements.txt、流水线中央发布注册表中的条目。→ 如果可用:使用流水线的 cookiecutter 模板。
- **研究项目:** 概念文档、行动计划、出版计划、归档/源码/结果/数据文件夹(`_archive/`、`_sources/`、`_results/`、`_data/`)、用于 LaTeX 的 `paper/`。对于推导证明项目:包含证明链和状态的证明笔记文件。
- **游戏项目:** 引擎的项目清单和工具链文件(例如对于 Roblox/Rojo:default.project.json、rokit.toml、wally.toml、selene.toml)、游戏设计文档、根据引擎规范设立的 `src/{server,client,shared}/`。
### 完整细节参考
→ 参阅本 Skill 文件夹中的 **`references/optimal-project-structure.md`**(德文)。包含:
- 示例 `settings.json`(Anthropic 模式)
- 必选 `.gitignore` 条目
- 反模式(不属于项目文件夹的内容)
- 按流水线类型推荐的工作流(软件/研究/游戏)
- 文档文件的 YAML 标头规范
- 自动检查草图
## 相关 Skills(何时使用其他 Skill 代替本 Skill?)
| Skill | 何时使用 |
|---|---|
| **`project-onboarding`** | 将外部现有仓库导入您自己的系统 |
| Project bootstrapper(若可用) | 在现有流水线中创建新项目(绿地开发,无需重构) |
| Pipeline bootstrapper(若可用) | 创建全新的流水线(罕见情况) |
| System onboarding(若可用) | 配置一台新机器 |
**pipeline optimizer** 负责**改造**,而非新建或导入。如果您的 Skill 集合包含 Skill 索引,请在其中搜索匹配的引导(bootstrapping)Skills。
## 交叉引用
- 细节参考:`references/optimal-project-structure.md`(在本 Skill 文件夹中)
- Anthropic Claude Code 文档:`https://docs.claude.com/en/docs/claude-code`
- 若可用:全局用户规则(例如您 `~/CLAUDE.md` 中的“改造”章节)和特定流水线的技术栈描述
## 作用域选择:流水线 vs. 项目文件夹
如果不清楚指的是哪个作用域,**请在步骤 A 前进行明确**:
| 线索 | 作用域 |
|---|---|
| “改进整个软件流水线” | 流水线 |
| “清理工具 X 的文件夹” | 项目文件夹 |
| “同步中央发布注册表” | 流水线(中央资产) |
| “重构游戏 Y 中的 AssetBuilder” | 项目文件夹 |
| “在整个流水线范围内引入检查规范” | 流水线 |
| “在项目 Z 中创建检查文件” | 项目文件夹 |
在**项目文件夹作用域**下,还需始终简要检查父流水线的规范(扩展的步骤 A),以确保干预措施与流水线保持兼容。
---
## 更新日志
### 1.2.0 (2026-06-13)
- 首次发布于 Skill 库:个人路径、具体的流水线/项目名称以及对私有 Skill 的引用均替换为通用示例;流程本身(6个步骤、反模式、案例研究、检查清单)保持不变
### 1.1.1 (2026-06-01) 及更早版本
- 内部版本(私有 Skill 目录,发布之前)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!