招标文件拆分解读。当用户上传招标文件(PDF/DOCX/图片/多文件)并表达"解读招标文件""拆解招标文件""分析招标文件""标书解读""招标文件分析""提取招标文件关键信息""招标文件要点梳理""看看这个标有什么坑"等意图时触发。按7大模块(项目基本信息、资格性审查、符合性审查、商务要求、技术要求、废标项、评标办法与评分标准)+倾向性与排他性审查,结构化解读并输出标准化表格+要点清单+风险提示。不适用于合同审查、投标文件编制、评分/中标模拟预测、投标报价计算、质疑函/投诉书撰写——遇到此类请求应礼貌说明范围并引导至对应技能,不强行作答。
Documents
标准语料分类器
Try it将一批标准 PDF(国家 GB / 行业 QX·JB·YY… / 地方 DB11·DB31…)按「级别 × 领域」自动归置: 解析文件名中的标准代号,查注册表得级别与归属,按名称关键词分入编号领域子文件夹, 并产出 CSV 编目与 HTML 可视化报告,支持按分类/年份/标准号/名称筛选打包下载。 This skill should be used when a user has a folder of standard PDFs (国家标准/行业标准/地方标准/团体标准/企业标准) and wants them classified, organized into domain subfolders, or inventoried — e.g. "把这批标准按建筑、食品、交通等分类", "整理一下地方标准文件夹", "给这些 PDF 出个分类目录", "下载某分类/某年度标准".
What it does
将一批标准 PDF(国家 GB / 行业 QX·JB·YY… / 地方 DB11·DB31…)按「级别 × 领域」自动归置: 解析文件名中的标准代号,查注册表得级别与归属,按名称关键词分入编号领域子文件夹, 并产出 CSV 编目与 HTML 可视化报告,支持按分类/年份/标准号/名称筛选打包下载。 This skill should be used when a user has a folder of standard PDFs (国家标准/行业标准/地方标准/团体标准/企业标准) and wants them classified, organized into domain subfolders, or inventoried — e.g. "把这批标准按建筑、食品、交通等分类", "整理一下地方标准文件夹", "给这些 PDF 出个分类目录", "下载某分类/某年度标准".
The skill document
标准语料库分类(级别 × 领域)
把零散的标准 PDF 沉淀为可检索的语料库:按级别(国家/行业/地方,来自标准代号前缀)
与领域(建筑/交通/农林/环境…,来自标准名称关键词)双重归类,移入 01_领域 编号
子文件夹,并生成 standards_categorized.csv 编目。
何时使用
- 用户有一批标准 PDF 需要分类、整理进文件夹或出编目 CSV。
- 用户提到按主题归类标准(建筑、食品、交通、环境、医疗…)。
- 用户的语料可能是国家(GB)、行业(QX/JB/YY/…)、地方(DB11 北京 / DB31 上海 / …) 任一级别。
- 支持扩展到任意省份/行业:编辑
references/sources.json追加代号即可(无需联网)。
核心机制(关键洞察)
标准代号前缀天然编码「级别 + 归属」:
GB/GB_T→ 国家;QX→ 气象行业;DB11→ 北京地方;DB31→ 上海地方……- 领域分类(关键词)与级别正交,因此一套分类引擎通吃所有级别。
用法
脚本位于 scripts/classify_standards.py,从自身位置自动加载 references/sources.json
与 references/domains.json:
# 干跑(仅统计,不移动、不写文件)
python scripts/classify_standards.py CORPUS_DIR --dry
# 实际执行:递归扫描 CORPUS_DIR 下所有 PDF,
# 分类后写入 CORPUS_DIR/pdfs/01_领域/…,并生成 CORPUS_DIR/standards_categorized.csv
python scripts/classify_standards.py CORPUS_DIR
参数:
CORPUS_DIR:含 PDF 的目录。脚本递归扫描,所以 PDF 放在根目录或pdfs/子目录均可; 已正确归位的文件会被跳过,放错的文件会自动挪正(可重复运行)。--dry:仅预览,不动文件。--sources PATH/--domains PATH:覆盖默认注册表 / 领域表(用于 per-corpus 定制)。--out SUBDIR:PDF 输出子目录名,默认pdfs。
输出 standards_categorized.csv 列:领域 / 级别 / 归属 / 标准类型(强制·推荐) / 年份 /
标准号 / 名称 / 子文件夹。
可视化 HTML 报告(自包含 / 离线可用)
分类完成后,用 scripts/make_report.py 把 CSV 渲染成一份可双击打开的 HTML 报告
(统计卡片 + 领域分布条形图 + 年份分布图 + 级别/归属占比 + 可展开领域明细)。
无任何外部 CDN 依赖,断网也能看。
# 读取 classify_standards.py 产出的 CSV,生成报告
python scripts/make_report.py CORPUS_DIR/standards_categorized.csv \
--title "北京市地方标准(DB11)" \
--out CORPUS_DIR/分类可视化报告.html
--title:报告标题(默认「标准语料分类报告」)。--out:输出 HTML 路径(默认report.html)。- 报告内「领域明细」用 `` 折叠,默认收起,点击展开可看该领域全部标准号+名称。
- 报告另含「按年份浏览」折叠区:每年显示总数、领域分布与可展开标准列表。
按年份归类与导出(下载子集)
除"按领域"分类外,支持"按发布年份"维度与"下载子集":
- 建年度文件夹:分类时加
--year-folders,在/by_year/YYYY/下用硬链接复制出按年份组织的视图(与领域文件夹指向同一文件,不占额外磁盘)。 - CSV 含「文件名」列:导出时据此精确定位源文件。
- 导出/下载某一分类、某一年度,或按标准号/名称模糊查找:
scripts/export_standards.py按--domain/--year/--stdno(标准号) /--name(标准名称) 过滤 CSV,把匹配 PDF 打包成 zip(即"下载该子集")。各条件为 AND 组合;--stdno/--name为子串模糊匹配(忽略大小写);--list仅预览不打包。
# 下载(导出)某一分类
python scripts/export_standards.py CORPUS_DIR/standards_categorized.csv --domain 安全生产 --out 安全生产.zip
# 下载(导出)某一年度
python scripts/export_standards.py CORPUS_DIR/standards_categorized.csv --year 2024 --out 2024年度.zip
# 按标准号模糊查找下载(如含 1031 的全部标准)
python scripts/export_standards.py CORPUS_DIR/standards_categorized.csv --stdno 1031 --out 含1031.zip
# 按标准名称模糊查找下载
python scripts/export_standards.py CORPUS_DIR/standards_categorized.csv --name 大气污染物 --out 大气污染物.zip
# 组合:某分类 + 某年度 + 名称关键词
python scripts/export_standards.py CORPUS_DIR/standards_categorized.csv --domain 安全生产 --year 2024 --name 加油站 --out 安全生产_2024_加油站.zip
# 全量导出(不指定任何过滤条件时默认拒绝,需显式 --all)
python scripts/export_standards.py CORPUS_DIR/standards_categorized.csv --all --out 全部标准.zip
安全约束(对抗式审查已验证):
- 源文件严格限制在语料目录内:恶意 CSV 行用
子文件夹=..指向语料外文件会被判为缺失、不会装入 zip(防路径遍历读取外泄)。 - zip 内部路径用
_净化并拦截..,不会出现../x.pdf这类逃逸项(防 zip-slip 解压越界)。 - CSV 缺失给出友好报错,不会抛 traceback。
- 不指定任何过滤条件时默认拒绝导出整个语料(防误下载数 GB);确需全量请加
--all,或加--list仅预览。
事实一致性核验(防幻觉机制)
本技能的产出(CSV/PDF 归类/报告数字)全部由确定性脚本从文件名+注册表算出,不调用任何 LLM,
因此必须可验证、可追溯。发布前或每次重跑后,用 verify_consistency.py 断言以下不变量,
任意一项失败即说明产物有错(或幻觉),必须修复后再发布:
# 核验 CSV 行数==实际PDF数、文件名可追溯、领域无空、标准号无重复、报告数字一致
python scripts/verify_consistency.py CORPUS_DIR \
--report CORPUS_DIR/分类可视化报告.html
断言项:
CSV 行数 == pdfs/ 下实际 PDF 文件数(无丢行/多行)- 每行「文件名」都能在
pdfs/<子文件夹>/<文件名>真实找到(无虚构条目) - 领域列无空值(无未归类)
- 标准号无重复(无编造/重复计数)
- 报告 HTML 中声称的总数 == CSV 行数
已实测:北京 DB11(2420 份,2003–2026,24 年度)、气象 QX(767 份,2000–2026,27 年度) 均通过以上 5 项断言,0 缺失 / 0 空领域 / 0 重复。
发布前自查(引用 skill-publish-checklist)
本技能上架前,除上面的事实一致性核验外,另需跑通用发布检查清单
skill-publish-checklist 做元数据 / 安全 / 署名 / 打包的端到端自查(二者配合,
前者管"产物无幻觉",后者管"能安全上架"):
python /scripts/check_publish.py \
<本技能所在目录>
该清单覆盖:frontmatter 字段齐全、危险 API 静态扫描、作者署名校验、 资源完整性、打包校验,输出 ✅/⚠️/❌ 结论。
真实官方平台链接(已内置)
references/sources.json 已预置全国 31 省/自治区/直辖市 + 深圳(计划单列市) 的
专属平台与统一兜底平台(公开汇总 + 联网核验,2026-08):
- 国家:
https://std.samr.gov.cn/(全文https://openstd.samr.gov.cn/) - 行业备案:
https://hbba.sacinfo.org.cn - 地方(覆盖全部 31 省/市/区):
https://dbba.sacinfo.org.cn - 各省级
portal见sources.json的local条目(如河南hndb41.com、 广东amr.gd.gov.cn/standard/、深圳amr.sz.gov.cn/.../szsdfbz/)。
注:部分省级站点可能更新域名或仅提供目录(不全文),以实际访问为准; 兜底平台
dbba.sacinfo.org.cn永远可用。
扩展(用户加链接,无需联网)
- 加省份/行业:在
references/sources.json的local/industry下追加"DBxx": {"name": "归属名", "level": "地方", "portal": "https://...", "aggregator": "https://dbba.sacinfo.org.cn"}。 此后凡含该代号的 PDF 都会自动标上正确级别/归属。 - 子级市自动回退:
DB4403(深圳) 等子级市代码若未单列,脚本自动回退到省级DB44(广东) 并标注子级代号,无需手动配置。 - 改领域集:复制
references/domains.json改成自定义领域与关键词,运行时用--domains 自定义.json。领域顺序即匹配优先级(靠前的先命中)。
已知坑与边界(务必注意)
- 文件名含下划线+空格:如
DB11_ 2567-2026_名称.pdf(北京强制性标准), 不是DB11_T。解析器按「首个空白切分」已兼容,但若手工构造正则须保留此容错。 - 关键词首匹的边界误分:分类按名称关键词首次命中,跨领域标准可能落错类
(如「印刷工业大气污染物排放标准」因含「印刷」归入文化旅游而非环境)。
缓解:在
domains.json调关键词或顺序;属已知局限,非 bug。 - 关键词碰撞:如「蒸压加气混凝土」(建材) 易被能源类裸词「加气」」误命中—— 已改为「加气站」规避。新增关键词时留意类似子串碰撞。
- 实时搜索(Phase 2 发现机制):发现未知省份/行业官网并固化,流程如下
(agent 执行,脚本只做安全写回):
- 遇到
sources.json未登记的代号 → 用 WebSearch 搜「XX省 地方标准 信息公开平台」 或「XX行业 标准 备案平台」,拿到官方网址; - 调用
scripts/discover_sources.py --code DBxx --name 归属 --portal https://...安全写回(先自动备份sources.json.bak); - 之后该代号即纳入注册表,下次直接命中。
python scripts/discover_sources.py --code DB44 --name 广东 --portal https://amr.gd.gov.cn/standard/ - 遇到
- 代号未配置:未在
sources.json登记的代号,仍按领域分类,级别/归属标为「未配置」; 发现后可走上面 Phase 2 流程补录。
已验证语料(真实性背书)
本技能已在真实语料上跑通并通过 verify_consistency.py 全部断言:
- 北京 DB11 地方标准:2420 份(2003–2026,24 年度),0 缺失 / 0 空领域 / 0 重复。
- 气象 QX 行业标准:767 份(2000–2026,27 年度),并配套
references/qx_domains.json(12 类专属 taxonomy,可作 per-corpus 覆盖示例)。
Related skills
Extract & classify key clauses from contract PDFs into a structured risk summary — with bilingual (CN/EN) support.
Word / PDF / PPT 文档解析与数据分析引擎。覆盖三类文件格式的全量提取、表格数值化、图表理解与跨文档汇总分析。**遇到以下任一情况就主动使用本 skill**:①用户上传或指定了 .docx / .doc / .pdf / .pptx / .ppt 文件并要求分析、提取或统计其中内容;②用户出现触发词:Word分析 / PDF解析 / PPT提取 / 文档分析 / 报告解析 / 幻灯片分析 / 发票提取 / 合同分析 / 文档统计 / 错别字 / 语病 / 字号检查 / 简历分析 / 多文档对比;③任务涉及从文档中提取表格、数值、图表、格式(颜色/高亮/字号)、组织架构、时间线等结构化信息。仅不用于:Excel/CSV 数据分析(使用 sn-da-excel-workflow)、纯图片分析(使用 sn-da-image-caption)。
建筑规范→AI Skill转换器。将建筑设计规范、国家标准(GB)、行业规程、法律法规转化为可查询的条文系统——按触发条件索引每一条条文,保留应/宜/可/不应/不得的法律效力措辞原文,提取数据表格为结构化JSON,绘制跨规范引用关系图。输入'把这个规范做成skill'/'查这条规范'/'建立规范知识库'即可使用。面向中国建筑设计规范(GB 50xxx系列)优化,也可适配任何地区的技术法规。内置自包含PDF提取引擎(本 skill 自带 scripts/extract.py + book_to_skill/,无需外部安装)。| Convert building codes/GB standards/regulations into structured queryable skills — indexing clauses by trigger, preserving mandatory-force wording, extracting tables as JSON. Use when user says 'code to skill' or '把规范做成skill'.
跟踪国家标准(GB/GB/T)更新变化,支持任意ICS分类。从openstd.samr.gov.cn获取最新现行标准列表,自动比对本地已下载标准,发现新增/废止/状态变更,支持批量下载PDF。
政府采购 / 企业招标文件解读与深度分析助手。当用户上传招标文件(PDF / DOCX / 图片)或说"解读这份标书 / 拆解招标文件 / 标书解读 / 算价格分 / 提取废标条款 / 出风险清单 / 出Excel清单 / 生成投标框架"时触发。默认输出 6 大模块结构化解读(项目信息 / 资格性 / 符合性 / 商务红黄预警 / 技术要求 / 废标项);当用户进一步要求"价格分测算 / 出 Excel / 投标框架 / 投标建议"时,额外生成含价格分情景测算的 6-Sheet Excel 与投标研判摘要。基于公开工商信息 / 行业惯例给出红黄预警,疑似违规 / 歧视性 / 差别待遇条款须调用