# Food Label Compliance Risks

> Food Label Compliance Risks

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

---


# 食品标签合规审查技能

## 任务目标
- 本 Skill 用于：对上传的食品标签图片/PDF进行自动合规审查，输出审查报告；提供标签违规案例查询和处罚依据参考
- 能力包含：58个审查点全量检查、图片/PDF标签识别（文字提取+视觉检查）、合规判断、修改建议、处罚案例匹配、审查报告生成（Markdown表格/HTML页面）
- 触发条件：
  - 用户上传食品标签图片或PDF，询问"这个标签合规吗？"、"帮我检查标签"、"生成审查报告"
  - 用户咨询标签合规风险、查询违规案例、识别标签漏洞

## 前置准备

### 必需依赖
- **jinja2>=3.0.0**：用于HTML模板渲染

### 文件存储位置
- **图片/PDF临时文件**：保存在工作区临时目录 `./tmp/`（相对于当前工作目录）
- 文件命名建议：使用时间戳或UUID命名，避免冲突（如`tmp/label_20250115_143022.png`）

### 模型选择与内容提取逻辑

#### 模型配置检查
1. **检查模型配置**：
   - 如果配置了多个模型（包括OCR模型）
   - 图片和PDF文件 → 走 **OCR模型** 进行文本提取
   - 同时使用**多模态模型**进行视觉检查

2. **单模型配置**：
   - 如果仅配置单个多模态模型
   - 图片和PDF文件 → 直接使用多模态模型的视觉能力（文字识别+视觉检查）

#### 内容提取流程（双重检查）

**文字提取**：
```
用户上传图片/PDF
    ↓
保存到 ./tmp/ 临时目录
    ↓
检查模型配置
    ↓
    ├─ 多模型配置（含OCR模型）→ 调用OCR模型提取文本
    └─ 单模型配置（仅多模态）→ 使用多模态视觉能力提取文本
    ↓
提取结构化文本内容
    ↓
进行文字内容合规审查
```

**视觉检查**：
```
用户上传图片/PDF
    ↓
保存到 ./tmp/ 临时目录
    ↓
使用多模态模型视觉能力
    ↓
检查标签设计元素：
    - 字体大小（净含量字符高度、强制标示内容字符高度）
    - 字体样式（加粗、下划线、外文字号）
    - 版面布局（净含量与食品名称同版面、警示用语区位置）
    - 图形元素（SC图标、有机标志、绿色食品标志等）
    - 颜色使用（转基因标示颜色、警示用语区）
    - 排版规范（致敏原标注、外文与中文对比）
    ↓
进行视觉设计合规审查
```

#### 支持的文件格式
- **图片**：PNG、JPG、JPEG、GIF、WebP等
- **文档**：PDF（仅支持单页或多页文字提取及视觉检查）

## 操作步骤

### 标准流程

#### 场景一：食品标签合规审查（用户上传图片/PDF）
1. **文件处理**：
   - 用户上传食品标签图片或PDF
   - 文件保存到工作区临时目录 `./tmp/`

2. **双重内容提取**：

   **（1）文字内容提取**：
   - 检查模型配置
   - **多模型配置**：调用OCR模型提取文本
   - **单模型配置**：使用多模态模型视觉能力提取文本
   - 提取内容：名称、净含量、配料表、营养成分表、生产信息等

   **（2）视觉设计检查**：
   - 使用多模态模型视觉能力分析标签设计
   - 检查项目：
     - **字体大小**：净含量字符高度（根据净含量分级）、强制标示内容字符高度（≥1.8mm）
     - **字体样式**：致敏原标注（加粗/下划线）、外文字号（不得大于中文）
     - **版面布局**：净含量与食品名称是否同版面、警示用语区位置（保健食品）
     - **图形元素**：SC图标、有机标志、绿色食品标志、无公害标志、清真标志
     - **颜色使用**：转基因显著标示颜色、警示用语区颜色
     - **排版规范**：致敏原标注方式、外文与中文对比、商标大小

