Files
Claude-Code-Workflow/.claude/skills/project-analyze/phases/03.5-consolidation.md

5.1 KiB
Raw Blame History

Phase 3.5: Consolidation Agent

汇总所有分析 Agent 的产出,识别跨章节问题,生成汇总报告。

输入

interface ConsolidationInput {
  output_dir: string;
  config: AnalysisConfig;
  agent_summaries: AgentReturn[];
  cross_module_notes: string[];
}

执行

Task({
  subagent_type: "cli-explore-agent",
  prompt: `
## 任务
作为汇总 Agent读取所有章节文件执行跨章节分析生成汇总报告。

## 输入
- 章节文件: ${outputDir}/sections/section-*.md
- Agent 摘要: ${JSON.stringify(agent_summaries)}
- 跨模块备注: ${JSON.stringify(cross_module_notes)}
- 报告类型: ${config.type}

## 分析维度

### 1. 一致性检查
- 术语一致性:同一概念是否使用相同名称
- 代码引用file:line 格式是否正确
- 图表编号:是否连续且正确

### 2. 完整性检查
- 章节覆盖:是否涵盖所有必需章节
- 内容深度:每章节是否达到 ${config.depth} 级别
- 图表数量:是否每章节包含图表

### 3. 质量检查
- Mermaid 语法:图表是否可渲染
- 代码引用有效性:引用的文件是否存在
- 建议可行性:推荐是否具体可操作

### 4. 关联性检查
- 章节间引用:是否有交叉引用
- 逻辑连贯:内容是否逻辑一致
- 重复内容:是否有冗余描述

## 输出文件

写入: ${outputDir}/consolidation-summary.md

### 文件格式

\`\`\`markdown
# 分析汇总报告

## 1. 章节统计

| 章节 | 状态 | 图表数 | 代码引用数 | 字数 |
|------|------|--------|------------|------|
| System Overview | completed | 1 | 5 | 450 |
| ... | ... | ... | ... | ... |

## 2. 发现的问题

### 2.1 严重问题 (阻塞报告生成)

| ID | 类型 | 位置 | 描述 | 建议 |
|----|------|------|------|------|
| E001 | missing | section-dataflow | 缺少数据流章节 | 补充数据流分析 |

### 2.2 警告 (影响报告质量)

| ID | 类型 | 位置 | 描述 | 建议 |
|----|------|------|------|------|
| W001 | inconsistency | section-overview/layers | 架构描述不一致 | 统一术语 |

### 2.3 提示 (可选优化)

| ID | 类型 | 位置 | 描述 |
|----|------|------|------|
| I001 | enhancement | section-algorithms | 建议添加复杂度分析 |

## 3. 跨章节关联

\`\`\`mermaid
graph LR
    S1[Overview] --> S2[Layers]
    S2 --> S3[Dependencies]
    S3 --> S4[DataFlow]

    S2 -.->|不一致| S1
\`\`\`

## 4. 报告质量评分

| 维度 | 得分 | 说明 |
|------|------|------|
| 完整性 | 85% | 缺少1个章节 |
| 一致性 | 90% | 2处术语不一致 |
| 深度 | 95% | 符合 ${config.depth} 级别 |
| 可读性 | 88% | 图表清晰 |

## 5. 推荐操作

1. **[必须]** 补充 section-dataflow 章节
2. **[建议]** 统一 Overview 和 Layers 中的架构术语
3. **[可选]** 为算法章节添加复杂度分析
\`\`\`

## 返回格式 (JSON)

{
  "status": "completed",
  "output_file": "consolidation-summary.md",
  "quality_score": {
    "completeness": 85,
    "consistency": 90,
    "depth": 95,
    "readability": 88,
    "overall": 89
  },
  "issues": {
    "errors": [
      {"id": "E001", "type": "missing", "section": "section-dataflow", "desc": "缺少数据流章节"}
    ],
    "warnings": [
      {"id": "W001", "type": "inconsistency", "sections": ["section-overview", "section-layers"], "desc": "架构描述不一致"}
    ],
    "info": [
      {"id": "I001", "type": "enhancement", "section": "section-algorithms", "desc": "建议添加复杂度分析"}
    ]
  },
  "stats": {
    "total_sections": 5,
    "total_diagrams": 8,
    "total_code_refs": 42,
    "total_words": 3500
  }
}
`
})

问题分类

严重级别 前缀 含义 处理方式
Error E 阻塞报告生成 必须修复
Warning W 影响报告质量 建议修复
Info I 可改进项 可选修复

问题类型

类型 说明 检查范围
missing 缺失章节 必需章节列表
inconsistency 不一致 术语、命名、描述
invalid_ref 无效引用 代码引用、图表引用
syntax 语法错误 Mermaid 图表
shallow 内容过浅 深度级别要求
enhancement 增强建议 最佳实践

与 Phase 4 的集成

// Phase 4 装配时读取汇总报告
const summary = JSON.parse(Read(`${outputDir}/consolidation-summary.md`));

if (summary.issues.errors.length > 0) {
  // 阻止装配,提示用户
  return AskUserQuestion({
    questions: [{
      question: `发现 ${summary.issues.errors.length} 个严重问题,如何处理?`,
      header: "质量检查",
      multiSelect: false,
      options: [
        {label: "查看并修复", description: "显示问题,手动修复"},
        {label: "忽略继续", description: "跳过检查,继续装配"},
        {label: "终止", description: "停止报告生成"}
      ]
    }]
  });
}

// 在报告中插入质量评分
insertQualityScore(report, summary.quality_score);

Output

  • 文件: consolidation-summary.md
  • 返回: 质量评分 + 问题列表 + 统计信息