Agent skill
output-validation
Local self-check of instructions and mask outputs (format/range/consistency) without using GT.
Install this agent skill to your Project
npx add-skill https://github.com/benchflow-ai/skillsbench/tree/main/tasks/dynamic-object-aware-egomotion/environment/skills/output-validation
SKILL.md
When to use
- After generating your outputs (interval instructions, masks, etc.), before submission/hand-off.
Checks
- Key format: every key is
"{start}->{end}", integers only,start<=end. - Coverage: max frame index ≤ video total-1; consistent with your sampling policy.
- Frame count: NPZ
f_{i}_*count equals sampled frame count; no gaps or missing components. - CSR integrity: each frame has
data/indices/indptr;len(indptr)==H+1;indptr[-1]==indices.size; indices within[0,W). - Value validity: JSON values are non-empty string lists; labels in the allowed set.
Reference snippet
import json, numpy as np, cv2
VIDEO_PATH = "<path/to/video>"
INSTRUCTIONS_PATH = "<path/to/interval_instructions.json>"
MASKS_PATH = "<path/to/masks.npz>"
cap=cv2.VideoCapture(VIDEO_PATH)
n=int(cap.get(cv2.CAP_PROP_FRAME_COUNT)); H=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)); W=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
j=json.load(open(INSTRUCTIONS_PATH))
npz=np.load(MASKS_PATH)
for k,v in j.items():
s,e=k.split("->"); assert s.isdigit() and e.isdigit()
s=int(s); e=int(e); assert 0<=s<=e<n
for lbl in v: assert isinstance(lbl,str)
frames=0
while f"f_{frames}_data" in npz: frames+=1
assert frames>0
assert npz["shape"][0]==H and npz["shape"][1]==W
indptr=npz["f_0_indptr"]; indices=npz["f_0_indices"]
assert indptr.shape[0]==H+1 and indptr[-1]==indices.size
assert indices.size==0 or (indices.min()>=0 and indices.max()<W)
Self-check list
- JSON keys/values pass format checks.
- Max frame index within video range and near sampled max.
- NPZ frame count matches sampling; keys consecutive.
- CSR structure and
shapevalidated.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
csv-processing
Use this skill when reading sensor data from CSV files, writing simulation results to CSV, processing time-series data with pandas, or handling missing values in datasets.
pid-controller
Use this skill when implementing PID control loops for adaptive cruise control, vehicle speed regulation, throttle/brake management, or any feedback control system requiring proportional-integral-derivative control.
yaml-config
Use this skill when reading or writing YAML configuration files, loading vehicle parameters, or handling config file parsing with proper error handling.
simulation-metrics
Use this skill when calculating control system performance metrics such as rise time, overshoot percentage, steady-state error, or settling time for evaluating simulation results.
vehicle-dynamics
Use this skill when simulating vehicle motion, calculating safe following distances, time-to-collision, speed/position updates, or implementing vehicle state machines for cruise control modes.
web-interface-guidelines
Vercel's comprehensive UI guidelines for building accessible, performant web interfaces. Use this skill when reviewing or building UI components for compliance with best practices around accessibility, performance, animations, and visual stability.
Didn't find tool you were looking for?