Harness 规范文档生成——harness-engineering 的子 skill,负责项目上下文感知、 信息收集、五大组件与技术规范文档的生成/修正、开发地图生成及总结报告。 由 harness-engineering 按生成类触发词路由调用,不独立触发。
Scanned 9/4/2026
Install to Claude Code
npx -y skills add TencentBlueKing/bk-bcs --skill harness-generating --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Harness Generating?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tencentblueking-harness-generating)More formats (shields.io, HTML) on the badges page.
---
name: harness-generating
slug: harness-generating
version: 1.5.2
description: |
Harness 规范文档生成——harness-engineering 的子 skill,负责项目上下文感知、
信息收集、五大组件与技术规范文档的生成/修正、开发地图生成及总结报告。
由 harness-engineering 按生成类触发词路由调用,不独立触发。
---
# Harness 规范文档生成
> **路径约定**:`references/` = 本子 skill 私有资源(`harness-generating/references/`);`../references/` = 父 skill 共享资源(`harness-engineering/references/`);`../assets/` = 父 skill 预设库。
## 执行清单
**开始执行前**,使用 TodoWrite 创建如下清单(全部状态 `pending`):
| ID | 清单项 |
|----|--------|
| `gen-1` | 第一步:项目上下文感知(含项目类型识别、基本信息、已有 Harness 检测、环境工具检查) |
| `gen-2` | 第二步:信息收集与交互 |
| `gen-3` | 第三步:规范文档生成(AGENTS.md + 五大组件文档 + glossary) |
| `gen-3b` | 第三步-B:技术规范文档处理 |
| `gen-3c` | 第三步-C:开发地图生成(含 IDE 集成配置) |
| `gen-3d` | 第三步-D:工作流文档生成(**已移除,标记 completed 并 Skip**) |
| `gen-3e` | 第三步-E:初始化 `docs/business-standards/` 目录与索引骨架(幂等,已存在不覆写) |
| `gen-3f` | 第三步-F:同步 Standards IDE Rules(`sync-standards-rules.sh`,按选用裁剪) |
| `gen-4` | 第四步:定向修正(`targeted` 模式时必做,其他模式跳过并标记 completed) |
| `gen-5` | 第五步:工具依赖自审 |
| `gen-qa` | 质量检查(十二项逐一核对,在生成总结前执行) |
| `gen-6` | 第六步:生成总结报告 |
**每完成一步**:立即调用 TodoWrite 将对应条目标记为 `completed`,再继续下一步。
## 执行流程
### 第一步:项目上下文感知
扫描项目结构,收集以下信息作为规范生成的基础。
0. **项目类型识别**(必须最先执行,结果影响后续所有路径)
读取 `../references/project-type-detection.md`,完成识别并确定 `$SKILL_ROOT`。
1. **项目基本信息**
- 读取 `README.md`、`package.json`、`pyproject.toml` 等项目描述文件
- 识别技术栈(语言、框架、构建工具)
- 检测已有的文档目录结构(`docs/`、`AGENTS.md` 等)
2. **已有 Harness 组件检测**
- 检查是否已有 `docs/harness/` 目录
- 检查是否已有 `docs/standards/` 目录及其中的规范文件
- 如已有规范文档,读取并理解当前状态,后续只做增量更新
3. **环境工具完备性检查**
- **先运行** `../scripts/harness-doctor.sh`(或仓库内等价路径)收集 CLI / Skill 安装根 / 项目自有工具 present·absent;结果**只进总结报告「环境缺口」节**,**禁止**写入 `docs/harness/tooling.md` 的「环境状态 / 已就绪」列
- 读取 `../references/tool-dependencies.md` 作为 Harness 基线数据源
- 根据用户意图或项目已有 Skill,从 §四 选定一个或多个场景(如 v3 主线用「场景 A」,仅用澄清/评估用「场景 B」)
- 对所选场景的检查清单逐项探测(按以下优先级):
- **MCP**:§一 各 MCP「环境检查」行——**立即发起 tool call**(执行调用,不是描述);成功则记入总结报告缺口表,失败则记缺口。**不得**把就绪结果写进 tooling.md
- **Skill / CLI**:以 `harness-doctor` 输出为准,可按场景补探测
- **可选工具**(`docker`、`gh`、`python3` 等):不主动检查,总结报告中注明"按需安装"
- 生成「环境工具缺口」列表,**仅报告所选场景**涉及的缺口(未选场景不探测、不报告)
- 缺口列表暂存,经第五步自审补全后在第六步总结报告中输出;**tooling.md 只保留契约表(所需工具 + 检测方式)**
### 第二步:信息收集与交互
根据第一步的感知结果,评估信息充分程度。对于信息不足的组件,读取
`../references/question-bank.md` 获取对应组件的提问清单,一次性向用户提出。
**信息充分度评估标准:**
| 组件 | 最低信息要求 |
|------|------------|
| 上下文工程 | 知识来源、文档结构、动态数据源 |
| 架构约束 | 分层结构、依赖规则、边界定义 |
| 熵管理 | 文档维护策略、技术债处理方式 |
| 工具能力 | 工具清单、接口规范、稳定性策略 |
| 执行与验证 | 任务流程、验证机制、可观测性方案 |
**交互原则:**
- 将所有待确认问题整理为一份结构化清单,一次性提出,避免碎片式追问
- 区分阻塞性问题(必须回答才能生成)和非阻塞性问题(可先用默认值)
- 用户未回答的非阻塞性问题,使用最佳实践默认值填充,并在文档中标注"待确认"
### 第三步:规范文档生成
读取 `../assets/harness-spec-template.md` 获取文档模板,结合收集到的信息生成规范文档。
**输出目录结构:**
```
AGENTS.md # 项目入口(渐进式上下文披露的第一层)
docs/
├── glossary.md # 词汇表(核心概念、术语、缩写定义)
├── harness/
│ ├── README.md # 总览与导航(渐进式上下文披露的第二层入口)
│ ├── context-engineering.md
│ ├── architectural-constraints.md
│ ├── entropy-management.md
│ ├── tooling.md
│ └── execution-verification.md
├── dev-map/
│ ├── README.md # 开发地图索引 + 维护规则矩阵
│ └── graph.json # 持久化图谱(支持增量更新与深度查询)
└── standards/
├── README.md # 导航 + Agent 加载策略 + 章节索引
├── skill-spec.md # skill-tooling 项目:Skill 编写规范(从预设同步)
├── security-bk-redlines.md # code-project:代码安全三大红线(从预设同步)
├── quality-code-review.md # code-project:代码评审规范(从预设同步)
├── frontend-{stack}.md # code-project:前端技术栈规范
├── api-{stack}.md # code-project:接口协议规范
└── backend-{stack}.md # code-project:后端技术栈规范
docs/business-standards/ # 用户自定义业务规范(gardening 永不覆写)
└── README.md # 业务规范索引 + frontmatter 元数据说明
```
> `docs/standards/` 下的文件均从 `../assets/standards/` 预设同步,内容不可手动修改。
披露层次:根 AGENTS(短头 + 局部入口索引 + 项目记忆)→ 工作单元 `**/AGENTS.md`(nearest 优先)→ harness/README + standards/README → 详细文档。
**关键生成规则:**
- AGENTS.md(根):写根前按 `../references/agents-work-units.md` 执行 `git ls-files -- 'AGENTS.md' '**/AGENTS.md'`,产出工作单元清单;有非根条目则短头必须含「局部入口」索引 + **nearest / 局部优先于根**句,**默认不覆写局部 AGENTS 正文**;短头含概述、目录(二级)、关键规范、「编码前必读」门闩;**禁止**写入「开发工作流」/ `workflow-agent` /「不允许跳过」;**若已有根 AGENTS.md,按 `../references/agents-merge.md` 先理解(含四件套)再裁决**(`RETAIN-ENTRY` 等)——禁止跳过理解整文件覆写、禁止描点作为充分条件;短头 prose ≤80 行;`RETAIN-ENTRY` 与工作单元索引不因压行数删除;总结报告须含「AGENTS 理解」与「工作单元 AGENTS」节;Skill/MCP/工具依赖只进 `docs/harness/tooling.md`;模板 0-A 见 `../assets/harness-spec-template.md`
- L2 组件:`context-engineering` 知识来源含工作单元 AGENTS;`execution-verification` 验证命令对齐根/局部 AGENTS 与组件根,禁止虚构测试栈、禁止与「无单测勿声称」冲突;`architectural-constraints` 对已有分层/关系图只摘要+指针;禁止 L2 粘贴大段局部 AGENTS
- tooling.md Harness 基线 Skill:扫描 `${SKILL_INSTALL_ROOT}/*/SKILL.md`(仅顶层;安装根见 `../references/skill-install-root.md`),与 `../references/tool-dependencies.md` 交叉验证,**只列白名单内 Skill**
- tooling.md Harness 基线 MCP:以 `../references/tool-dependencies.md` §一为权威;**不**扫用户级 `~/.cursor`;个人额外 MCP 不列入基线
- tooling.md **项目自有工具**(算法见 `../references/project-owned-tools.md`,**算法文档路径勿写入 tooling.md**):`git ls-files` ∩ 安装布局(**含 monorepo 子树**如 `apps/*/.agents/skills/*/SKILL.md`),且名不在白名单 → 写入/合并「项目自有工具」节,表头仅 **`名称 | 用途`**;用途从 `SKILL.md` `description` 压成一行,子树路径可前缀组件目录;未跟踪路径禁止写入;再生成**不得清空**该节已有行
- tooling.md **禁止写入引用说明块**:勿写「依据 / 见 `tool-dependencies.md` / `project-owned-tools.md` / `install-to-target.sh` / 权威清单路径」等引用段落;契约表本身即可,探活与准入规则留在 skill references
- **接入仓扫描结果只写 tooling.md 契约**:权威清单只读;**环境缺口只进总结报告 / `harness-doctor` stdout**,不得写入 tooling.md 状态列
- tooling.md **禁止**表头「环境状态」及单元格「已就绪 / 未安装 / 未接入」;交付前须跑 `../scripts/harness-verify.sh`
- **统一脱敏**:AGENTS.md / docs/harness/** / docs/glossary.md 禁止写入本机绝对路径(`/home/` `/Users/` `/data/go/` `/root/` `/tmp/`)、邮箱、人员英文名/个人标识表;联系人放 CODEOWNERS 或团队 wiki
- glossary.md:从五大组件提取核心术语,按分类组织,每条含中/英文名和定义
- 各组件文档:包含目标、原则、规范条目、实施指南、检查清单;信息不足处标注 `<!-- TODO: 待补充 -->`
生成各组件时,参考 `../references/best-practices.md`(§1–§5 对应五大组件)。
### 第三步-B:技术规范文档处理
在五大组件文档生成后,处理技术规范预设的选择与部署。
**首先根据 `$PROJECT_DOMAIN` 确定必选规范分支:**
| `$PROJECT_DOMAIN` | 必选规范 | 跳过规范 |
|-------------------|---------|---------|
| `code-project` | `security/bk-redlines`、`quality/code-review` | `skill-tooling` 类别 |
| `skill-tooling` | `skill-tooling/skill-spec` | `security`、`quality` 类别 |
| `mixed` | 全部必选规范 | 无 |
1. **处理必选规范**(按 `$PROJECT_DOMAIN` 决定范围)— 读取 `../assets/standards/index.yaml`:
- `$PROJECT_DOMAIN == code-project` 或 `mixed`:找出所有 `detect: code-project` 的预设(当前为 `security/bk-redlines`、`quality/code-review`),复制对应**入口** `.md` 到 `docs/standards/`,**无需用户确认、无需技术栈匹配**
- `$PROJECT_DOMAIN == skill-tooling` 或 `mixed`:找出所有 `detect: skill-tooling` 的预设(当前为 `skill-tooling/skill-spec`),复制对应**入口** `.md` 到 `docs/standards/`,**无需用户确认**
- **分册目录**:若 `../assets/standards/{stem}/` 存在(`file: foo.md` → `assets/standards/foo/`),须**递归复制**整目录到 `docs/standards/{stem}/`(与入口一并部署;见 `../references/preset-management.md`)
2. **自动检测技术栈(必须跑脚本,支持 monorepo)** — 在目标仓根执行:
```bash
bash "$SKILL_ROOT/harness-engineering/scripts/detect-standards.sh" --json "<workspace_root>"
```
脚本读取 `../assets/standards/index.yaml`,发现 `package.json` / `go.mod` **子项目根**(忽略 `node_modules`/`.cursor` 等),按 `detect` 规则求 Level-1(语义见 `../references/preset-management.md`)。
- `contains_require`:**仅直接 require**(忽略 `// indirect`)
- `contains_require` 同一 rule 数组多项 = **OR**
- `require_dirs` / `any_of_files` 相对候选根;`**/*.proto` 等不扫隐藏 IDE 目录
- 每分类取 **primary**(第一条 Level-1)部署;同分类多命中时列候选,首版默认 primary,总结报告注明其余根
- **示例**:`apps/ui` Vue3+Vite → `frontend-vue3`;`apps/server` Gin+swag → `backend-gin` + `api-swagger`;有 `trpc.group/trpc-go` 但无 `proto/`+`stub/` → **不**命中 `trpc-go`
- 命中 `status: planned` → 不部署
- 已按 `$PROJECT_DOMAIN` 处理的必选横切(security/quality/skill-spec):不经本脚本,仍按上一步复制
3. **确认选择** — 单一 Level-1 匹配请用户确认;多匹配列候选;无匹配 → 该分类不设规范(见下)
4. **匹配策略(策略 B:无 generic 骨架)**
| 结果 | 条件 | 行为 |
|------|------|------|
| Level 1 | detect 脚本 primary 命中且非 `planned` | 复制规范**入口** `.md` 到 `docs/standards/`;若存在同名 `{stem}/` 分册目录则递归复制到 `docs/standards/{stem}/`;列入「当前项目选用」;README「项目事实」记录命中根(如 `apps/ui`) |
| 未匹配 / planned | 无 Level-1,或仅 planned | **不**生成该分类(frontend/api/backend)规范文件;不进「当前项目选用」;总结报告写明信号 + 贡献引导 |
**禁止**使用或生成 `*-generic.md`。仓库 `assets/standards/` 不再提供 generic 文件。
**禁止**仅靠全文 grep / 人肉记忆子路径选型而不跑 `detect-standards.sh`。
5. **部署** — 复制 Level-1(及必选横切)的**入口** `.md` 到 `docs/standards/`;对每个 `{stem}.md`,若预设库存在 `assets/standards/{stem}/` 则递归复制到 `docs/standards/{stem}/`;动态生成 `docs/standards/README.md`(含加载预算;**项目事实**:各端命中根)
6. **贡献引导**(存在未匹配分类时)— README「未覆盖的技术栈」列出分类与探测信号;总结报告提示编写预设并注册 `index.yaml`
7. **根 README 冲突提示(R5)** — 若 Level-1 含 gin/swagger/vue 等,而根 `README.md` 仍主推冲突栈关键词(如无 gin 信号却大段 trpc-cli/`proto/` 安装,或声明 React 而命中 Vue):**不改**根 README;在总结报告「后续建议」列出冲突信号,请人工修订
预设管理规范见 `../references/preset-management.md`。
### 第三步-C:开发地图生成
在第三步-B 完成后执行。有两种触发场景:
- `mode=full`:自动接续执行,作为主流程标准步骤
- `mode=targeted, target=dev-map`:仅执行第一步(上下文感知)+ 本步骤 + 第六步(总结报告)
**3-C.1 工具检测**
```
检查 skills/graphify/SKILL.md 是否存在
- 存在:继续执行 3-C.2(调用 graphify skill)
- 不存在:
在总结报告中记录"graphify skill 未找到(skills/graphify/SKILL.md 不存在),知识图谱功能暂不可使用"
跳过本步骤剩余内容,继续后续步骤(第三步-D 已移除)
```
**3-C.2 全量生成**
调用 graphify skill,全量生成:
```
/graphify .
```
(graphify skill 已配置输出目录为 docs/dev-map,graph.json → docs/dev-map/graph.json)
**git 策略(配置/规则入库 · 结果不入库):**
对齐 graphify 官方指引与 F7:提交「让 graphify 跑起来的配置与说明」,**不**提交「跑出来的结果」。
| 类别 | 路径 | git |
|------|------|-----|
| 说明 / 约定 | `docs/dev-map/README.md` | **必须纳入**(`git add`) |
| 忽略清单 | `docs/dev-map/.gitignore` | **必须纳入**(从 `../assets/dev-map.gitignore` 复制/覆写对齐) |
| IDE 规则 | `.cursor/rules/*.mdc`、`.codebuddy/rules/*.md`、`.claude/rules/*.md` 等(见 3-C.5);Codex 仅 `AGENTS.md` | 按安装布局同步;是否入库随目标仓对 IDE 目录的 gitignore 策略 |
| 图谱结果 | `graph.json`、报告、cache、wiki、可视化等 | **生成到本地,默认不 `git add`**(`.gitignore` 白名单:仅 `README.md` + `.gitignore`) |
硬性约束:
- **禁止**将整个 `docs/dev-map/` 写入任意 `.gitignore`(会丢掉 README / 约定落点)
- **禁止**默认 `git add docs/dev-map/graph.json`(或其它结果文件);仅当用户**显式**要求入库时例外,并须同步放宽 `.gitignore`
- 交付前确保:`cp ../assets/dev-map.gitignore docs/dev-map/.gitignore`(或内容等价),再 `git add docs/dev-map/README.md docs/dev-map/.gitignore`
- 总结报告注明:结果已本地生成、已被 ignore、未将整目录 ignore
**3-C.3 更新 README.md 与 `.gitignore`**
1. 将 `docs/dev-map/README.md` 内容替换为(读取 `../assets/dev-map-templates.md` 中的模板)。
2. 将 `../assets/dev-map.gitignore` 复制为 `docs/dev-map/.gitignore`(覆盖对齐 canonical 清单)。
**3-C.4 清理旧文件**
若以下文件存在,删除:
```bash
git rm --ignore-unmatch docs/dev-map/source-index.md
git rm --ignore-unmatch docs/dev-map/module-index.md
git rm --ignore-unmatch docs/dev-map/module-dependencies.md
```
**增量更新策略(targeted 模式):**
| 场景 | 行为 |
|------|------|
| `docs/dev-map/graph.json` 不存在 | 全量生成(同 3-C.2) |
| 文件存在 | 调用 graphify skill 增量更新:`/graphify . --update`,仅重新处理变更文件 |
**3-C.5 IDE 集成配置**
仅在 3-C.1 确认 graphify skill 存在时执行(graphify 不存在则跳过本节):
```bash
bash "$SKILL_ROOT/harness-engineering/scripts/harness-ide-setup.sh" .
```
读取输出日志,将 `[OK]` / `[MERGED]` / `[SKIP]` / `[WARN]` 状态汇入第六步总结报告。若输出含 `[WARN]`(graphify 未在 PATH 中),在总结报告中提示用户安装 graphify 或确认路径。
---
### 第三步-F:同步 Standards IDE Rules(默认开启)
在第三步-B(及 README 选用表)就绪后、交付前执行。算法见 `../references/standards-compliance.md`;**禁止**另写一套路径/裁剪逻辑。
```bash
bash "$SKILL_ROOT/harness-engineering/scripts/sync-standards-rules.sh" "<workspace_root>"
```
- 按安装布局写入 Cursor `.mdc` / CodeBuddy `.md` / Claude `.md`(fallback → `.agents/rules/` 同时双格式;`.md` 含 Claude `paths`)
- Codex **不**写 `.codex/rules/`(execpolicy 专用);门闩依赖 `AGENTS.md`
- 仅对「当前项目选用」中存在的 frontend/api/backend/security 生成对应 rule;未选用则删除多余 `standards-*`
- 无 IDE / `.agents` 布局 → 脚本 Skip;总结报告注明「Rules Skip:无 IDE 目录」
- 用户显式拒绝写入 Rules 时 Skip,并记入总结报告
将脚本 stdout(wrote/removed/skip)汇入第六步「Standards Rules」节。
---
### 第三步-D:工作流文档生成 — **已移除**
harness-engineering **不再**生成或同步 `docs/workflow.md`,**不再**在 AGENTS.md 写入 workflow-agent /「不允许跳过」。
迭代工作流由目标仓自行维护(或使用独立 Skill),不在本 skill 职责内。
本步永久 Skip:将 Todo `gen-3d` 标为 `completed` 后直接进入第三步-E。
---
### 第三步-E:初始化业务规范空间(幂等,永不覆写)
在第三步-B 完成后执行。与 `docs/standards/`(预设单向覆写)语义**相反**:`docs/business-standards/` 为**用户自有**空间,harness-gardening 永不覆写。
**执行逻辑:**
1. 判定目录是否存在:
```bash
test -d docs/business-standards && echo "SKIP-已存在保留用户内容" || echo "INIT-创建骨架"
```
2. 若 `docs/business-standards/` **不存在** → 创建目录并生成 `README.md` 索引骨架,包含:
- frontmatter 元数据填写说明(`tags` string 数组 + `scenarios` string 数组);
- 空的「规范索引」表(含一行示例,展示 tags/scenarios 写法);
- 「harness-gardening 永不覆写本目录」的显式声明与「按 tags/scenarios 选择性加载」的说明。
3. 若 `docs/business-standards/` **已存在** → **保留用户内容,不覆写、不删除**(严禁比对预设或覆盖,与 `docs/standards/` 覆写语义相反)。
4. 在生成的 `docs/standards/README.md`「Agent 加载策略」中登记业务规范空间条目:agent 按 tags/scenarios 选择性加载 `docs/business-standards/`(非全量强制)。
---
### 第四步:定向修正(按需)
当 `mode=targeted` 或用户指定修改某个组件时:
1. 读取该组件的现有文档
2. 根据用户要求更新内容
3. 检查是否影响其他组件(如修改架构约束可能影响工具能力约束规则),有关联影响则提示用户
**技术规范的定向修正:**
`docs/standards/` 以 `../assets/standards/` 预设为**唯一权威来源**,不支持用户定制:
1. **更换预设** — 重新执行第三步-B 检测/选择流程,覆写对应文件
2. **同步预设更新** — 对比 `docs/standards/` 与预设(入口 `.md` + 同名 `{stem}/` 分册目录),差异项直接覆写
3. **定制规范内容** — 修改 `../assets/standards/` 中的预设文件(而非 `docs/standards/`)
**增量更新策略:**
| 场景 | 行为 |
|------|------|
| `docs/standards/` 不存在 | 全量生成 |
| 文件存在且与预设一致 | 跳过 |
| 文件存在但与预设不一致 | 用预设覆写(预设为权威) |
| 检测到新技术栈 | 为新 category 复制预设,不影响已有 |
| 检测到技术栈已移除 | 不自动删除,提示用户确认 |
### 第五步:工具依赖自审
在输出总结报告之前,**必须**完成以下对账,不得跳过:
1. **对账** — 将本次已检查的工具条目与 `../references/tool-dependencies.md` §四中当前场景的检查清单逐项比对,找出满足以下任一条件的条目:
- 清单中有、但本次未执行检查的
- 已记录但状态为"未知/待检测"的
2. **补检** — 对每个对账缺口条目**立即发起检查**(执行动作,不得输出"需要检查"类说明,不得询问用户):
- MCP:对该 MCP 发起 tool call(接口见 §一对应"环境检查"行)
- Skill:`test -f $SKILL_ROOT/<skill-name>/SKILL.md`
- CLI:执行 `command -v <cmd>`(技术栈专属 CLI 须先确认检测条件满足)
- 配置:§三 — 检查文件存在与关键字段
3. **合并** — 将补检结果追加到第一步暂存的缺口列表,然后进入第五步
### 第六步:生成总结
**交付前硬门禁(必须执行):**
```bash
bash "$SKILL_ROOT/harness-engineering/scripts/harness-verify.sh" "<workspace_root>"
```
失败则:不得宣布生成完成;按报错修改产物(去掉虚假「已就绪」、删除 workflow 强制段、把 TODO 骨架移出「当前选用」等)后重跑,直到 exit 0。
完成后按 `references/report-template.md` 格式向用户输出总结报告(含已完成组件、待补充内容、环境工具缺口、后续建议)。
## 质量检查
生成文档后、总结报告前,执行以下检查(含上节 harness-verify):
1. **完整性** — AGENTS.md、glossary.md、五大组件文档、技术规范文档、dev map 四文件是否全部生成
2. **一致性** — `tooling.md` §1.0 Skill 清单与 `$SKILL_ROOT/*/SKILL.md`(仅顶层)一致(`$SKILL_ROOT` 由第一步项目类型识别确定);glossary.md 覆盖核心术语;组件间约束自洽
3. **披露层次** — AGENTS.md → harness/README.md → 组件文档;AGENTS.md → standards/README.md → 技术规范导航畅通;AGENTS.md → dev-map/README.md 引用正确
4. **可操作性** — 规范条目足够具体,能直接指导实施
5. **可维护性** — 标注了待补充内容和后续改进方向
6. **规范完整性** — 每个检测到的技术栈都有对应规范文档(完整预设或通用骨架);按 `$PROJECT_DOMAIN` 检查必选规范:
- `$PROJECT_DOMAIN == code-project` 或 `mixed`:`security-bk-redlines.md`、`quality-code-review.md` 必须存在于 `docs/standards/`
- `$PROJECT_DOMAIN == skill-tooling` 或 `mixed`:`skill-spec.md` 必须存在于 `docs/standards/`
7. **规范与架构一致性** — 技术规范中的架构约束与 `docs/harness/architectural-constraints.md` 定义一致
8. **工具依赖完备性** — `tooling.md` 依赖表与 `../references/tool-dependencies.md` 一致;环境检查已通过「工具依赖自审」步骤补全,总结报告列出最终缺口
9. **Dev Map 与 IDE 集成完整性** — 若 graphify 可用:本地已有 `docs/dev-map/graph.json`;`README.md` 与 `.gitignore`(对齐 `assets/dev-map.gitignore`)已入库且**未**整目录 ignore;结果文件未误 `git add`;旧三文件已删除;`harness-ide-setup.sh` 已执行且无非预期错误——按布局写入 `graphify.mdc` / `graphify.md`(含实体 `.claude/rules`;fallback → `.agents/rules/`),`.codebuddy` 侧 `settings.json` hook-guard 齐全。若 graphify 不可用:在总结报告中说明原因和安装方式
10. **无 workflow 接入** — AGENTS.md / docs/harness 不含 workflow-agent、「不允许跳过工作流」、「## 开发工作流」;**不**要求生成 `docs/workflow.md`;交付前运行 `bash "$SKILL_ROOT/harness-engineering/scripts/harness-verify.sh" <workspace_root>`,失败则不得宣布完成
11. **业务规范空间完整性** — `docs/business-standards/README.md` 存在且含 frontmatter 元数据说明与「规范索引」表;若目录已存在,确认用户内容未被覆写
12. **Standards 门闩与 Rules** — AGENTS 含「编码前必读(门闩)」且强调按节/预算;`docs/standards/README.md` 含「Agent 加载步骤(强制)」与「加载预算」(或等价「按节」指引);已执行 `sync-standards-rules.sh`(或用户拒绝已记入报告);未选用分类不得残留对应 `standards-*` rule
## 参考资源
| 文件 | 用途 | 何时读取 |
|------|------|---------|
| `../references/project-type-detection.md` | 项目类型识别与 $SKILL_ROOT 检测 | 第一步-0(必须最先) |
| `../assets/harness-spec-template.md` | 规范文档模板 | 生成文档时 |
| `../assets/dev-map-templates.md` | 开发地图模板(README.md 目标内容) | 第三步-C 生成 dev map 时 |
| `../assets/dev-map.gitignore` | 开发地图结果级 ignore(复制为 docs/dev-map/.gitignore) | 第三步-C |
| `../assets/standards/index.yaml` | 技术规范预设索引 | 技术规范处理时 |
| `../assets/standards/*.md` | 技术规范预设**入口**文件 | 匹配后复制到目标项目 |
| `../assets/standards/{stem}/` | 大预设的分册目录(与 `{stem}.md` 成对) | 与入口一并递归复制 |
| `../references/best-practices.md` | 五大组件最佳实践详解 | 生成各组件规范时 |
| `../references/question-bank.md` | 交互提问库 | 信息不足时 |
| `../references/tool-dependencies.md` | Agent 工具依赖权威清单 | 第一步工具依赖扫描 + 第五步自审 |
| `../references/preset-management.md` | 技术规范预设管理规范 | 管理/扩展预设库时 |
| `../references/agents-merge.md` | 根 AGENTS 先理解再合并 | 第三步写 AGENTS;总结「AGENTS 理解」节 |
| `../references/agents-work-units.md` | 工作单元发现与根索引 | 第三步写根前;总结「工作单元 AGENTS」节 |
| `../references/standards-compliance.md` | Standards 门闩与 IDE Rules 同步算法 | 第三步-F |
| `../scripts/sync-standards-rules.sh` | 按选用表渲染/裁剪 IDE Rules | 第三步-F |
| `../assets/ide-rules/` | Cursor / CodeBuddy / Claude Rules 模板(Codex 无 instruction rules) | 第三步-F |
| `references/report-template.md`(本 skill 私有) | 总结报告格式模板 | 生成第六步总结时 |
| `../assets/workflow-template.md` | **DEPRECATED**(不再使用) | 第三步-D 已移除 |
## 清单验收
在输出总结报告后,检查 TodoWrite 清单:
- **全部 `completed`** → 执行完毕,正常退出
- **有 `pending` / `in_progress` 项** → 立即补充执行对应步骤,直至清单全绿再退出
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!