Skip to main content
Glama

photoshop_guard_brush_pack_profile

Profiles an imported Photoshop brush pack by planning probe candidates, verifying brush evidence, recording classifications, and building preset-matched role coverage for scene preflight.

Instructions

Profile an already imported brush pack; use photoshop_guard_brush_pack_ingest to import first. plan compares cached profiles to preset_states and returns role coverage and probe candidates. probe_media requires Photoshop/UXP, draws a disposable sheet and saves preview evidence plus a receipt when preset identity is verified; it may also return a JPEG. record_media/record_stamp save observed classifications to local profile records. build_preflight reads profiles against preset_states and returns complete with brush_preflight or missing_role_coverage; ok=true alone does not mean complete. Rejections return ok=false, code and message.

Input Schema

NameRequiredDescriptionDefault
actionYesplan: choose unprofiled candidates; probe_media: obtain real brush evidence; record_media/record_stamp: persist its classification; build_preflight: assemble evidence-supported scene roles.
profileNoRequired for record_media/record_stamp. Supply observed classification fields below. probe_operation_id is mandatory for stamps and lets media inherit identity/settings/evidence from the saved probe receipt; media without it must supply full provenance and evidence.
preset_nameNoExact attributed preset name; required with occurrence_index for probe_media.
brush_pack_idNoImported pack identifier returned by brush_pack_ingest; required for plan, probe_media and build_preflight.
preset_statesNoRequired for plan/build_preflight. Supply observed preset identity, effective settings and runtime provenance; only profiles matching these states count toward coverage.
required_rolesNoScene roles to cover in plan/build_preflight; omitted or empty uses the default scene-role set.
candidate_limitNoMaximum probe candidates returned by plan, default 4; no candidates are needed when all requested roles are already covered.
inventory_totalNoPositive integer from the observed installed brush inventory; required for build_preflight.
occurrence_indexNoZero-based occurrence of the exact preset name in the attributed inventory; required for probe_media, including occurrence 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv1.8.0
    • addedInput schema / properties / action / description
      Added value: +"plan: choose unprofiled candidates; probe_media: obtain real brush evidence; record_media/record_stamp: persist its classification; build_preflight: assemble evidence-supported scene roles."
    • addedInput schema / properties / brush_pack_id / description
      Added value: +"Imported pack identifier returned by brush_pack_ingest; required for plan, probe_media and build_preflight."
    • addedInput schema / properties / candidate_limit / description
      Added value: +"Maximum probe candidates returned by plan, default 4; no candidates are needed when all requested roles are already covered."
    • addedInput schema / properties / inventory_total / description
      Added value: +"Positive integer from the observed installed brush inventory; required for build_preflight."
    • addedInput schema / properties / occurrence_index / description
      Added value: +"Zero-based occurrence of the exact preset name in the attributed inventory; required for probe_media, including occurrence 0."
    • addedInput schema / properties / preset_name / description
      Added value: +"Exact attributed preset name; required with occurrence_index for probe_media."
    • addedInput schema / properties / preset_states / description
      Added value: +"Required for plan/build_preflight. Supply observed preset identity, effective settings and runtime provenance; only profiles matching these states count toward coverage."
    • addedInput schema / properties / profile / description
      Added value: +"Required for record_media/record_stamp. Supply observed classification fields below. probe_operation_id is mandatory for stamps and lets media inherit identity/settings/evidence from the saved probe receipt; media without it must supply full provenance and evidence."
    • addedInput schema / properties / profile / properties / probe_operation_id / description
      Added value: +"Verified probe receipt identifier from probe_media evidence.operation_id / stable_command_id; an unverified probe is not eligible for recording."
    • addedInput schema / properties / required_roles / description
      Added value: +"Scene roles to cover in plan/build_preflight; omitted or empty uses the default scene-role set."
  2. First observedv1.8.0-preview.1

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does it well: it discloses that probe_media requires Photoshop/UXP, draws a disposable sheet, saves preview evidence and a receipt, and may return a JPEG. It also warns that ok=true alone does not mean complete and that rejections return ok=false/code/message, which is non-obvious and valuable. Minor gap: no mention of permissions or how local profile records persist/overwrite.

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?

Five dense sentences, front-loaded with the identity and prerequisite, then one sentence per action. There is no filler, though the action-by-action listing approaches redundancy with the enum descriptions.

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

Completeness4/5

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

For a 9-parameter, nested-object, multi-mode mutation tool with no output schema, the description covers prerequisites, side effects, verification gating, and the shape of both success and failure outcomes. An agent could reasonably choose an action and interpret results from this alone; only persistence/overwrite semantics of local profile records are left unstated.

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 100%, so parameter meaning is already well documented, including the action enum, probe_operation_id provenance rules, and per-action required fields. The description's action sentences largely restate the enum descriptions, adding little parameter-level meaning beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ('Profile an already imported brush pack') and immediately distinguishes itself from the ingest sibling, which is the main confusion risk in this area. The per-action sentences make the multi-mode nature of the tool unambiguous.

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?

Explicitly routes the agent: import must happen first via photoshop_guard_brush_pack_ingest, and each action is tied to a stage of the workflow (plan -> probe -> record -> build_preflight). It does not state exclusions (e.g. when not to probe), so it falls short of a 5.

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