@rockyskills/rw-skills 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +98 -2
- package/docs/npm-distribution.md +75 -0
- package/package.json +29 -4
- package/traceable-development/README.md +42 -0
- package/traceable-development/SKILL.md +100 -0
- package/traceable-development/references/templates.md +142 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 rockywu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,99 @@
|
|
|
1
|
-
#
|
|
1
|
+
# rw-skills
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
面向 AI 编程助手的中文 Skill 仓库。把可重复使用的工作方法写成 `SKILL.md`,让助手按明确的步骤完成任务。
|
|
4
|
+
|
|
5
|
+
仓库地址:[rockywu/rw-skills](https://github.com/rockywu/rw-skills)。目前包含 1 个 Skill,安装方式已在 Codex 的目录结构中验证。
|
|
6
|
+
|
|
7
|
+
## Skill 列表
|
|
8
|
+
|
|
9
|
+
| Skill | 中文名称 | 用途 | 介绍 |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| `traceable-development` | 可追溯开发协作 | 开发计划、任务拆分、依赖与排期、进度、审查证据和 Git 追溯 | [使用说明](traceable-development/README.md) |
|
|
12
|
+
|
|
13
|
+
## 安装
|
|
14
|
+
|
|
15
|
+
推荐使用 [Vercel Labs skills](https://github.com/vercel-labs/skills) 安装。它是通过 npm 分发的第三方安装工具,本仓库的内容从 GitHub 下载;使用这条路径不需要本仓库发布到 npm。
|
|
16
|
+
|
|
17
|
+
已验证的工具版本为 `skills@1.7.2`,需要 Node.js `>=22.20.0`。
|
|
18
|
+
|
|
19
|
+
先查看可安装的 Skill:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx --yes skills@1.7.2 add rockywu/rw-skills --list
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
在当前项目安装到 Codex:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx --yes skills@1.7.2 add rockywu/rw-skills \
|
|
29
|
+
--skill traceable-development --agent codex --copy --yes
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
项目安装位置为 `.agents/skills/traceable-development/`。请在目标项目的根目录执行。
|
|
33
|
+
|
|
34
|
+
全局安装到 Codex:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx --yes skills@1.7.2 add rockywu/rw-skills \
|
|
38
|
+
--skill traceable-development --agent codex --global --copy --yes
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
全局安装位置为 `~/.agents/skills/traceable-development/`。安装前检查是否已有同名 Skill;已有自定义内容时先备份。全局命令依据工具文档给出,本次验证使用了临时目录。
|
|
42
|
+
|
|
43
|
+
`--copy` 表示复制文件。仓库更新后,本地副本不会自动同步,需要再次安装。其他助手的支持范围见安装工具文档,本仓库目前只验证了 Codex 的安装目录与文件完整性。
|
|
44
|
+
|
|
45
|
+
也可以让 Codex 的内置 `skill-installer` 从本仓库安装,或手动将完整的 `traceable-development/` 目录复制到项目的 `.agents/skills/` 或用户的 `~/.agents/skills/`。必须保留 `references/`,不能只复制 `SKILL.md`。
|
|
46
|
+
|
|
47
|
+
## 使用
|
|
48
|
+
|
|
49
|
+
安装后,可以明确指定 Skill,并提供目标、范围和约束:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
$traceable-development
|
|
53
|
+
请读取项目现有开发文档,将本期需求拆成有稳定编号的任务。
|
|
54
|
+
写清依赖、负责人、验收标准和进度,列出现在可以开始的任务。
|
|
55
|
+
本次只做规划,不执行开发或发布。
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
安装不等于已经完成任务,也不等于授权助手推送、合并或发布。Skill 的具体工作规则见 [SKILL.md](traceable-development/SKILL.md)。
|
|
59
|
+
|
|
60
|
+
Codex 会自动发现新增的本地 Skill。如果列表中没有出现,可以重启 Codex。目录规则和调用方式见 [OpenAI 官方 Skill 文档](https://developers.openai.com/codex/skills/)。
|
|
61
|
+
|
|
62
|
+
## 仓库结构
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
rw-skills/
|
|
66
|
+
├── package.json
|
|
67
|
+
├── LICENSE
|
|
68
|
+
├── README.md
|
|
69
|
+
├── docs/
|
|
70
|
+
│ └── npm-distribution.md
|
|
71
|
+
└── traceable-development/
|
|
72
|
+
├── README.md
|
|
73
|
+
├── SKILL.md
|
|
74
|
+
└── references/templates.md
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
新增 Skill 时,为它建立独立目录,并提供含 `name` 和 `description` 的 `SKILL.md`。使用介绍放在该目录的 `README.md`,辅助模板放在 `references/`。同步更新本页的 Skill 列表。
|
|
78
|
+
|
|
79
|
+
## npm 分发
|
|
80
|
+
|
|
81
|
+
npm 内容包名称为 `@rockyskills/rw-skills`,归属 `rockyskills` 组织。首版版本为 `0.1.0`,包含中文介绍、Skill 和所需模板。
|
|
82
|
+
|
|
83
|
+
从 npm 的固定版本内容包安装到当前项目的 Codex:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx --yes skills@1.7.2 add \
|
|
87
|
+
https://registry.npmjs.org/@rockyskills/rw-skills/-/rw-skills-0.1.0.tgz \
|
|
88
|
+
--skill traceable-development --agent codex --copy --yes
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
全局安装时,在上述命令增加 `--global`。也可以继续使用 GitHub 安装路径。
|
|
92
|
+
|
|
93
|
+
包页面:[npm @rockyskills/rw-skills](https://www.npmjs.com/package/@rockyskills/rw-skills)。`npm install` 只下载内容包;使用上面的命令才会把 Skill 放入 Codex 的发现目录。内容包没有可执行入口,不支持直接运行 `npx @rockyskills/rw-skills`。
|
|
94
|
+
|
|
95
|
+
两种方式的区别、包配置和发布步骤见 [npm 分发说明](docs/npm-distribution.md)。
|
|
96
|
+
|
|
97
|
+
## 许可证
|
|
98
|
+
|
|
99
|
+
本仓库及 npm 内容包采用 [MIT License](LICENSE)。使用、修改或分发时,请保留许可证中的版权声明和许可声明。
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# npm 分发说明
|
|
2
|
+
|
|
3
|
+
## 包与安装方式
|
|
4
|
+
|
|
5
|
+
包名:`@rockyskills/rw-skills`。发布组织:`rockyskills`。首版:`0.1.0`。
|
|
6
|
+
|
|
7
|
+
一个纯内容包分发本仓库的全部 Skill。安装时复用 [Vercel Labs skills](https://github.com/vercel-labs/skills),不维护自己的安装器。
|
|
8
|
+
|
|
9
|
+
| 方式 | 内容来源 | 安装命令 |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| GitHub 仓库 | 仓库当前内容 | `npx --yes skills@1.7.2 add rockywu/rw-skills` |
|
|
12
|
+
| npm 固定版本 | registry 的版本归档 | 使用下面的 `.tgz` 下载地址 |
|
|
13
|
+
|
|
14
|
+
安装到当前项目的 Codex:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx --yes skills@1.7.2 add \
|
|
18
|
+
https://registry.npmjs.org/@rockyskills/rw-skills/-/rw-skills-0.1.0.tgz \
|
|
19
|
+
--skill traceable-development --agent codex --copy --yes
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
全局安装增加 `--global`。`skills@1.7.2` 要求 Node.js `>=22.20.0`。
|
|
23
|
+
|
|
24
|
+
`npm install` 只下载 npm 包,不会自动把 Skill 放进 Codex 的发现目录。内容包没有 `bin` 或 `postinstall`,不支持直接执行 `npx @rockyskills/rw-skills`,也不会在 npm 安装时修改用户的 Skill 目录。
|
|
25
|
+
|
|
26
|
+
## 包配置
|
|
27
|
+
|
|
28
|
+
以根目录的 [package.json](../package.json) 为准。文件白名单包含 MIT 许可证、仓库介绍、分发说明、Skill 介绍、`SKILL.md` 和模板,排除 `.DS_Store`、Git 文件和临时归档。
|
|
29
|
+
|
|
30
|
+
仓库及内容包采用 [MIT License](../LICENSE),`package.json` 的 `license` 为 `MIT`,包内包含 `LICENSE`。新增 Skill 时同步扩展白名单。
|
|
31
|
+
|
|
32
|
+
纯内容包没有运行时依赖,不需要构建步骤。
|
|
33
|
+
|
|
34
|
+
## 发布顺序
|
|
35
|
+
|
|
36
|
+
1. 确认版本与包内容,运行 `npm pack --dry-run` 检查白名单。
|
|
37
|
+
2. 用 `npm pack` 生成归档;从归档执行安装,检查 Skill 和辅助文件完整性。
|
|
38
|
+
3. 提交仓库,再推送到 GitHub 的 `main` 分支。不要把与发布无关的本地改动加入提交。
|
|
39
|
+
4. 用 `npm whoami --registry=https://registry.npmjs.org/` 检查账号,用 `npm org ls rockyskills --json --registry=https://registry.npmjs.org/` 核对组织权限。
|
|
40
|
+
5. 在 npm 要求的本人认证可完成时,执行发布:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm publish --access public --registry=https://registry.npmjs.org/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
6. 查询 registry 中的真实版本和下载地址:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npm view @rockyskills/rw-skills@0.1.0 version dist.tarball \
|
|
50
|
+
--registry=https://registry.npmjs.org/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
7. 从查询返回的下载地址在临时项目安装,并比较 `SKILL.md` 和模板与已提交版本的内容。
|
|
54
|
+
|
|
55
|
+
后续发布必须增加版本号。同一个已发布版本不能覆盖。Git 推送成功不等于 npm 已发布,npm 已发布也不等于实际任务效果已经验收。
|
|
56
|
+
|
|
57
|
+
## 已完成的准备验证(2026-10-13,Asia/Shanghai)
|
|
58
|
+
|
|
59
|
+
- GitHub 仓库 `rockywu/rw-skills` 为公开仓库。
|
|
60
|
+
- 现有 Skill 为 `traceable-development`,入口和模板文件齐全。
|
|
61
|
+
- Codex 内置安装脚本、GitHub 远程安装、本地目录安装和本地 HTTP 下载 `.tgz` 安装均已在临时目录验证成功。
|
|
62
|
+
- 已安装的 `SKILL.md` 和模板内容与仓库一致。
|
|
63
|
+
- 试验 npm 内容包的白名单检查通过,未包含 `.DS_Store` 或 Git 文件。
|
|
64
|
+
- 本机 Node.js 为 `24.19.0`,npm 为 `11.17.0`,满足安装工具要求。
|
|
65
|
+
- npm 命令行账号已验证为 `rockywu`,在 `rockyskills` 组织中具有 owner 权限。
|
|
66
|
+
|
|
67
|
+
以上记录证明安装文件完整性,不代表 Skill 的实际任务效果验收。真实 registry 的发布结果与发布后安装结果,以本次执行输出为准。
|
|
68
|
+
|
|
69
|
+
## 参考
|
|
70
|
+
|
|
71
|
+
- [npm:创建和发布公开 scope 包](https://docs.npmjs.com/creating-and-publishing-scoped-public-packages)
|
|
72
|
+
- [Vercel Labs skills:安装方式与参数](https://github.com/vercel-labs/skills)
|
|
73
|
+
- [OpenAI:Skill 结构、发现目录和插件分发建议](https://developers.openai.com/codex/skills/)
|
|
74
|
+
|
|
75
|
+
OpenAI 官方建议将面向其他用户的可复用 Skill 打包为插件。npm 内容包提供文件分发,不会自动进入 ChatGPT 或 Codex 的插件目录。
|
package/package.json
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockyskills/rw-skills",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "中文 AI Agent Skills:开发计划、任务依赖与进度追溯",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "rockywu",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/rockywu/rw-skills.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/rockywu/rw-skills#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/rockywu/rw-skills/issues"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE",
|
|
18
|
+
"docs/npm-distribution.md",
|
|
19
|
+
"traceable-development/**/*.md"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"agent-skills",
|
|
23
|
+
"codex",
|
|
24
|
+
"chinese",
|
|
25
|
+
"development-planning"
|
|
26
|
+
],
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public",
|
|
29
|
+
"registry": "https://registry.npmjs.org/"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 可追溯开发协作
|
|
2
|
+
|
|
3
|
+
Skill 名称:`traceable-development`。
|
|
4
|
+
|
|
5
|
+
用于编写和维护开发计划、任务、排期、进度与审查记录。通过稳定任务编号,把需求、依赖、验收证据、Git 提交和集成结果关联起来。
|
|
6
|
+
|
|
7
|
+
## 适用场景
|
|
8
|
+
|
|
9
|
+
- 将需求拆成可分工、可审查、可验收的开发任务。
|
|
10
|
+
- 判断任务的依赖是否满足,安排可以开始的工作。
|
|
11
|
+
- 跟踪计划日期、预计日期、实际日期和阻塞原因。
|
|
12
|
+
- 保存审查、验证、Git 与交接记录,便于恢复工作。
|
|
13
|
+
|
|
14
|
+
它不用于普通文案润色或无关文档写作,也不会自行提供任务管理服务、Git 自动化或后台调度。
|
|
15
|
+
|
|
16
|
+
## 使用示例
|
|
17
|
+
|
|
18
|
+
制定计划:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
$traceable-development
|
|
22
|
+
请读取现有需求和项目约定,制定本期开发计划。
|
|
23
|
+
每项任务写清目标、依赖、负责人和验收标准。
|
|
24
|
+
沿用已有文档结构,本次只做规划。
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
更新进度:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
$traceable-development
|
|
31
|
+
请核对当前文件、测试结果和 Git 记录,更新开发计划。
|
|
32
|
+
区分已经实现、已经验收、已经集成和已经部署的内容。
|
|
33
|
+
列出阻塞原因、下一步和现在可以开始的任务。
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 工作方式
|
|
37
|
+
|
|
38
|
+
先复用项目已有文档和流程,再按任务规模补充必要记录。小任务不强制创建整套文档。多个前置条件必须全部满足,提交代码不自动等于任务完成。
|
|
39
|
+
|
|
40
|
+
并行执行需要用户或项目授权,也需要环境支持。Skill 可以给出分工和启动顺序;实际是否启动、完成或发布,应以执行结果为准。
|
|
41
|
+
|
|
42
|
+
规则定义见 [SKILL.md](SKILL.md),可选文档格式见 [最小文档模板](references/templates.md),安装方法见 [仓库 README](../README.md)。
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: traceable-development
|
|
3
|
+
description: 编写和维护可追溯的开发任务文档、开发计划、排期、进度与功能审查记录;用稳定任务编号关联需求、依赖、验收证据和 Git 提交,按已满足的依赖组织并行开发。适用于制定开发计划、拆分任务、安排并行分工、跟踪进度和交接;不用于普通文案润色或无关文档写作。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 可追溯开发协作
|
|
7
|
+
|
|
8
|
+
建立可核对的关联:需求来源 → Task → 实现与审查证据 → Git 提交 → 集成结果。用最少文档回答:为什么做、谁在做、依赖什么、何时交付、如何验收、现在能开始哪些任务。
|
|
9
|
+
|
|
10
|
+
## 使用边界
|
|
11
|
+
|
|
12
|
+
- 先读取项目现有约定、计划和任务记录,沿用已有目录、编号与工作流。小任务复用现有记录,不强制新建整套文档。
|
|
13
|
+
- 用户只要求规划时,完成规划;用户要求执行时,在已有授权内推进。计划里列出的部署、推送、创建对话或自动续跑,不等于已获得执行授权。
|
|
14
|
+
- 项目约束写进项目计划。不要把某个案例的模型、平台、技术栈、专家人数、工期或数据库规则固化为通用规则。
|
|
15
|
+
- 只询问会影响范围、业务取舍、依赖或执行权限且无法从资料确定的问题。普通格式与实现细节自行选择最小可行方案。
|
|
16
|
+
|
|
17
|
+
## 1. 文档与需求规则
|
|
18
|
+
|
|
19
|
+
- 只维护一份主计划作为范围、任务状态、分工和排期的权威记录。复杂任务可有独立任务卡与证据文件,主计划链接它们,避免重复维护同一字段。
|
|
20
|
+
- 本期必做、明确后置、验收环境、外部依赖和交付期限要清楚。区分用户要求、已确认决定、建议和待确认事项。
|
|
21
|
+
- 为需跨任务追踪的需求分配稳定编号,如 R01;Task 使用稳定编号,如 T001。拆分后保留父子关系,取消后保留记录,不重排或复用旧编号。
|
|
22
|
+
- 每个 Task 链接需求来源;每个本期需求都有实施任务和验收去向,或明确标为后置、取消、待确认。
|
|
23
|
+
- 写具体动作与结果,避免“完善功能”“优化体验”等无法验收的表述。日期写明年份,排期注明时区、工作日口径及估算假设。
|
|
24
|
+
- 规划和验收均按相关端、角色及使用场景列清范围,避免以一个入口的成功代替完整功能交付。
|
|
25
|
+
|
|
26
|
+
创建或调整文档时,按需读取 [最小文档模板](references/templates.md),只使用当前任务所需部分。
|
|
27
|
+
|
|
28
|
+
## 2. Task 拆分与开始条件
|
|
29
|
+
|
|
30
|
+
一个 Task 对应一个可审查结果,并有唯一交付负责人。多人参与时明确各自职责及最终集成负责人。按结果、依赖或冲突边界拆分,不按文件数量机械拆分,不设统一强制时长。
|
|
31
|
+
|
|
32
|
+
每个 Task 至少记录:
|
|
33
|
+
|
|
34
|
+
- 目标、需求来源、本期范围及交付物。
|
|
35
|
+
- 负责人、修改范围、共享文件与接口约定。
|
|
36
|
+
- 前置 Task、所需成果以及依赖完成的判定条件;无依赖也明确写明。
|
|
37
|
+
- 验收场景、环境和证据要求;适用时包括失败路径、权限、数据一致性和 UI 检查。
|
|
38
|
+
- 估算、计划日期、实际开始与结束、状态、阻塞及下一步。
|
|
39
|
+
- 分支或工作目录、实现提交、审查结果、集成提交或目标分支中的对应记录。
|
|
40
|
+
|
|
41
|
+
开始开发必须同时满足:目标和验收可执行、负责人和环境可用、全部前置条件满足、修改范围没有未解决的并发冲突。仅任务名称或计划日期齐全,不足以认定已就绪。
|
|
42
|
+
|
|
43
|
+
## 3. 依赖与并行规则
|
|
44
|
+
|
|
45
|
+
- 建立任务依赖图,检查缺失编号、自依赖和循环依赖。发现循环时,抽出共同前置成果或调整任务边界,不带着循环排期。
|
|
46
|
+
- 默认前置 Task 完成是指:约定成果已通过验收,并可在约定集成分支或版本中使用。分支上写完、已有提交、已发起审查均不能自动解除依赖。
|
|
47
|
+
- 一个任务有多个前置条件时,必须全部满足。并行启动当前所有已就绪且资源允许的任务,不等待无关任务或整个阶段结束。
|
|
48
|
+
- 前置任务被取消或替代时,先修订依赖并确认所需成果的去向;取消不能视为完成,也不能直接放行下游任务。
|
|
49
|
+
- “可以并行”同时要求依赖满足、人员或执行槽位可用、共享文件及环境无冲突。独立分支本身不证明任务互不影响。
|
|
50
|
+
- 硬依赖未完成时,只能推进与它无关且已单独定义的准备任务。若接口契约可以先交付,将它拆为独立前置任务;依赖完整功能的联调验收仍等待完整功能完成。
|
|
51
|
+
- 并行任务使用隔离的分支或工作目录。主协调指定共享文件、接口和数据库迁移的修改负责人;共享环境中的迁移和部署按计划串行进行。
|
|
52
|
+
- 每次完成、集成、阻塞或重新打开任务后,重新计算受影响任务的就绪状态。依赖成果发生不兼容变更时,记录受影响下游并复查,不沿用旧的完成证明。
|
|
53
|
+
- 仅在用户或项目已授权且环境支持时启动并行执行。否则交付分工及启动顺序,并说明当前执行限制;不能把计划中的并行写成已经启动。
|
|
54
|
+
|
|
55
|
+
## 4. 排期规则
|
|
56
|
+
|
|
57
|
+
- 区分工作量、持续时间和自然日。估算包含实现、必要验证、审查、修复及集成,明确谁承担主协调与验收工作。
|
|
58
|
+
- 按依赖链和负责人可用时间排期;识别决定最终交付日期的最长依赖链。并行数量增加不等于工期按比例减少。
|
|
59
|
+
- 分别保留原计划、当前预计和实际日期。重排时记录原因及影响,不能覆盖原计划来掩盖延期。
|
|
60
|
+
- 为高风险验证、集成和修复留出明确时间;多任务交付应写清功能冻结点和里程碑退出条件。缓冲按风险确定,不强制固定比例。
|
|
61
|
+
- 没有充分信息时给出条件估算或范围,不伪造精确日期。固定期限与范围冲突时,列出可后置范围或新日期,按用户已有授权决定;不得默默降低验收要求。
|
|
62
|
+
|
|
63
|
+
## 5. 状态与功能审查
|
|
64
|
+
|
|
65
|
+
沿用项目状态;没有约定时使用:待开始 → 已就绪 → 进行中 → 待审查 → 已完成,并支持阻塞、取消。
|
|
66
|
+
|
|
67
|
+
- 待开始:尚未满足全部开始条件;已就绪:具备开始条件但尚未执行。
|
|
68
|
+
- 待审查:实现及自检材料已提交,审查或集成尚未完成。
|
|
69
|
+
- 阻塞:记录具体原因、解除条件、处理负责人、下一步及原状态。解除后重新判定就绪条件。
|
|
70
|
+
- 已完成:约定交付物、验收、必要审查和集成均已完成,证据可定位。
|
|
71
|
+
- 取消或被替代:保留原因与替代 Task。已完成任务被重新打开时,保留原验收记录并说明失效原因。
|
|
72
|
+
|
|
73
|
+
在开发前把验收写成“前置条件/操作/预期结果”。按任务风险选择验证方式;界面任务检查实际画面与约定设计,数据或权限任务检查真实结果。Mock、静态检查、真实接口和生产验证分别标明。
|
|
74
|
+
|
|
75
|
+
审查记录包含审查对象的版本、范围、方式、结论、问题及证据位置。自检不能冒充独立审查;未运行的检查不得标为通过。修复审查问题后验证受影响部分,旧截图或旧版本报告不能直接证明新版本通过。
|
|
76
|
+
|
|
77
|
+
“已完成”不自动等于“已部署”。交付计划要求部署时,单独记录部署版本、环境和部署后验证;部署本身也不能代替功能验收。
|
|
78
|
+
|
|
79
|
+
## 6. Git 与进度追溯
|
|
80
|
+
|
|
81
|
+
- 沿用项目提交规范,提交信息关联 Task 编号,如 `feat(T012): 支持预约改期`。一个 Task 可有多个提交;一次跨 Task 提交应列明涉及编号与原因。
|
|
82
|
+
- 实现、相关测试和文档按可审查范围一起提交,避免夹带无关改动。中途保存允许提交,但任务状态如实保留。
|
|
83
|
+
- Git 可用且本地提交已获授权时,在适当检查点提交;用户未授权执行或明确暂不提交时,提供拟提交范围并记录待提交状态。不要因为存在此规则擅自创建仓库、推送远端、合并或发布。
|
|
84
|
+
- 提交历史记录实现和计划的变化;任务记录保存计划、当前预计、实际时间、审查和阻塞。提交时间不能替代开工时间、验收时间或工时。
|
|
85
|
+
- 在提交创建后获取真实 SHA。当前提交无法在自身内容里记录自己的 SHA;可在后续进度提交中回填,或通过 Task 编号定位,不反复 amend 追逐自身 SHA。
|
|
86
|
+
- squash、rebase 或 cherry-pick 改变 SHA 后,保留最终目标分支中的对应记录。不要为了格式整齐重写共享历史。
|
|
87
|
+
- 若成果尚未进入约定目标分支,明确标记待集成;不能凭开发分支上的提交解除下游硬依赖。
|
|
88
|
+
|
|
89
|
+
## 7. 变更、阻塞与恢复
|
|
90
|
+
|
|
91
|
+
- 需求、接口或验收变化时记录来源、旧决定、新决定、受影响 Task、排期影响及处理结果;同步更新依赖与审查范围。
|
|
92
|
+
- 阻塞一个任务时继续其他已就绪任务。需要评估时选择与问题相关的角色;专家人数和模型遵循当前项目约定。
|
|
93
|
+
- 每个实质检查点更新状态、证据、Git 关联和下一步。中断或交接前保存:当前任务、工作目录与分支、未提交改动、已做检查、阻塞、可启动任务和恢复动作。
|
|
94
|
+
- 恢复工作先核对实际文件、Git 状态和任务证据,不能只信任旧对话中的“已完成”。发现不一致时修正记录并说明原因。
|
|
95
|
+
|
|
96
|
+
## 交付前核对
|
|
97
|
+
|
|
98
|
+
确认本期需求都有去向、任务编号稳定、依赖无环、每项有负责人及验收标准、并行边界明确、估算包含必要验证与集成;实现和完成记录均有真实证据及 Git 对应关系。
|
|
99
|
+
|
|
100
|
+
报告本次交付、完成与未完成项、可立即启动的任务、阻塞及下一步。对计划文档的完成与业务功能的完成分别作出结论。
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# 最小文档模板
|
|
2
|
+
|
|
3
|
+
先复用项目结构。没有约定时,小项目可将以下内容放入一份 `docs/development-plan.md`;任务较多时,将详细任务卡放入 `docs/tasks/Txxx.md`,主计划保留摘要与链接。审查证据直接链接现有报告,不重复复制。
|
|
4
|
+
|
|
5
|
+
这些模板用于按需填写,不要求一次创建全部文件。负责人、状态、日期等每个字段指定唯一维护位置,其余位置链接过去。
|
|
6
|
+
|
|
7
|
+
## 主计划
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# 项目开发计划
|
|
11
|
+
|
|
12
|
+
## 目标与范围
|
|
13
|
+
|
|
14
|
+
- 本期交付结果:
|
|
15
|
+
- 必做功能、涉及端与角色:
|
|
16
|
+
- 明确后置:
|
|
17
|
+
- 需求与设计来源:
|
|
18
|
+
- 当前需求版本与最近变更:
|
|
19
|
+
- 技术和项目约束:
|
|
20
|
+
- 验收环境与外部依赖/Mock 范围:
|
|
21
|
+
- 目标分支、集成负责人及交付方式:
|
|
22
|
+
|
|
23
|
+
## 需求覆盖
|
|
24
|
+
|
|
25
|
+
| 需求 ID | 来源 | 要求及验收去向 | Task | 决定 |
|
|
26
|
+
|---|---|---|---|---|
|
|
27
|
+
|
|
28
|
+
## 排期依据
|
|
29
|
+
|
|
30
|
+
- 目标日期、时区、工作日口径:
|
|
31
|
+
- 负责人和可用时间/并行容量:
|
|
32
|
+
- 估算依据、不确定项、验证及修复缓冲:
|
|
33
|
+
- 决定交付日期的依赖链:
|
|
34
|
+
- 功能冻结点:
|
|
35
|
+
|
|
36
|
+
## 任务总表
|
|
37
|
+
|
|
38
|
+
| Task | 交付结果/任务卡 | 负责人 | 前置 Task | 状态 | 当前预计完成 | 证据与 Git 记录 |
|
|
39
|
+
|---|---|---|---|---|---|---|
|
|
40
|
+
|
|
41
|
+
## 里程碑
|
|
42
|
+
|
|
43
|
+
| 里程碑 | 退出条件 | 原计划日期 | 当前预计 | 实际日期 | 偏差原因 |
|
|
44
|
+
|---|---|---|---|---|---|
|
|
45
|
+
|
|
46
|
+
## 分工与共享修改
|
|
47
|
+
|
|
48
|
+
| 负责人 | Task 范围 | 分支或工作目录 | 独占/共享修改范围 | 接口与集成约定 |
|
|
49
|
+
|---|---|---|---|---|
|
|
50
|
+
|
|
51
|
+
## 变更与决定
|
|
52
|
+
|
|
53
|
+
| 日期 | 来源 | 旧决定 → 新决定 | 影响 Task 与工期 | 决定人/依据 |
|
|
54
|
+
|---|---|---|---|---|
|
|
55
|
+
|
|
56
|
+
## 当前接续点
|
|
57
|
+
|
|
58
|
+
- 进行中:
|
|
59
|
+
- 可立即启动:
|
|
60
|
+
- 阻塞、解除条件与处理负责人:
|
|
61
|
+
- 最近完成的检查及证据:
|
|
62
|
+
- 当前分支、版本与未提交改动:
|
|
63
|
+
- 下一步:
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Task 卡
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# Txxx:可验收的交付结果
|
|
70
|
+
|
|
71
|
+
- 需求来源/父任务:
|
|
72
|
+
- 负责人;必要审查者;集成负责人:
|
|
73
|
+
- 目标与交付物:
|
|
74
|
+
- 本任务边界:
|
|
75
|
+
- 前置 Task、所需成果及完成证明:
|
|
76
|
+
- 接口约定、可修改范围、共享文件负责人:
|
|
77
|
+
- 分支/工作目录;目标分支:
|
|
78
|
+
- 验收环境/Mock 边界:
|
|
79
|
+
- 工作量估算与假设:
|
|
80
|
+
- 原计划开始/结束:
|
|
81
|
+
- 当前预计开始/结束;变更原因:
|
|
82
|
+
- 实际开始/结束:
|
|
83
|
+
- 状态;最近更新日期:
|
|
84
|
+
|
|
85
|
+
## 验收场景
|
|
86
|
+
|
|
87
|
+
| 场景 | 前置条件 | 操作 | 预期结果 | 实际结果/证据 |
|
|
88
|
+
|---|---|---|---|---|
|
|
89
|
+
|
|
90
|
+
## 审查与修复
|
|
91
|
+
|
|
92
|
+
| 版本与范围 | 审查者/方式 | 结论与问题 | 修复及复查证据 |
|
|
93
|
+
|---|---|---|---|
|
|
94
|
+
|
|
95
|
+
## Git 与集成
|
|
96
|
+
|
|
97
|
+
- 实现提交:
|
|
98
|
+
- 集成提交或目标分支对应记录:
|
|
99
|
+
- 必要的集成验证:
|
|
100
|
+
- 部署及部署后验证(仅适用时):
|
|
101
|
+
|
|
102
|
+
## 阻塞与接续
|
|
103
|
+
|
|
104
|
+
- 原因、解除条件、处理负责人:
|
|
105
|
+
- 已尝试及结果:
|
|
106
|
+
- 下一步:
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 依赖与并行示例
|
|
110
|
+
|
|
111
|
+
以下使用虚构任务说明调度规则,不作为实际项目排期。
|
|
112
|
+
|
|
113
|
+
```mermaid
|
|
114
|
+
flowchart LR
|
|
115
|
+
T001["T001 身份接口完成并集成"] --> T002["T002 顾客页面"]
|
|
116
|
+
T001 --> T003["T003 管理页面"]
|
|
117
|
+
T002 --> T004["T004 跨端集成验收"]
|
|
118
|
+
T003 --> T004
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
| 实际状态 | 可启动的工作 | 判断原因 |
|
|
122
|
+
|---|---|---|
|
|
123
|
+
| T001 已提交,尚未审查或集成 | 不启动 T002、T003 的依赖实现 | 提交不代表前置成果已可用 |
|
|
124
|
+
| T001 已完成并集成,两个页面修改范围和执行资源允许并行 | T002、T003 同时启动 | 两者前置条件都满足,互不等待 |
|
|
125
|
+
| T002 完成,T003 未完成 | T004 继续等待 | 多个前置条件必须全部满足 |
|
|
126
|
+
| T002、T003 都完成并集成 | T004 启动 | 跨端验收所需成果齐全 |
|
|
127
|
+
| T001 的接口被不兼容修改 | 复查 T002、T003;必要时重新打开相关 Task | 旧依赖证明失效,T004 不能沿用旧验收条件 |
|
|
128
|
+
|
|
129
|
+
如果页面静态布局确实能先做,可单独拆成不依赖身份实现的任务;其验收只覆盖静态布局,不能宣称登录或跨端业务已通过。
|
|
130
|
+
|
|
131
|
+
## 提交与进度示例
|
|
132
|
+
|
|
133
|
+
```text
|
|
134
|
+
docs(T001): 明确身份接口验收和依赖
|
|
135
|
+
feat(T001): 实现身份接口及权限验证
|
|
136
|
+
fix(T001): 修复审查发现的越权读取
|
|
137
|
+
docs(T001): 记录验收和集成结果
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
每条只是提交标题示例。实际 SHA 在提交后获取,后续记录可链接它;不能虚构 SHA 或要求提交包含自身 SHA。若最终采用 squash 合并,则记录目标分支中合并后的 SHA。
|
|
141
|
+
|
|
142
|
+
进度描述示例:“T001 已完成并集成,权限验证通过,证据见任务卡。T002、T003 已就绪;T004 等待两项完成。”只有调度工具或实际执行状态确认后,才能把“已就绪”改写成“已启动”。
|