output-validation

v0.1.0

Local self-check of instructions and mask outputs (format/range/consistency) without using GT.

0· 70·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wu-uk/dynamic-object-aware-egomotion-output-validation.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "output-validation" (wu-uk/dynamic-object-aware-egomotion-output-validation) from ClawHub.
Skill page: https://clawhub.ai/wu-uk/dynamic-object-aware-egomotion-output-validation
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install dynamic-object-aware-egomotion-output-validation

ClawHub CLI

Package manager switcher

npx clawhub@latest install dynamic-object-aware-egomotion-output-validation
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name and description describe local output validation; SKILL.md contains focused checks (key format, coverage, NPZ/CSR structure, value validity) that directly implement that purpose. Nothing in the instructions attempts to access unrelated services or secrets.
Instruction Scope
Instructions operate on user-supplied local files (VIDEO_PATH, INSTRUCTIONS_PATH, MASKS_PATH) and perform file- and content-level assertions. They do not ask the agent to read unrelated system files, environment variables, or send data externally. The scope stays within validating generated outputs.
Install Mechanism
This is instruction-only (no install spec), which is low-risk. The reference snippet uses Python libraries (numpy, cv2) but the skill does not declare runtime dependencies or required binaries; users should ensure Python + numpy + OpenCV are available in their environment.
Credentials
No environment variables, credentials, or config paths are requested. The skill's data access is limited to the file paths the user supplies, which is proportionate to its validation purpose.
Persistence & Privilege
The skill is not always-on and does not request persistent or elevated privileges. It does not modify other skills or system-wide settings.
Assessment
This skill is an instruction-only local validator for interval/mask outputs and appears coherent with that purpose. Before installing/using: (1) ensure you run it in an environment with Python, numpy, and OpenCV (cv2) available, since the snippet assumes those libraries; (2) provide only trusted local VIDEO_PATH / INSTRUCTIONS_PATH / MASKS_PATH files (the checks read those files but do not contact external services); (3) be prepared for the snippet to raise assertions on invalid data — consider running it in an isolated environment or CI step; and (4) if you need automated installation, request or add an explicit install spec declaring required packages to avoid surprises.

Like a lobster shell, security has layers — review code before you run it.

latestvk977s22500xactrvphfhe6bkc184tjmm
70downloads
0stars
1versions
Updated 1w ago
v0.1.0
MIT-0

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 shape validated.

Comments

Loading comments...