CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

screenshot-camera

Capture a screenshot from a Unity `Camera` and return it as a PNG image for direct LLM inspection. Falls back to `Camera.main` (then any active camera) when `cameraRef` is null. Width and height are capped to keep response size manageable.

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./Unity-MCP-Plugin/.claude/skills/screenshot-camera/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

66%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, single-purpose tool document whose calling convention and behavior are clear, but it is held back by redundant triple-statement of the inputs and a primary code example whose placeholder values are invalid against its own schema and constraints. Tightening the input documentation and showing one realistic, working invocation would raise both conciseness and actionability.

Suggestions

Fix the primary example so it is executable: show a real call such as `unity-mcp-cli run-tool screenshot-camera --input '{}'` (uses Camera.main defaults) or one with a valid AIGD.GameObjectRef (e.g. {"name": "Main Camera"}) and width/height > 0, since the current '"cameraRef": "string_value"' / '"width": 0' example violates the schema and the stated > 0 constraint.

Deduplicate the input documentation: keep the Input table and replace the 'Inputs' prose section (or vice versa), and trim the inlined $defs portion of the JSON schema to the cameraRef-relevant fields to save ~40 lines.

Add a one-line failure note for the no-camera case (what the tool returns/does when Camera.main and Camera.allCameras are both empty), since the fallback chain is described but its endpoint is not.

DimensionReasoningScore

Conciseness

The body is mostly efficient, but the same input information appears three times: the 'Inputs' prose, the 'Input' table, and the 60-line inlined 'Input JSON Schema' ($defs for GameObjectRef, EntityId, System.Type) largely duplicate each other. The generic CLI boilerplate (input-file, stdin heredoc, troubleshooting) also repeats per-tool scaffolding rather than tool-specific knowledge.

3 / 5

Actionability

The 'How to Call' section gives the exact CLI command and concrete fallbacks (npx, --input-file, stdin), but the primary example is not executable as written: '"cameraRef": "string_value"" contradicts the schema (cameraRef must be an AIGD.GameObjectRef object with required instanceID) and '"width": 0' / '"height": 0' violate the body's own rule 'Must be > 0'. No working invocation with realistic values (or an empty-input call using Camera.main defaults) is shown.

3 / 5

Workflow Clarity

This is a simple single-task skill — invoke one CLI tool and receive an image — and that single action is unambiguous, with the 'Behavior' section clearly describing the internal render/readback/restore sequence. The Troubleshooting section covers the main failure mode (CLI not found → npm install -g / npx), giving an explicit recovery path.

5 / 5

Progressive Disclosure

There are no bundle files (references/, scripts/, assets/ all absent), so the skill is self-contained with well-organized sections (Inputs, Behavior, How to Call, Troubleshooting, Input, Output) and nothing buried. It falls short of a 5 only because the ~60-line JSON schema block is inlined where a leaner summary (or a one-level reference) would keep SKILL.md closer to an overview.

4 / 5

Total

15

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concrete, well-scoped description with strong natural trigger terms and minimal conflict risk, clearly answering 'what' and 'how'. Its only material gap is the absence of any 'Use when...' trigger guidance telling Claude when to reach for it.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user asks to see, screenshot, or visually inspect the Unity game view, a specific camera's output, or what the player would see.'

Add common synonyms such as 'game view' or 'viewport capture' to broaden natural keyword coverage.

Lead with the capability sentence and move the fallback detail ('Falls back to Camera.main...') after the trigger clause so the description reads capability-first.

DimensionReasoningScore

Specificity

It lists several specific concrete behaviors — 'Capture a screenshot from a Unity Camera and return it as a PNG image for direct LLM inspection', the fallback chain, and the size caps — covering the tool's behavior comprehensively for its narrow purpose. It is not a 5 because the fallback/capping sentences describe one implementation detail each rather than a breadth of distinct capabilities, closer to 'several specific actions; minor gaps' than 'multiple specific concrete actions' at the top anchor.

4 / 5

Completeness

The 'what' is explicit and clear, but there is no 'Use when...' clause or equivalent trigger guidance; 'for direct LLM inspection' only weakly implies when to use it. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3, and it is not a 4 because the 'when' is absent rather than merely under-specified.

3 / 5

Trigger Term Quality

Natural trigger words are present: 'screenshot', 'Unity', 'Camera', 'PNG image', 'image' — terms a user would naturally say when needing this. A few natural variants are missing (e.g. 'game view', 'viewport', 'capture what the camera sees', 'scene view'), placing it at 'good keyword coverage; a few natural terms missing' rather than comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — Unity in-editor camera screenshots returned as PNG for LLM inspection — with distinct trigger terms (Unity, Camera, screenshot) and essentially no overlap risk with other skill domains.

5 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

IvanMurzak/Unity-MCP

Path

Unity-MCP-Plugin/.claude/skills/screenshot-camera/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.