3. **合规审查**：
   - 按照 [审查清单](references/review-checklist.md) 中的58个审查点依次检查
   - 结合文字内容和视觉检查结果
   - 每个审查点判断：合规/不合规
   - 不合规项记录：错误位置、错误原因、修改建议、处罚案例

4. **输出报告**：
   - 默认输出标准Markdown表格
   - 用户要求时生成HTML页面

#### 场景二：HTML审查报告生成
1. 智能体完成审查后，生成结构化审查数据（JSON格式）
2. 使用Jinja2加载 [HTML模板](references/html-template.md)
3. 渲染生成HTML报告
4. 输出HTML文件供用户下载

#### 场景三：查询标签合规风险
1. 确定用户查询的风险类别（基本信息/配料/营养成分/特殊声称等）
2. 查阅对应参考文档中的风险控制点
3. 提供相关易错案例、处罚依据和标准要求

### 可选分支
- **输出格式选择**：
  - Markdown表格：适合快速查看审查结果
  - HTML页面：适合详细审查报告，支持交互式查看（左侧抽屉导航，右侧内容展开）
- **审查范围**：
  - 全量审查：检查全部58个审查点（文字+视觉）
  - 重点审查：用户指定审查某类别（如仅检查营养成分表）

## 视觉检查关键审查点

### 字体大小检查
- **净含量字符高度**（GB 7718-2011第4.1.5.4条）：
  - 净含量≤50g/mL：≥2mm
  - 50g/mL＜净含量≤200g/mL：≥3mm
  - 200g/mL＜净含量≤1kg/L：≥4mm
  - 净含量＞1kg/L：≥6mm
- **强制标示内容字符高度**（GB 7718-2011第4.1.5.3条）：
  - 包装最大表面面积＞35cm²时：≥1.8mm

### 字体样式检查
- **致敏原标注**（GB 7718-2025第4.1.4.3条）：
  - 需加粗或下划线
  - 或在邻近位置单独提示
- **外文字号**（GB 7718-2011第3.8.2条）：
  - 不得大于相应的中文（商标除外）

### 版面布局检查
- **净含量位置**（GB 7718-2011第4.1.5.3条）：
  - 需与食品名称在同一展示版面
- **警示用语区**（保健食品）：
  - 需位于最小销售包装主要展示版面
  - 占版面面积≥20%
  - 字体不小于"保健食品"字样

### 图形元素检查
- **SC图标**：需同时标注完整SC编号
- **有机标志**：需标注17位有机码
- **绿色食品标志**：需符合官方标志样式
- **无公害标志**：需符合官方标志样式
- **清真标志**：需符合宗教要求

### 颜色使用检查
- **转基因标示**：《食品安全法》第六十九条
  - 需显著标示（较大字号、不同颜色）
- **警示用语区**：
  - 需醒目颜色，便于消费者识别

## 资源索引
- 审查清单:见 [review-checklist.md](references/review-checklist.md)(58个审查点，按序检查)
- HTML模板:见 [html-template.md](references/html-template.md)(HTML报告模板，含完整样式和交互脚本)
- 基本信息:见 [risk-01-basic-info.md](references/risk-01-basic-info.md)(8项强制标注、名称真实性等)
- 配料与添加剂:见 [risk-02-ingredients.md](references/risk-02-ingredients.md)(配料顺序、添加剂命名、复合配料展开)
- 营养成分:见 [risk-03-nutrition.md](references/risk-03-nutrition.md)(1+6核心项、声称条件、数值修约)
- 标注格式:见 [risk-04-labeling-format.md](references/risk-04-labeling-format.md)(字符高度、版面位置、外文大小)
- 特殊食品:见 [risk-05-special-foods.md](references/risk-05-special-foods.md)(进口食品、保健食品、特医食品)
- 特殊声称:见 [risk-06-special-claims.md](references/risk-06-special-claims.md)(零添加、有机、绿色、无公害等)
- 生产信息:见 [risk-07-production-info.md](references/risk-07-production-info.md)(生产日期、保质期、委托加工、许可证)
- 其他风险:见 [risk-08-other.md](references/risk-08-other.md)(致敏原、产地、辐照、转基因等)

## 注意事项

