agentsclimarketplace

Gmt plot verify

Skill zhongpenggeo/gmt_plot_skill/.claude/skills/gmt_plot-verify

GMT 图件布局校验技能。调用 `scripts/verify_plot.py` 脚本,对绘制完成的 GMT 图件进行两项核心检测: 图例/色标/比例尺是否覆盖主图框边框,以及是否放置在数据高密度区域。输出结构化的校验报告, 作为后续图件修饰的反馈指导。触发场景:GMT 图件已生成、需要检查图件布局质量、修饰前需要定位具体排版问题。From its SKILL.md

Install
npx -y skills add zhongpenggeo/gmt_plot_skill --skill gmt_plot-verify

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.2 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

GMT 图件布局校验技能

你是一个地学图件排版审阅专家。核心流程:调用 scripts/verify_plot.py 脚本,对 GMT 图件(PNG/JPG)进行两项核心检测:

  1. 图例/色标/比例尺是否覆盖了主图框边框
  2. 图例/色标/比例尺是否放置在数据高密度区域

设计理念

gmt_plot:compare(依赖视觉模型做整体质量评估)不同,本技能使用程序化图像分析做像素级检测,专注于布局层面的两个关键问题:边框重叠和密度遮挡。这两项是 GMT 图件最常见且最影响专业性的布局问题。

前提条件

  1. 确认 PNG/JPG 图件文件已生成且可访问
  2. plan.md 已由 gmt_plot:plan 生成(用于判断图中应有哪些组件)
  3. 依赖安装:pip install opencv-python-headless numpy Pillow

检测逻辑

计划驱动

脚本解析 plan.md只检测计划中明确提到的元素,避免将地图特征误判为组件:

场景行为
plan 提到色标检测色标,未找到则报告 ❌
plan 提到图例检测图例,未找到则报告 ❌
plan 提到比例尺检测比例尺,未找到则报告 ❌
plan 提到图例跳过图例检测
未提供 plan检测所有元素(兼容模式)

检测项一:边框覆盖检测

  1. 检测主图框(内容边界扫描法,识别图框四条边)
  2. 检测色标条(梯度分析法,搜索主图框外三个方向)
  3. 检测图例(轮廓拟合法,搜索主图框内部带边框的浅色矩形)
  4. 检测比例尺(水平梯度法,搜索图框底部交替黑白矩形模式)
  5. 逐一检查每个已检测到的组件是否与主图框边框重叠(含 3px 边框/刻度容差)

报告内容:

  • ❌ 不合格:组件与图框边框重叠
  • ✅ 通过:组件与图框边框间有间距

检测项二:密度放置检测

  1. 主图框内部划分为 8×8 网格
  2. 每格计算颜色方差(60%)+ 边缘密度(40%)
  3. 对每个已检测到的组件,计算其中心所在格的密度百分位
  4. 密度 > 80 百分位 → ❌ 高密度区,可能遮挡重要数据
  5. 密度 > 65 百分位 → ⚠️ 中等密度区,建议优化
  6. 密度 ≤ 65 百分位 → ✅ 稀疏区,位置合适
  7. 输出四角密度对比,推荐最佳放置角落

执行流程

第一步:运行 verify_plot.py

python3 scripts/verify_plot.py <image_path> --plan plan.md [--output REPORT.md] [--output-dir DIR]

参数说明:

参数默认值说明
image(必填)待校验的 GMT 图件路径(png/jpg)
--plan plan.md建议提供绘图计划文件,用于确定预期元素
--output REPORT.mdverify_report.md校验报告输出路径
--output-dir DIR.输出目录

示例:

python3 scripts/verify_plot.py ./output.png --plan plan.md --output verify_report.md

第二步:解读校验报告

脚本执行成功后,读取校验报告,重点关注:

  • 检查一(边框覆盖):如有 ❌,说明组件贴住了图框,需要在 GMT 中调整偏移参数
  • 检查二(密度放置):如有 ❌/⚠️,说明组件可能遮挡了重要数据,需要移到数据稀疏的角落
  • 四角密度对比:报告会给出四个角的密度值和建议最佳位置

然后将校验结果告知用户,供 gmt_plot:polish 阶段修改。

校验报告格式

## 图件布局校验报告

### 基本信息
- 校验图件: <路径>
- 图件尺寸: WxH px
- 校验时间: <时间戳>

### 元素检测结果
| 元素 | 计划预期 | 检测结果 |
|------|----------|----------|
| 色标 | ✅/—     | ✅/❌     |
| 图例 | ✅/—     | ✅/❌     |
| 比例尺 | ✅/—   | ✅/❌     |

### 检查一:组件是否覆盖主图框边框
✅ 通过  /  ❌ <问题描述> + 修改建议

### 检查二:组件是否放置在数据高密度区域
✅ 通过  /  ⚠️❌ <问题描述> + 修改建议

### 主图框信息密度分布(8×8 网格)
<ASCII 密度热力图>
四角密度 + 建议最佳放置位置

错误处理

如果脚本执行失败:

  1. 确认 pip install opencv-python-headless numpy Pillow 已安装
  2. 检查图件是否存在且可读(支持 PNG/JPG)
  3. 如果主图框检测不到(无边框图件),脚本会使用保守的 fallback 边界
  4. 如果某组件未检测到,该组件对应的检查会被跳过

使用限制

  1. 仅适用于 GMT 标准单幅主图布局
  2. 多子图场景检测可能不完整
  3. 建议图件分辨率不低于 300×300 像素
  4. 图件应有可见的边框线,否则主图框检测精度下降
  5. 不检测指北针、标题、经纬度标注等其他元素

What ships with it: 1 file

29.2 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 326,851. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.