Skip to content
Back to skills

Blender Visual Loop

ASecurity

Iterate a Blender scene against a target image with immutable screenshots, structured visual verdicts, explicit transaction commit or rollback, and either single-agent or judge-subagent orchestration.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agents

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add full-aigc-plugins/blender-design-plugin --skill blender-visual-loop --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Blender Visual Loop?

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

Security grade badge for Blender Visual Loop
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/full-aigc-plugins-blender-visual-loop/badge)](https://www.skillsdirectory.com/skills/full-aigc-plugins-blender-visual-loop)

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: blender-visual-loop
description: Iterate a Blender scene against a target image with immutable screenshots, structured visual verdicts, explicit transaction commit or rollback, and either single-agent or judge-subagent orchestration.
---

# Blender visual loop

Use this workflow when the user supplies a target image or asks for repeated visual refinement.
It coordinates the visual state machine released in PartMe Blender MCP `0.7.0-rc.2`; it does
not replace the Blender domain Skills that perform modeling, lighting, materials, or camera work.

## Preconditions

1. Call `blender_connection_status`, then confirm the catalog contains all of:
   `blender_scene_screenshot`, `blender_visual_loop_create`,
   `blender_visual_loop_status`, `blender_visual_loop_record_capture`,
   `blender_visual_loop_record_verdict`, and `blender_visual_loop_cancel`.
2. Confirm the session has an approved output root. Keep every screenshot path relative to that
   root and unique; screenshot files are immutable and an existing path is rejected.
3. Inspect the scene and record its live `sceneRevision`. Do not guess revisions.
4. Establish the user's acceptance threshold and round budget. Default to `minimumScore: 8`,
   `maxRounds: 20`, `stallWindow: 2`, and `minimumImprovement: 1` only when the user supplied no
   stricter criteria.

For a local target already inside an authorized input or output root, pass `targetPath`. For a
remote client or a file that Blender cannot read directly, pass bounded Base64 PNG/JPEG bytes as
`targetData`. Provide exactly one. Keep the returned target SHA-256 as the target identity for the
entire run.

## Transactional loop

The visual loop reports transaction advice but never commits or rolls back by itself. The client
owns that decision.

1. Open one milestone transaction with `blender_transaction_begin`; retain its transaction ID.
2. Create the loop with `blender_visual_loop_create`. Send the transaction envelope required by
   the tool and the chosen target plus thresholds.
3. Apply the next bounded scene changes inside the same open transaction, always carrying the
   current scene revision.
4. Capture `visual-loops/<loopId>/round-<N>.png` with `blender_scene_screenshot`. Verify the
   structured receipt, SHA-256, dimensions, `restoration.status: confirmed`, and the returned MCP
   image content block. A screenshot is a file write but must not advance the scene revision.
5. Call `blender_visual_loop_record_capture` with `loopId`, the screenshot receipt as `artifact`,
   and `transactionId`. Use that same value for the MCP `_transactionId` envelope.
6. Judge the locked target and current capture. Submit only these four scores, each from 0 to 10:
   `composition`, `lighting`, `materials`, and `details`. Also provide bounded `issues`, concrete
   `nextActions`, and `judge` with `type: human` or `type: agent`. Do not submit a total; the
   runtime computes the arithmetic mean.
7. Call `blender_visual_loop_record_verdict` for the current round and obey its explicit state:

   - `accepted` + `recommendedAction: commit`: commit the pending transaction, then verify the
     final loop status and artifacts.
   - `active` + `recommendedAction: revise`: keep the transaction open, apply only the returned
     next actions, advance the revision chain, and start the next uniquely named capture.
   - `stalled` or `exhausted` + `recommendedAction: rollback`: roll back the pending transaction
     and report the best round, best score, unresolved issues, and artifact receipt.
   - `cancelled`: roll back the pending transaction and stop immediately.

Never commit before a verdict. Never begin another capture while the previous capture lacks a
verdict. Never retry around `VISUAL_TARGET_CHANGED`, `IMAGE_ARTIFACT_CHANGED`,
`VISUAL_VERDICT_REQUIRED`, or a transaction/revision error; inspect status and recover explicitly.

## Judge strategies

### Client with subagents

The orchestrator alone owns Blender MCP calls, the revision chain, and the open transaction.
Give a judge subagent only the locked target, current screenshot, acceptance brief, and required
VisualVerdict schema. It returns scores, issues, and next actions; it must not mutate Blender,
commit, roll back, or trigger providers. The orchestrator validates and records that verdict.

A separate builder subagent may propose bounded changes, but the orchestrator serializes every
mutation. Do not let multiple agents write to the same Blender session or transaction concurrently.

### Client without subagents

Run the identical sequence in one conversation: inspect, mutate, capture, compare, record verdict,
then follow the returned action. Separate the builder and judge phases in the transcript so the
judge evaluates the image rather than defending the just-completed edit. Persisted loop status
allows the same client to resume after reconnecting.

## Human review, cost, and cancellation

If the user requested human judgment, pause after the capture and present the exact target hash,
round, screenshot, and four score fields. Record a human verdict only after receiving it.

The Runtime does not call a vision model. Invoking an external or paid judge/provider requires the
user's existing authorization and cost ceiling; visual-loop creation is not authorization for a
paid submission. Preserve provider cancellation semantics independently from
`blender_visual_loop_cancel`.

On user cancellation, call `blender_visual_loop_cancel`, then explicitly roll back the pending
transaction. If Blender disconnected, reconnect, call `blender_visual_loop_status`, and reconcile
the reported `pendingTransactionId` before doing more work.

## Completion report

Return the loop ID, locked target SHA-256, final state, threshold, score history, best round and
score, committed or rolled-back transaction ID, final scene revision, and every retained artifact
path plus SHA-256. State whether the judge was human, the same agent, or a separate agent. A score
alone is not completion evidence: include the transaction receipt and verified final screenshot.

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.