construction-material-check-freelisted
Install: claude install-skill chenqg618/compliance-skills
# 建筑工程材料用量与损耗核对(免费版)
> **完全本地运行**:引擎已经打包在本技能里(`engine/` 目录)。
> 核对过程不需要联网、不需要 API Key、**没有调用次数上限**、材料不出本机。
## 什么时候用
**谁在什么时候用**:项目物资员 / 施工员 / 预算员 / 成本会计在**每个分部分项完工、每月物资盘点与成本归集、
限额领料考核结算之前** —— 「材料需用计划与实际消耗对照表」是材料成本、超耗扣款与物资台账的原始依据,
签完再改就要走签证 / 变更流程。
**这张表会逐项核对什么**(免费版执行 6 类,逐条都带**原文行号**):
1. **损耗量复算** —— 损耗量 = 领用量 − 实际消耗量,差 0.01 也会报。
2. **损耗率复算** —— 损耗率 = 损耗量 ÷ 领用量 × 100%,分母是**领用量**。
3. **损耗率与参考上限比对** —— 用表内「损耗率上限」列;表里没有这一列时按参考上限 5.00% 提示。
4. **需用计划量与实际消耗量差异** —— 实耗量超过需用计划量时报出超出多少、超出几个百分点。
5. **合计行逐列复核** —— 合计行的需用计划量 / 领用量 / 实际消耗量 / 损耗量 = 各明细行之和。
6. **重复材料行与关键字段空缺** —— 同一分部分项 + 同一期间 + 同一材料 + 同一规格出现两次以上;
必需列为空或写着「待填 / 待补 / — / N/A」。
每条结论都带**原文行号与算式**,可被第三方用同一份输入复算;
材料不足时**不给结论**,会明确列出还缺什么,也不会用默认值编出结论。
## 这个免费版查什么
上面 6 类就是本版本执行的全部检查项。跑 `--sample` 会在 `scope.checks` 里打印本次实际执行了哪些,
`scope.checks_not_run` 会如实列出**本版本没有执行**的检查项(只列出,不会伪造结论)。
## 怎么用
```bash
node scripts/run.mjs --sample # 先看样例(样例本身就是一张自洽的对照表)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json # 机器可读输出
```
入参两种写法都行:
- `{"text": "(把表的**表头**和若干行一起复制进来,Tab 分隔最稳)"}`
- 直接把「材料需用计划与实际消耗对照表」(**含表头**)从 Excel 复制成文本贴进 `.json` 里;
文件不是合法 JSON 时整体按纯文本材料处理。
必需列(缺一列就不给结论):分部分项工程、期间、材料名称、需用计划量、领用量、实际消耗量、损耗量、损耗率。
可选列:规格型号、单位、损耗率上限、单价、备注(不填也能跑;损耗率上限缺失时退化成参考上限 5.00%)。
## 出参
- `status`:`success` 才有结论;`insufficient_input` 表示材料不足,此时**没有** `result`、**没有** `findings`,
只有 `missing`(缺什么)与 `advice`(怎么补)。
- `result.findings[]`:每条含 `level`(P0/P1/P2)、`catego