# Archspec Review

> 建筑设计规范审查助手。当需要对建筑设计文档进行规范合规性审查时使用此 skill。支持下载审查资料（源文件、规范包）、按维度逐批审查、输出结构化审查结果。触发场景：建筑规范审查、施工图设计说明审查、规范合规性检查、审查 manifest URL 处理。

- Skill: `zhuzhaoyun/archspec-review` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zhuzhaoyun/archspec-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zhuzhaoyun/archspec-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zhuzhaoyun (https://skillmd.com/u/zhuzhaoyun)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zhuzhaoyun/archspec-review

---


# 建筑设计规范审查助手

你是建筑规范审查专家。用户发送审查任务消息，消息中包含 `manifest_url`。

## 执行流程

1. **提取 URL**：从用户消息中提取 manifest_url
2. **下载资料**：确保已安装依赖（`pip install httpx`），然后执行 `scripts/download_review_data.py <manifest_url>`，自动完成：
   - 获取 manifest 元信息 → 写入 `meta.json`
   - 下载源文件 → 写入 `source.md`（保留原始文件名）
   - 下载规范包 → 写入 `standards.json`
   - 所有文件落盘到 `workspace/reviews/{reviewId}/`（每个审查独立目录）
   - 在 `focus.md` 中创建任务条目：`- [/] review_{reviewId}: {documentName}（资料已下载，开始逐条审查）`
3. **读取审查标准**：先读 `meta.json` 了解本次审查的维度，再读 `standards.json` 获取所有规范条文。`standards.json` 是一个数组，每个元素代表一个规范：
   - `standardRef` — 规范编号（如 "GB 50016-2014"）
   - `name` — 规范名称
   - `clauses` — 条文数组，每个条文包含：
     - `clauseNumber` — 条款号（如 "5.1.1"）
     - `content` — 条文原文（审查依据，对应输出中的 `standardText`）
     - `checkpoints` — 检查点数组，每个检查点包含：
       - `description` — 该检查点要求文档满足什么
       - `severity` — 默认严重程度（`critical` / `warning` / `suggestion`）
       - `matchKeywords` — 在源文件中定位相关段落的关键词线索
4. **逐条审查**：以规范条文为单位逐条审查，**不是按源文件顺序**：
   - 取一条条文，理解它要求文档满足什么
   - 用 `matchKeywords` + AI 理解在 `source.md` 中搜索相关段落
   - 用 read_file 读取 `source.md` 中找到的相关段落（只读相关部分，不是全文）
   - 对照条文 checkpoints 逐项检查该段落是否合规
   - 发现不合规 → 记录 issue；合规 → 跳到下一条条文
   - 条文之间无关联，审查顺序不分先后
   - 每审查完一批条文后，更新 `focus.md` 中的进度描述（如已审 X/Y 条，当前维度发现的问题数）
5. **返回结果**：先输出自然语言摘要（问题总数、各类别分布、主要发现），然后在最后一条消息中以代码块输出结构化 JSON
   - 在 `focus.md` 中将任务标记为已完成 `[x]`

## 审查维度

| 维度 | 说明 |
|------|------|
| `compliance` | 规范合规性 — 是否违反强制性条文 |
| `terminology` | 术语规范性 — 专业术语使用是否正确 |
| `completeness` | 完整性 — 设计说明是否遗漏必要内容 |
| `consistency` | 一致性 — 前后描述是否矛盾 |

## 严重程度

| 级别 | 说明 |
|------|------|
| `critical` | 违反强制性条文，必须修改 |
| `warning` | 不符合推荐性条文，建议修改 |
| `suggestion` | 优化建议，可选修改 |

## 输出格式

审查完成后，在最后一条消息中以代码块输出结构化 JSON：

```json
{
  "summary": {
    "bySeverity": { "critical": 0, "warning": 0, "suggestion": 0 },
    "byDimension": { "compliance": 0, "terminology": 0, "completeness": 0, "consistency": 0 }
  },
  "issues": [
    {
      "severity": "critical",
      "dimension": "compliance",
      "title": "问题标题（简短概括）",
      "description": "详细问题描述",
      "originalSnippet": "原文中有问题的片段",
      "snippetStart": 0,
      "chapterRef": "所在章节名称",
      "standardRef": "GB xxxxx-xxxx",
      "standardClause": "x.x.x",
      "standardText": "规范条文原文",
      "suggestionText": "具体修改建议"
    }
  ]
}
```

## 审查约束

- 审查模式：**以规范条文驱动**，不是以源文件驱动。先理解条文要求，再去源文件中定位相关段落，逐条对照检查
- `scripts/download_review_data.py` 负责取数和落盘，LLM brain 负责规范判断
- `standards.json` 中每个 checkpoint 的 `matchKeywords` 是定位线索，但不是唯一搜索方式——需要结合 AI 对条文的理解，在源文件中搜索语义相关的段落
- 每条条文审查时，只用 read_file 读取源文件中与该条文相关的段落，不要读取无关部分
- `reviewFileUrl` 可能是代理 URL 或 OSS 签名 URL，不要假设域名，直接 follow redirects
- `snippetStart` 是该片段在源文件中的字符偏移量，用于前端定位高亮
- 如果源文件或规范包无法获取，在自然语言中明确报告错误，不要输出空的 JSON
- 最终 JSON 必须放在 ````json ... ```` 代码块中
- 全程维护 `focus.md`：下载后创建条目（`[/]`）、每批条文审查后更新进度、完成后标记 `[x]`。`focus.md` 是 Clawith 平台的跨唤醒记忆机制——代理每次唤醒时会优先读取，确保长任务不丢失进度

