Skip to main content
Glama

photoshop_select_painting_method

Selects a compatible executable painting method from registered Photoshop capabilities using construction role or visual intent plus impact class, without contacting or changing Photoshop.

Instructions

Choose an executable painting method from registered runtime capabilities without contacting or mutating Photoshop. Use photoshop_get_painting_method_capabilities to inspect the full map; use this tool for a specific construction_role or visual_intent plus required impact_class. construction_role takes precedence and derives the intent when both are supplied. Excludes avoid_method_ids, then uses the ordered intent preferences unless a valid preferred_method_id is supplied; an unavailable, avoided or incompatible preference is rejected rather than silently replaced. With edge_class, returns a separate edge_selection and tries preferred_method_id first for that edge choice; incompatible edge preferences are listed as rejected and may fall back. Returns ok=true, selection (selected method, fallbacks and rejected candidates), execution_contract with registered commands/input schemas and fallback_commands. This is planning guidance, not execution or pixel verification; required preparation and state still apply. Missing role/intent or no compatible method returns isError=true with ok=false, code=no_painting_method_available and message.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "impact_class": "<impact_class>"
    },
    "name": "photoshop_select_painting_method"
  }
}

Input Schema

NameRequiredDescriptionDefault
stageNoOptional painting-stage context passed to method selection. Does not change the durable Guard stage or authorize painting.
edge_classNoOptional boundary appearance: hard, soft, lost, firm or broken. Adds an independent edge_selection alongside the main construction/intent selection.
document_idNoOptional Photoshop document id from photoshop_get_state / photoshop_list_documents. When set, the tool verifies that this document is already active and fails closed if another tab is active. It never switches the active Photoshop document automatically.
impact_classYesRequired operation-impact category (for example construct, subtract or tone); filters methods compatible with the chosen intent.
visual_intentNoDesired visual effect. Required when construction_role is absent; when both are given, the construction role determines the intent.
avoid_method_idsNoMethod ids from the capability map to exclude from main and optional edge selection, including fallback candidates.
construction_roleNoSubject-agnostic construction role. In broad nontrivial construction this classification must precede concrete Photoshop method selection.
preferred_method_idNoExact capability-map method id. Without edge_class, requires this method for the main selection and rejects invalid/avoided/incompatible preferences. With edge_class, tries it first only for edge_selection and may fall back, recording the rejection.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.8.2
    • addedInput schema / properties / avoid_method_ids / description
      Added value: +"Method ids from the capability map to exclude from main and optional edge selection, including fallback candidates."
    • addedInput schema / properties / edge_class / description
      Added value: +"Optional boundary appearance: hard, soft, lost, firm or broken. Adds an independent edge_selection alongside the main construction/intent selection."
    • addedInput schema / properties / impact_class / description
      Added value: +"Required operation-impact category (for example construct, subtract or tone); filters methods compatible with the chosen intent."
    • addedInput schema / properties / preferred_method_id / description
      Added value: +"Exact capability-map method id. Without edge_class, requires this method for the main selection and rejects invalid/avoided/incompatible preferences. With edge_class, tries it first only for edge_selection and may fall back, recording the rejection."
    • changedInput schema / properties / stage / description
      Previous value: -"Optional painting stage. Early block-in stages may intentionally prefer the temporary closed-region scaffold for generic mass construction."New value: +"Optional painting-stage context passed to method selection. Does not change the durable Guard stage or authorize painting."
    • addedInput schema / properties / visual_intent / description
      Added value: +"Desired visual effect. Required when construction_role is absent; when both are given, the construction role determines the intent."
  2. First observedv1.8.0-preview.1

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral burden and does so well. It discloses that the tool does not contact or mutate Photoshop, that it is planning guidance rather than execution or pixel verification, and that required preparation and state still apply; it also documents selection rejection/fallback behavior and the error shape.

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

Conciseness4/5

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

It is front-loaded with purpose and sibling routing, and the length is broadly justified by the tool's complexity. However, the dense run-on paragraph repeats some precedence details already present in the schema and could be easier to scan as structured clauses.

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

Completeness5/5

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

Despite having no output schema or annotations, the description explains the return fields (ok, selection, execution_contract, fallback_commands) and the failure code/shape. It also clarifies the tool's planning-only boundary and preparation/state requirements, making it complete enough for an agent to invoke correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds operational meaning beyond individual enum descriptions by explaining construction_role precedence over visual_intent, how avoid_method_ids filters main and edge fallback candidates, and how preferred_method_id behaves differently with and without edge_class.

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

Purpose5/5

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

The first sentence states a specific verb and resource: choosing an executable painting method from registered runtime capabilities without mutating Photoshop. It explicitly distinguishes this tool from the sibling photoshop_get_painting_method_capabilities, which inspects the full map, so an agent can route correctly.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: use the capabilities tool to inspect the full map, use this tool for a specific construction_role or visual_intent plus required impact_class. It also states precedence rules, exclusion behavior, preferred-method behavior, and edge-selection fallback handling.

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