Files
tupingr 3491827fbc feat(skill): 更新 Skill 文件为 v2.0 新框架结构
- ai-collab-setup/SKILL.md: 升级为 v2.0
  - 采用 R/W/RW/- 四态权限体系
  - 新增 read_only_paths 和 forbidden_paths 配置
  - 工作流增加 retry 和 escalation 机制
  - 新增提示词模板(code-style.md、doc-template.md、bug-report.md)
  - 目录结构新增 src/server/、src/config/、src/types/

- add-subproject/SKILL.md: 升级为 v2.0
  - 目录结构新增 src/server/、src/config/、src/types/ 子目录
  - 示例任务增加完整的 feedback/round1.md 格式
  - impact.md 增加影响的功能模块和环境依赖变更段落
  - 脚本兼容 Windows PowerShell 和 Linux/macOS
  - ENVIRONMENT.md 默认使用 pnpm 包管理器
2026-05-23 21:20:39 +08:00

6.6 KiB
Raw Permalink Blame History

name, description
name description
add-subproject Adds a new subproject to the existing '1 Human + 2 AI' collaboration framework. Invoke when you need to add a new subproject like web admin, data entry program, etc.

添加子项目 Skill

功能

在现有的"1人+2AI"协作框架中动态添加新的子项目,自动创建:

  • 项目目录结构(src/、tests/、docs/
  • 环境配置文件(ENVIRONMENT.md
  • README.md 占位文件
  • 示例任务目录(含 task.md、acceptance.md、impact.md、feedback/

使用方法

参数说明

参数 类型 必填 说明
project_name string 子项目名称,如 "web_admin"、"data_entry"
project_number string 项目编号,如 "P03",默认自动生成

调用方式

# 方式1:仅提供项目名称(自动分配编号)
# skill 会自动检测现有项目编号,分配下一个编号
add-subproject --project_name="web_admin"

# 方式2:指定项目编号
add-subproject --project_name="web_admin" --project_number="P03"

创建的内容

目录结构

projects/
└── P03_web_admin/              # 新项目目录
    ├── src/                    # Dev AI 工作区
    │   ├── server/             # NestJS 后端(如需要)
    │   ├── config/             # 构建配置
    │   ├── types/              # 全局类型
    │   └── README.md
    ├── tests/                  # QA AI 工作区
    │   └── README.md
    ├── docs/                   # 项目文档
    │   ├── 01_需求概要.md
    │   ├── 02_架构设计.md
    │   └── 03_接口定义.md
    └── ENVIRONMENT.md          # 环境配置

任务目录

review/
└── active/
    └── P03-001/                # 新项目的第一个任务
        ├── task.md             # 任务描述(人类创建,AI 只读)
        ├── acceptance.md       # 验收标准
        ├── impact.md           # 变更影响范围
        └── feedback/           # 测试反馈
            └── round1.md

执行命令

# 获取下一个项目编号(PowerShell 兼容版本)
get_next_project_number() {
  # 兼容 Linux/macOS
  if command -v ls >/dev/null 2>&1; then
    ls -la projects/ | grep -E '^P[0-9]+_' | sort | tail -1 | sed 's/P\([0-9]*\)_.*$/\1/'
  # 兼容 Windows PowerShell
  elif command -v powershell >/dev/null 2>&1; then
    powershell -Command "(Get-ChildItem projects -Directory | Where-Object { $_.Name -match '^P\d+_' } | Sort-Object Name | Select-Object -Last 1).Name -replace 'P(\d+)_.*', '$1'"
  else
    echo "0"
  fi
}

# 创建项目目录
PROJECT_NAME="web_admin"
NEXT_NUM=$(get_next_project_number)
PROJECT_NUM="P$(printf '%02d' $((NEXT_NUM + 1)))"
PROJECT_DIR="projects/${PROJECT_NUM}_${PROJECT_NAME}"

mkdir -p "${PROJECT_DIR}"/{src/{server,config,types},tests,docs}

# 创建 ENVIRONMENT.md
cat > "${PROJECT_DIR}/ENVIRONMENT.md" << EOF
# ${PROJECT_NUM}_${PROJECT_NAME} - 环境准备

## 依赖
- Node.js >= 20.x
- pnpm >= 9.0.0

## 安装
pnpm install

## 运行
pnpm dev
EOF

# 创建文档
cat > "${PROJECT_DIR}/docs/01_需求概要.md" << EOF
# ${PROJECT_NUM}_${PROJECT_NAME} - 需求概要

## 项目概述

## 功能需求

## 非功能需求
EOF

cat > "${PROJECT_DIR}/docs/02_架构设计.md" << EOF
# ${PROJECT_NUM}_${PROJECT_NAME} - 架构设计

## 技术选型

## 架构图

## 模块划分
EOF

cat > "${PROJECT_DIR}/docs/03_接口定义.md" << EOF
# ${PROJECT_NUM}_${PROJECT_NAME} - 接口定义

## API 列表

## 数据结构
EOF

# 创建 README.md
echo "# ${PROJECT_NAME} - src" > "${PROJECT_DIR}/src/README.md"
echo "# ${PROJECT_NAME} - tests" > "${PROJECT_DIR}/tests/README.md"

# 创建示例任务
mkdir -p "review/active/${PROJECT_NUM}-001/feedback"

cat > "review/active/${PROJECT_NUM}-001/task.md" << EOF
# ${PROJECT_NUM}-001 - 项目初始化

## 任务信息
- 任务编号:${PROJECT_NUM}-001
- 项目:${PROJECT_NUM}_${PROJECT_NAME}
- 创建时间:$(date +%Y-%m-%d)
- 状态:TODO

## 任务描述
完成 ${PROJECT_NAME} 项目的初始化工作。

## 交付物
- 项目目录结构
- 基础配置文件
- README 文档
EOF

cat > "review/active/${PROJECT_NUM}-001/acceptance.md" << EOF
# ${PROJECT_NUM}-001 - 验收标准

## 功能验收
- [ ] 项目目录结构完整
- [ ] ENVIRONMENT.md 已创建
- [ ] 文档目录已初始化

## 测试覆盖要求
- 无需测试(初始化任务)
EOF

cat > "review/active/${PROJECT_NUM}-001/impact.md" << EOF
# ${PROJECT_NUM}-001 - 变更影响范围

## 修改的文件
| 文件路径 | 修改类型 | 影响等级 |
|---------|---------|---------|
| ${PROJECT_DIR}/ | 新增 | LOW |

## 影响的功能模块
- [x] 项目初始化

## 需要回归测试的场景
- 无(新项目)

## 环境依赖变更
- 无
EOF

cat > "review/active/${PROJECT_NUM}-001/feedback/round1.md" << EOF
# ${PROJECT_NUM}-001 - 第一轮测试反馈

## 基本信息
- 测试时间: $(date +%Y-%m-%d)
- 测试项目: ${PROJECT_NUM}_${PROJECT_NAME}
- 测试环境: 待配置

## 测试结果概览
| 指标 | 数值 |
|------|------|
| 测试用例总数 | 0 |
| 通过 | 0 |
| 失败 | 0 |
| 跳过 | 0 |
| 代码覆盖率 | 0% |

## 反馈
待 Dev AI 完成开发后执行测试
EOF

# 更新 README.md(如果存在)
if [ -f README.md ]; then
  echo "- [${PROJECT_NUM}_${PROJECT_NAME}](${PROJECT_DIR})" >> README.md
fi

echo "✅ 子项目 ${PROJECT_NUM}_${PROJECT_NAME} 创建成功!"
echo "📖 请阅读 AGENTS.md 了解协作规则"
echo "🚀 在 review/active/${PROJECT_NUM}-001/ 下查看示例任务结构"

使用场景

何时调用此 skill

  • 添加新的 Web 管理程序
  • 添加数据录入程序
  • 添加任何新的子项目模块
  • 扩展现有项目架构

不适用场景:

  • 项目尚未初始化(需先调用 ai-collab-setup
  • 修改现有项目结构

后续步骤

skill 执行后:

  1. 检查 projects/${PROJECT_NUM}_${PROJECT_NAME}/ 目录结构
  2. 阅读 review/active/${PROJECT_NUM}-001/task.md 示例任务
  3. 根据实际需求修改 task.md 为真实任务
  4. Dev AI 开始开发

Version: 2.0
Created: 2026-05-22
Updated: 2026-05-23
Based On: ErrLens AI Programming Project
Changes from v1:

  • 目录结构新增 src/server/、src/config/、src/types/ 子目录
  • 示例任务增加完整的 feedback/round1.md 格式(含基本信息表格)
  • impact.md 增加「影响的功能模块」和「环境依赖变更」段落
  • 脚本兼容 Windows PowerShell 和 Linux/macOS
  • ENVIRONMENT.md 默认使用 pnpm 包管理器