Skills

Cross Field Comparison Check

跨字段比较校验工具。读取结构化数据文件(CSV、TSV、Excel等),检查两个字段之间的逻辑约束关系 是否满足(如 start < end、min ≤ max、price...

Install

npx skills add cas-bigdatalab/piflow --skill cross_field_comparison_check -g -a claude-code -y
Category
Engineering
Updated
12d ago
License
See repository
Context cost
Lightabout 688 tokens
Runs scripts
Yes, review before use

What it does

跨字段比较校验工具。读取结构化数据文件(CSV、TSV、Excel等),检查两个字段之间的逻辑约束关系 是否满足(如 start < end、min ≤ max、price >= cost),支持六种比较运算符,多约束可组合使用。 当用户提到跨字段校验、字段间比较、逻辑约束检查、大小关系验证等需求时使用此skill。 即使用户没有明确说出"跨字段",只要任务涉及验证两个字段值之间的逻辑关系,就应该使用此skill。

cross_field_comparison_check 跨字段比较校验Skill

功能概述

本skill用于逐行验证两个字段值之间的逻辑关系是否成立。典型应用场景:

  • 时间区间校验:start_time < end_time
  • 数值范围校验:min_value <= max_value
  • 价格逻辑校验:cost < price
  • 库存校验:sold <= total

支持运算符

运算符含义示例
<小于start,<,end
<=小于等于min,<=,max
>大于end,>,start
>=大于等于current,>=,baseline
==等于computed,==,expected
!=不等于status,!=,deleted

约束格式

  • 每个约束:左字段,运算符,右字段
  • 多个约束用 | 分隔
  • 约束之间为 AND 关系(任一违反即标记)
  • 示例:start,<,end|min,<=,max 表示同时满足 start<end 且 min≤max

触发条件

当用户请求以下任务时,应使用此skill:

  • 跨字段比较校验
  • 字段间逻辑约束检查
  • 大小关系验证
  • 字段值一致性比对
  • 数据逻辑规则检查

处理逻辑

  1. 读取输入数据表
  2. 解析 constraints 字符串,拆分出每个约束(按 | 分割)
  3. 对每行数据: a. 提取左右字段的值并转为数值(numeric) b. 按指定运算符比较 c. 违反任一约束 → 标记 qc_mark
  4. 非数值数据(如字符串)转为 NaN 后跳过该约束的比较
  5. 输出标记结果和统计摘要

支持的文件格式

  • CSV (.csv)
  • TSV (.tsv)
  • Excel (.xls, .xlsx)
  • SPSS (.sav)

使用方法

步骤1:获取用户输入输出路径及参数

向用户确认:

  1. 输入文件路径(需要校验的文件)
  2. 输出文件路径(校验结果文件)
  3. 约束表达式(格式:左字段,运算符,右字段|...)
  4. 质控标识

步骤2:执行跨字段比较校验脚本

在 scripts/ 目录下找到 cross_field_comparison_check.py,使用Python执行:

单约束(时间区间):

python scripts/cross_field_comparison_check.py \
    --input_path data.csv \
    --output_path checked.csv \
    --constraints "start_time,<,end_time" \
    --qc_mark QCFLAG

多约束(范围+价格):

python scripts/cross_field_comparison_check.py \
    --input_path data.csv \
    --output_path checked.csv \
    --constraints "start,<,end|min,<=,max|cost,<=,price" \
    --qc_mark QCFLAG

步骤3:返回结果

脚本执行完成后,告知用户:

  • 每条约束的违反行数
  • 示例违反数据
  • 总标记行数

参数说明

参数必填说明
--input_path是输入文件路径(支持CSV/TSV/Excel/SPSS)
--output_path是输出文件路径
--constraints是约束表达式,`
--qc_mark是质控标识(如QC标识)
--mark_field_name否质控标识字段名(默认QC0000)

输出示例

发现问题

Read the whole SKILL.md on GitHub

More in Engineering