### 文件存储与清理
- 临时文件保存在 `./tmp/` 目录
- 建议审查完成后清理临时文件，避免占用磁盘空间
- 文件命名使用时间戳或UUID，避免冲突

### 模型选择
- **多模型配置**：图片/PDF自动走OCR模型提取文本 + 多模态模型视觉检查
- **单模型配置**：使用多模态模型同时完成文字识别和视觉检查
- 确保模型支持所需格式（PNG、JPG、PDF等）

### 双重检查原则
- **文字内容检查**：提取文本后按58个审查点检查文字内容合规性
- **视觉设计检查**：使用多模态模型视觉能力检查字体、排版、图形、颜色等设计元素
- 两者结合，确保全面合规

### 数据安全
- OCR模型处理的数据存储在模型提供商的服务器
- 需遵守模型服务商的隐私政策
- 临时文件建议定期清理

### 其他注意事项
- 所有案例均来自市监学习驿站、悟空wukong、食品卫士等权威来源
- 涉及2025-2026年新标准(GB 28050-2025、GB 7718-2025)需特别注意
- 处罚依据主要为《食品安全法》第124、125条及各类管理办法
- 图片识别时注意区分标签正反面，确保信息完整
- 视觉检查需关注字体、排版、图形、颜色等设计细节
- 审查报告需清晰标注不合规项的具体位置和修改建议

## 使用示例

### 示例1：标签图片合规审查（Markdown输出）
**用户请求**：上传食品标签图片，询问"这个标签合规吗？"

**执行方式**：
1. 图片保存到 `./tmp/label_20250115_143022.png`
2. 检查模型配置：
   - **多模型配置**：
     - OCR模型提取文本内容
     - 多模态模型进行视觉检查（字体、排版、图形、颜色）
   - **单模型配置**：
     - 多模态模型同时完成文字识别和视觉检查
3. 提取标签内容：名称、配料表、营养成分表等
4. 视觉检查：净含量字符高度、致敏原标注、外文字号等
5. 按照58个审查点依次检查（文字+视觉）
6. 输出Markdown表格：

| 审查点 | 是否合规 | 检查内容 |
|--------|----------|----------|
| 生产许可证编号 | ❌ 不合规 | 未标注生产许可证编号，仅标SC图标。**错误位置**：标签正面底部。**修改建议**：标注完整SC编号。**后果**：罚款5000元 |
| 净含量字符高度 | ❌ 不合规 | 净含量5kg，字符高度仅3mm（要求≥6mm）。**错误位置**：标签正面。**修改建议**：将字符高度调整至≥6mm。**后果**：罚款1万元 |
| 食品名称 | ✅ 合规 | 名称"沙琪玛"反映真实属性 |
| 致敏原标注 | ✅ 合规 | 乳粉已加粗标注 |
| ... | ... | ... |

---

### 示例2：标签PDF合规审查（HTML输出）
**用户请求**：上传标签设计PDF，要求生成HTML审查报告

**执行方式**：
1. PDF保存到 `./tmp/label_design_20250115_143022.pdf`
2. 检查模型配置，进行双重检查：
   - 文字内容提取
   - 视觉设计检查
3. 完成合规审查，生成结构化数据
4. 使用Jinja2加载 [html-template.md](references/html-template.md) 模板
5. 渲染生成HTML报告
6. 输出HTML文件，特征：
   - 左侧抽屉导航：显示所有审查点，点击可展开/折叠
   - 右侧内容区：显示选中审查点的详细信息（文字+视觉问题）
   - 支持按合规/不合规筛选

---

### 示例3：重点审查某类别
**用户请求**："重点检查这个标签的营养成分表和字体大小是否合规"

**执行方式**：
1. 执行营养成分表相关审查点（文字内容）
2. 执行字体大小相关审查点（视觉检查）
3. 输出该类别的审查结果

---

### 示例4：查询违规案例
**用户请求**："营养成分表必须标哪些项目？净含量字符高度有什么要求？"

**执行方式**：
1. 查阅 risk-03-nutrition.md：提供"1+6核心项"要求
2. 查阅 risk-04-labeling-format.md：提供净含量字符高度分级要求
3. 提供易错案例和处罚依据

