QualityReportGenerateSkill quality-report-generate

此技能用于生成章节内容的质量报告,包括验证结果汇总、质量指标计算、生成Markdown和JSON格式的报告,以及提供部署决策支持。

测试 0 次安装 0 次浏览 更新于 3/1/2026

质量报告生成技能

目的

此技能生成最终的质量报告,记录有关章节生成和验证的所有内容。报告:

  • 汇总所有验证结果(来自之前的关卡)
  • 计算质量指标(内容大小、结构复杂性、准确性)
  • 生成人类可读的Markdown报告以供审查
  • 创建机器可读的JSON指标用于跟踪和CI/CD
  • 提供部署决策(通过/失败/需要审查)

这是验证关卡之前的最终技能,产生批准或拒绝章节部署所需的证据。

需要做什么

  1. 收集所有验证工件

    • 加载validation_structure.json(关卡1结果)
    • 加载validation_semantic.json(关卡2结果)
    • 加载consolidation_log.json(合并数据)
    • 加载最终的chapter_XX.html文件
  2. 从章节提取元数据

    • 解析HTML以提取结构
    • 计算内容元素(标题、段落、列表)
    • 计算字数和内容大小
    • 验证CSS类使用情况
  3. 计算质量指标

    • 整体验证分数(0-100)
    • 结构合规百分比
    • 语义合规百分比
    • 内容完整性估计
    • 准确度得分(如果有参考数据)
  4. 生成Markdown报告

    • 创建人类可读的验证报告
    • 包括摘要状态(✅ 通过 / ⚠️ 审查 / ❌ 失败)
    • 记录所有验证结果
    • 列出发现和建议
  5. 生成JSON指标

    • 机器可读指标用于跟踪
    • 适用于CI/CD管道
    • 支持自动质量仪表板
    • 支持趋势分析
  6. 保存两种报告格式

    • 保存:output/chapter_XX/chapter_artifacts/CHAPTER_XX_VERIFICATION.md
    • 保存:output/chapter_XX/chapter_artifacts/quality_metrics.json
    • 为两个文件添加时间戳
    • 创建摘要统计数据

输入文件

验证报告(来自之前的关卡):

  • validation_structure.json - HTML结构验证结果
  • validation_semantic.json - 语义验证结果
  • consolidation_log.json - 页面合并元数据

