← ClaudeAtlas

doa-harnesslisted

自动为项目搭建 Harness Engineering 工程轨道。一键生成 copilot-instructions.md、AGENTS.md、 tasks.json、CODEOWNERS、rules/*.md 五大配置文件,让 GitHub Copilot 从"碰运气"变成"稳定交付"。 USE FOR: 初始化 harness、搭建 copilot 工程轨道、配置 agent 约束、创建 instructions、 创建验证链、配置审批钩子、setup harness、init harness、harness engineering。 DO NOT USE FOR: 生成 PPT(使用 doa-ppt)、写代码逻辑、调试 bug。
medalsoftchina/workcopilot · ★ 4 · AI & Automation · score 80
Install: claude install-skill medalsoftchina/workcopilot
# DOA Harness — 一键搭建 Copilot 工程轨道(团队版) ## 核心理念 Copilot 的上限不取决于提示词,而取决于它运行在怎样的**工程轨道**上。 三层公式:**Context**(给什么)→ **Constraints**(守什么)→ **GC**(清什么)。 ## 运行模式 | 模式 | 触发方式 | 行为 | |------|---------|------| | **初始化** | 首次运行(默认) | 完整探测 → 交互确认 → 生成全部 5 类文件 | | **增量更新** | 参数含 `--update` | 扫描已有文件 → 仅 patch 新增部分(如新模块),保留用户自定义内容 | | **预览模式** | 参数含 `--dry-run` | 执行探测和模板渲染,输出预览但不写入文件 | ## 工作流 ``` 调用 skill → Step 0: 判断运行模式(初始化 / 增量更新 / 预览) → Step 1: 深度探测项目结构与技术栈 → Step 2: 交互确认关键信息 → Step 3: 生成 / 更新 5 类配置文件 → Step 4: 注入 GC 指令 → Step 5: 验证完整性 & 一致性 → Step 6: 输出 Day-1 验证指令 ``` --- ## Step 0: 判断运行模式 1. 检查参数中是否含 `--update` 或 `--dry-run` 2. 扫描工作区,检查 `.github/copilot-instructions.md` 是否已存在 - 已存在且未指定 `--update`:提示用户 "Harness 已初始化,是否切换到增量更新模式?" - 不存在:进入初始化模式 --- ## Step 1: 深度探测项目结构与技术栈 ### 1.1 递归扫描子项目 **不再只看根目录**。用 `list_dir` 递归扫描根目录及一级子目录,收集所有包含信号文件的子项目: ``` 扫描策略: 1. list_dir 根目录 → 识别子目录 2. 对每个子目录 list_dir → 查找信号文件 3. 构建子项目列表: [{name, path, stack, signals}] ``` ### 1.2 信号文件匹配表 | 信号文件 | 技术栈大类 | 需要进一步读取 | |----------|-----------|---------------| | `package.json` + `tsconfig.json` | Node/TypeScript | 读 package.json → 判断具体框架 | | `*.csproj` / `*.sln` | .NET | 读 .csproj → 判断 SDK 版本和项目类型 | | `pyproject.toml` / `requirements.txt` | Python | 读依赖列表 → 判断框架 | | `go.mod` | Go | 读 go.mod → 判断主要依赖 | | `Cargo.toml` | Rust | 读 Cargo.toml | | `pom.xml` / `build.gradle` | Java/Kotlin | 读构建文件 | ### 1.3 前端框架深度探测 当检测到 `package.json` 时,**必须读取其 dependencies / devDependencies** 来判断: | 依