Skip to main content
Glama

photoshop_guard_cycle_auto

Execute a bounded Photoshop drawing or refinement pass with validation and review handling, keeping each painting cycle focused on one verifiable visual change.

Instructions

When the user requests PaintPilot Photoshop/MCP drawing or forbids imagegen/image_gen, use only the connected PaintPilot Photoshop MCP tools for that task. Start with photoshop_get_state to establish the document, or photoshop_guard_resume for an interrupted run; reuse an already confirmed target. Draw through photoshop_guard_cycle_auto. If the intended open document is inactive, discover photoshop_set_active_document via photoshop_guard_capabilities(tool_names) even when no standalone tool appears. With explicit authorization to switch focus, activate its exact document_id through photoshop_guard_cycle_auto, then verify photoshop_get_state before painting. Without focus permission ask permission to activate through MCP, not for a manual tab click. Never switch silently or remove document_id pinning. A decision-loop stall is advisory, not a mutation blocker: dispatch the next meaningful visual pass or one bounded diagnostic. Do not call built-in/external image generation, even for a reference, preview or fallback. If the selected tools are unavailable, report the exact blocker and stop; only an explicit later user change authorizes another execution mode. Run one bounded semantic pass, not an entire artistic stage, in local Photoshop; keep this route unless the user explicitly changes execution mode. After inspecting exact review images, send previous_operation_id + previous_observation (critic_review at its checkpoint) with optional next_pass; fetch missing images via photoshop_guard_review_image and poll returned job_id via photoshop_guard_job_poll.

Input Schema

NameRequiredDescriptionDefault
next_passNo
painting_intentNoCompact artistic input for first construction and continuation.
protocol_versionNoCompact Guard protocol revision.photoshop.guard.compact.v2
review_operation_idNoExact current visual operation already reviewed/closed.
previous_observationNoCompact visual closure.
previous_operation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.8.0-preview.1

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description still discloses real behavioral traits: it is a stateful review loop requiring previous_operation_id + previous_observation at the critic checkpoint, returns a job_id that must be polled, mutates through bounded passes with document_id pinning that must never be removed, and that a decision-loop stall is advisory rather than a mutation blocker. It does not describe the returned payload shape, failure/rollback semantics, or what 'report the exact blocker' yields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A long run-on block of imperative fragments and policy that is not front-loaded with what the tool does; the tool's own name appears mid-paragraph after session routing rules. Much of the content (focus permission etiquette, imagegen prohibition) is session policy that does not belong in a single tool's description and dilutes the callable contract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a very complex, stateful tool with no annotations and no output schema, the description does cover the review-closure protocol and the polling handoff, which is the hardest part. But it leaves the return value, error surface, and the choice between the two large input modes unexplained, and spends its budget on cross-tool policy instead.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% across 6 heavily nested top-level parameters, so the schema does substantial work. The description adds the crucial sequencing semantics (previous_operation_id + previous_observation with optional next_pass; critic_review at its checkpoint) and document_id pinning, but never explains the painting_intent vs next_pass split or when each of the two mutually-shaped entry modes is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The operative sentence, 'Draw through photoshop_guard_cycle_auto,' does identify this as the execution/dispatch tool for a bounded painting pass, and 'one bounded semantic pass, not an entire artistic stage' hints at scope. But the opening frames it as session-wide routing policy ('When the user requests PaintPilot Photoshop/MCP drawing...') rather than stating 'submits one Guard painting pass and returns a job to review', so an agent must infer the core verb+resource from a parenthetical.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly sequences siblings: start with photoshop_get_state, use photoshop_guard_resume for interrupted runs, discover photoshop_set_active_document via photoshop_guard_capabilities, fetch images via photoshop_guard_review_image and poll job_id via photoshop_guard_job_poll. It also states prohibitions (no external imagegen, no silent focus switching). It lacks explicit routing versus other dispatch-adjacent siblings like photoshop_guard_lint_next_pass.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.