章节内容

  • chapter_XX.html - 最终合并的HTML
  • page_artifacts/page_YY/*.html - 单页HTML(可选,用于分析)

参考数据(可选):

  • page_artifacts/page_YY/02_page_XX.png - 原始PDF页面(用于视觉比较)

质量指标计算

整体验证分数(0-100)

base_score = 100

# 扣除结构问题
if structure_errors > 0:
    base_score -= (structure_errors * 10)

# 扣除语义问题
if semantic_errors > 0:
    base_score -= (semantic_errors * 5)

# 扣除警告
warning_count = structure_warnings + semantic_warnings
base_score -= (warning_count * 2)

# 语义类奖励
if semantic_classes_ratio > 0.8:
    base_score += 5

overall_score = max(0, min(100, base_score))

内容完整性

expected_pages = last_page - first_page + 1
pages_with_content = count_pages_with_substantial_content()
completeness_percent = (pages_with_content / expected_pages) * 100

结构合规性

checks_passed = structure_validation_checks_passed
checks_total = structure_validation_checks_total
compliance_percent = (checks_passed / checks_total) * 100

语义合规性

required_classes = [
    'page-container', 'page-content', 'chapter-header',
    'section-heading', 'paragraph', 'bullet-list'
]
found_classes = [c for c in required_classes if c in html]
compliance_percent = (len(found_classes) / len(required_classes)) * 100

输出:Markdown报告

路径output/chapter_XX/chapter_artifacts/CHAPTER_XX_VERIFICATION.md

示例结构

# 第2章HTML准确性验证报告

## 摘要
**状态**:✅ **VERIFIED ACCURATE**

第2章HTML文档已经经过彻底的准确性和质量验证。所有验证关卡都成功通过。

---

## 整体质量指标

| 指标 | 值 | 目标 | 状态 |
|--------|-------|--------|--------|
| **整体质量分数** | 96/100 | ≥85 | ✅ PASS |
| **结构验证** | 100% | 100% | ✅ PASS |
| **语义验证** | 98% | ≥90% | ✅ PASS |
| **内容完整性** | 100% | 100% | ✅ PASS |
| **视觉准确性** | 94% | ≥85% | ✅ PASS |

---

## 内容摘要

### 页面
- **书籍页面**:16-29(14页)
- **PDF索引**:15-28
- **章节**:2 - 房地产权利

### 内容元素
- **总段落数**:156
- **总标题数**:28(1 h1, 4 h2, 23 h4)
- **总列表数**:12(132总项)
- **总表格/展览**:3
- **总图片数**:5
- **总字数**:12,547

---

## 验证结果

### ✅ HTML结构验证(通过)

所有结构检查通过:
- ✓ HTML5 DOCTYPE有效
- ✓ `<html>`, `<head>`, `<body>`标签正确形成
- ✓ 元字符集和视口标签存在
- ✓ 标题标签具有描述性内容
- ✓ CSS样式表链接正确
- ✓ `<div class="page-container">`包装器存在
- ✓ `<main class="page-content">`结构有效
- ✓ 所有标签正确匹配和关闭
- ✓ 没有未关闭或不正确嵌套的标签

**错误**:0
**警告**:0

### ✅ 语义验证(通过)

所有语义检查通过:
- ✓ 所需的CSS类存在且正确
- ✓ 标题层次结构有效(无跳跃,逻辑流程)
- ✓ 所有段落正确格式化
- ✓ 所有列表结构正确
- ✓ 表格正确格式化
- ✓ 语义类使用一致
- ✓ 页面保持连续格式(无分页)

**错误**:0
**警告**:0

### ✅ 视觉准确性检查(通过)

与原始PDF页面比较:
- 整体相似度:94%
- 页面平均值:94%
- 所有页面≥85%阈值
- 布局与原始匹配
- 内容定位准确
- 文本渲染正确

---

## 合并细节

**章节开头**:第16页(包含章节标题和导航)
**合并**:第16-29页合并为单个连续文档
**合并页面**:14
**移除的页面标题**:13(续页)
**重复内容**:未检测到

**合并日志**:
```json
{
  "pages_merged": 14,
  "pages_include": [...],
  "heading_hierarchy": {
    "h1": 1,
    "h2": 4,
    "h4": 23
  },
  "content_statistics": {
    "paragraphs": 156,
    "lists": 12,
    "tables": 3,
    "images": 5,
    "total_words": 12547
  }
}

CSS类使用

核心结构:page-container, page-content, chapter-header(6类) 内容:section-heading, subsection-heading, paragraph, bullet-list, bullet-item(12类) 展览:exhibit, exhibit-table, exhibit-title, exhibit-header(4类) 导航:section-navigation, nav-item(2类) 特殊:section-divider, page-footer(2类)

总唯一类:26 找到所需类:6/6(100%)


问题与发现

✅ 未发现关键问题

  • ✓ 没有缺少部分
  • ✓ 没有缺少内容
  • ✓ 没有结构问题
  • ✓ 没有内部链接中断
  • ✓ 没有无效HTML
  • ✓ 没有语义违规

⚠️ 次要注释

  • 无 - 所有验证关卡通过

生成过程

提取:从PDF页面提取丰富数据(文本、字体、图像) ASCII预览:为AI参考创建结构布局 AI生成:使用3输入方法生成单页:

  • 视觉参考(PDF的PNG渲染)
  • 解析的文本数据(带有元数据的JSON)
  • 布局结构(ASCII预览) 结构验证:验证HTML5合规性 合并:页面合并为连续章节 语义验证:验证结构和类 质量报告:最终指标和状态

准确性评估

标准 结果 评估
内容完整性 100% 所有部分存在
页面覆盖 14/14 所有页面包括
标题准确性 正确的层次结构
列表准确性 所有项目存在
表格准确性 正确的格式
图片引用 正确的路径
语义结构 适当的类
视觉保真度 94% 与原始布局匹配

建议

批准部署

本章节已通过所有质量关卡:

  1. ✓ HTML结构有效
  2. ✓ 满足语义要求
  3. ✓ 内容完整且准确
  4. ✓ 视觉外观与原始匹配
  5. ✓ 准备用于生产用途

后续步骤

  • 部署到生产网站
  • 监控用户反馈
  • 存档验证工件
  • 进行下一章节

技术细节

生成:2025-11-08T14:40:00Z 生成器:Calypso质量报告系统 报告版本:2.0 章节:2 状态:✅ 通过所有关卡

{
  "report_metadata": {
    "chapter": 2,
    "generated_at": "2025-11-08T14:40:00Z",
    "validation_status": "PASS",
    "overall_score": 96,
    "deployable": true
  }
}

报告准备:Calypso验证管道 质量标准版本:2025-11-08 验证状态:✅ 通过


## 输出:JSON指标

**路径**:`output/chapter_XX/chapter_artifacts/quality_metrics.json`

```json
{
  "chapter": 2,
  "title": "房地产权利",
  "book_pages": "16-29",
  "pdf_indices": "15-28",
  "report_generated_at": "2025-11-08T14:40:00Z",
  "overall_status": "PASS",
  "overall_quality_score": 96,
  "deployment_approved": true,
  "validation_results": {
    "structure_validation": {
      "status": "PASS",
      "checks_passed": 10,
      "checks_failed": 0,
      "checks_total": 10,
      "compliance_percent": 100,
      "errors": [],
      "warnings": []
    },
    "semantic_validation": {
      "status": "PASS",
      "checks_passed": 8,
      "checks_failed": 0,
      "checks_total": 8,
      "compliance_percent": 100,
      "errors": [],
      "warnings": []
    },
    "visual_accuracy": {
      "status": "PASS",
      "overall_similarity": 0.94,
      "threshold": 0.85,
      "page_results": [
        {
          "page": 16,
          "similarity": 0.96,
          "status": "PASS"
        },
        {
          "page": 17,
          "similarity": 0.93,
          "status": "PASS"
        }
        // ...所有页面
      ]
    }
  },
  "content_metrics": {
    "total_pages": 14,
    "total_headings": 28,
    "heading_breakdown": {
      "h1": 1,
      "h2": 4,
      "h3": 0,
      "h4": 23
    },
    "total_paragraphs": 156,
    "total_lists": 12,
    "total_list_items": 132,
    "total_tables": 3,
    "total_images": 5,
    "total_words": 12547,
    "estimated_reading_time_minutes": 45
  },
  "structure_metrics": {
    "css_classes_found": 26,
    "required_classes_present": 6,
    "required_classes_total": 6,
    "page_container_valid": true,
    "page_content_valid": true,
    "continuous_format": true,
    "heading_hierarchy_valid": true
  },
  "content_completeness": {
    "expected_pages": 14,
    "pages_with_content": 14,
    "completeness_percent": 100,
    "sections_verified": [
      "Chapter Header",
      "Real Property Rights",
      "Physical Characteristics",
      "Interdependence",
      "Government Rights",
      "Regulations and Licensing"
    ]
  },
  "quality_assessment": {
    "accuracy_level": "HIGH",
    "confidence_level": "HIGH",
    "ready_for_deployment": true,
    "requires_manual_review": false,
    "requires_fixes": false
  }
}