Skip to content
Back to skills

Fixed View Visual Benchmark

ASecurity

Use when a visual needs repeatable fixed-view rendering and independent rubric scoring. Not for free-form visual review or subjective critique.

  • 52 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 3, 2026
ai-agents

Works with

  • terminal

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add OutlineDriven/outline-driven-development --skill fixed-view-visual-benchmark --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fixed View Visual Benchmark?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fixed View Visual Benchmark
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/outlinedriven-fixed-view-visual-benchmark-outline-driven-development/badge)](https://www.skillsdirectory.com/skills/outlinedriven-fixed-view-visual-benchmark-outline-driven-development)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fixed-view-visual-benchmark
description: 'Use when a visual needs repeatable fixed-view rendering and independent rubric scoring. Not for free-form visual review or subjective critique.'
disable-model-invocation: true
---

# Fixed-view visual benchmark

## Contract

| Field | Bound contract |
|---|---|
| Trigger | A visual needs repeatable fixed-view rendering and independent rubric scoring. |
| Authority | Human-gated: asks for capture consent before rendering; otherwise reversible local: writes a run record and receipt only under `.outline/loops/fixed-view-visual-benchmark/<run_id>/`, and saves a render plus render-derived fields only when a render exists; rollback is deleting that directory. No VCS, credential, paid, published, deployed, or remote mutation. |
| Side effect | Fixed-view visual benchmark: renders and scores the fixed view against the frozen rubric. |
| Done | The saved render clears the frozen rubric threshold. |
| Stop | Stalled; render blocked; budget exhausted. Bound: fixed view rig, rubric threshold, render budget. |

## Inputs

- Fixed view rig (required): camera position and orientation, scene definition, render settings (resolution, samples, lighting, post-processing). All parameters that affect the rendered output must be named and frozen.
- Frozen rubric threshold (required): the minimum aggregate score that defines a passing render, plus the rubric dimensions and their weights.
- Render budget (required): the maximum render attempts or time allowed, declared before work begins.

## Procedure

1. Bind the fixed view rig, rubric threshold, and render budget. Freeze all three before any mutation. Done when: the rig, threshold, and budget are named and frozen.
2. Capture consent. Ask for and record explicit human consent before rendering. Done when: consent is recorded.
3. Render the fixed view through a specified rendering interface with reproducibility controls. The interface must accept the frozen rig parameters and produce a deterministic output: same camera, same scene, same settings, same result. Record the interface name, version, and the exact parameter set used. If the interface is non-deterministic (stochastic sampling, temporal effects), declare the seed or averaging strategy that makes repeated renders comparable. Done when: a render is produced from the frozen rig with the interface and parameters recorded.
4. Score the render against the frozen rubric independently. The rubric defines scoring dimensions (for example: composition, lighting accuracy, material fidelity, geometric correctness), each with a weight summing to 1.0 and a 0–10 scale per dimension. The aggregate score is the weighted sum. Score each dimension against the rubric criteria, not against the previous render. Record per-dimension scores, the aggregate, and the threshold. Done when: the rubric score is recorded with per-dimension breakdown.
5. Stop at success (aggregate score clears the threshold), any non-success terminal, or the bound. Done when: a terminal class is reached and named.
6. Persist the run record under `.outline/loops/fixed-view-visual-benchmark/<run_id>/` and emit `receipt.json` in that directory before return. Save the rendered artifact there only when one exists. Done when: the run record and receipt include the terminal class, threshold, and blocking condition for `blocked`; when a render exists, they also include its path, per-dimension scores, and aggregate.

## Failure and recovery

- Stagnation: repeated renders do not improve the score. Terminal `stalled`; report the score plateau and the renders attempted.
- Render blocked: the rig cannot produce a render through the specified interface. Terminal `blocked`; report the blocking condition.
- Budget exhausted: the render budget is spent before the threshold is cleared. Terminal `capped`; report the best score achieved. Budget exhaustion is never success unless it is the predeclared success predicate.
- Non-deterministic output without declared seed: if repeated renders with the same parameters produce different scores and no seed or averaging strategy was declared, the renders are not comparable. Declare the strategy before scoring; do not compare incomparable renders.
- Partial result: emit the best render and score obtained; never present a sub-threshold render as clearing the rubric.

## Output

A terminal classification (`success`, `capped`, `stalled`, or `blocked`) plus the run receipt. The receipt includes the saved render, its per-dimension rubric scores, aggregate score, and threshold when a render was produced; for `blocked`, it records the blocking condition and has no render-derived fields.

Files in this skill

  • SKILL.md4.1 KB
  • agents/openai.yaml304 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.