Files
ai_soc_sw/.trae/skills/add-subproject/SKILL.md
T
2026-05-22 15:57:05 +08:00

4.9 KiB
Raw 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 占位文件
  • 示例任务目录

使用方法

参数说明

参数 类型 必填 说明
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 工作区
    │   └── README.md
    ├── tests/                  # QA AI 工作区
    │   └── README.md
    ├── docs/                   # 项目文档
    │   ├── 01_需求概要.md
    │   ├── 02_架构设计.md
    │   └── 03_接口定义.md
    └── ENVIRONMENT.md          # 环境配置

任务目录

review/
└── active/
    └── P03-001/                # 新项目的第一个任务
        ├── task.md
        ├── acceptance.md
        ├── impact.md
        └── feedback/
            └── round1.md

执行命令

# 获取下一个项目编号
get_next_project_number() {
  ls -la projects/ | grep -E '^P[0-9]+_' | sort | tail -1 | sed 's/P\([0-9]*\)_.*$/\1/'
}

# 创建项目目录
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,tests,docs}

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

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

## 安装
npm install

## 运行
npm start
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}" > "${PROJECT_DIR}/src/README.md"
echo "# 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 |

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

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

## 测试结果
- 通过:0
- 失败:0

## 反馈
待执行测试
EOF

# 更新 README.md
echo "- [${PROJECT_NUM}_${PROJECT_NAME}](${PROJECT_DIR})" >> README.md

echo "✅ 子项目 ${PROJECT_NUM}_${PROJECT_NAME} 创建成功!"

使用场景

何时调用此 skill

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

不适用场景:

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

后续步骤

skill 执行后:

  1. 检查 projects/${PROJECT_NUM}_${PROJECT_NAME}/ 目录结构
  2. 修改 ENVIRONMENT.md 配置项目依赖
  3. 更新 docs/ 目录的文档内容
  4. 开始在 review/active/${PROJECT_NUM}-001/ 任务下工作

Version: 1.0
Created: 2026-05-22
Based On: ErrLens AI Programming Project