CtrlK
BlogDocsLog inGet started
Tessl Logo

profiler-save-data

Save a snapshot of profiler-derived stats (status + memory + rendering + script + frame capture) to a JSON file. Built-in Unity APIs only.

60

Quality

76%

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/profiler-save-data/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

73%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.

The body delivers fully executable guidance for a simple single-command tool, with clear error and behavior documentation. Its weakness is redundancy: one parameter is documented three separate ways and the templated stdin example does not match the tool's actual input.

Suggestions

Collapse '## Inputs', the '## Input' table, and the Input JSON Schema into a single section — one parameter does not need three presentations.

Replace the placeholder 'string_value' with a realistic example value (e.g. 'profiler-snapshot.json') and fix the stdin example to use the actual 'filePath' key instead of '{"param": "value"}'.

Trim the generic CLI boilerplate (install/npx troubleshooting, --input-file variants) to the one invocation form this skill actually needs, or move it to a shared unity-mcp reference file.

DimensionReasoningScore

Conciseness

The single input parameter filePath is documented three times ('## Inputs' bullet, '## Input' table, and the 'Input JSON Schema' block), and the stdin boilerplate shows a generic '{"param": "value"}' body that does not match this tool. This is real, trimmable redundancy, matching the anchor for mostly-efficient-but-could-be-tightened rather than the minor-trim level of 4.

3 / 5

Actionability

The CLI invocation is executable and includes the real parameter and input/output JSON schemas plus error semantics. It falls short of fully copy-paste-ready because the example value is the placeholder 'string_value' and the stdin example references a nonexistent 'param' key instead of 'filePath'.

4 / 5

Workflow Clarity

This is a simple, single-purpose skill where the entire user-facing workflow is one unambiguous command, and error behavior ('Returns [Error] when filePath is empty or the write fails') is documented. The destructive/batch validation cap does not apply to a single non-destructive invocation, so the simple-skill exception holds.

5 / 5

Progressive Disclosure

No bundle files exist and the body is organized into clear, well-signaled sections with one cross-skill pointer ('Read the /unity-initial-setup skill'). At ~83 lines with the duplicated input documentation inline, it sits at the good-structure/minor-organization-gaps anchor rather than the clean single-purpose 5.

4 / 5

Total

16

/

20

Passed

Description

66%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.

The description is specific and domain-grounded, clearly stating what the skill composes and persists. Its main weakness is the complete absence of a 'when to use' trigger clause, which both caps completeness and slightly limits natural trigger coverage.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user wants to save, export, or snapshot Unity profiler stats to a file.'

Add natural user phrasings as trigger terms, such as 'performance snapshot', 'profiling data', or 'export profiler output', to broaden trigger coverage.

Sharpen distinctiveness from sibling profiler tools by naming the other tools it composes (e.g. 'the profiler-get-* tools') so it reads as the persistence step of that family.

DimensionReasoningScore

Specificity

The description names the domain (Unity profiler) and enumerates the concrete data sources ('status + memory + rendering + script + frame capture') plus the output format ('a JSON file'), going beyond 1-2 generic actions. It stays at 4 rather than 5 because it describes a single composite save action rather than multiple distinct capabilities, and 'Built-in Unity APIs only' is a constraint rather than an action.

4 / 5

Completeness

The 'what' is clear and concrete, but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. 'Built-in Unity APIs only' is a scope constraint, not a usage trigger.

3 / 5

Trigger Term Quality

Natural terms like 'profiler', 'stats', 'snapshot', 'JSON', 'Unity', 'memory', 'rendering', and 'frame' cover what a Unity user would actually say. It is not a 5 because common variations such as 'performance', 'profiling data', or 'save profiler output' are absent.

4 / 5

Distinctiveness Conflict Risk

The save-to-file purpose carves out a distinct niche ('Save a snapshot... to a JSON file') distinguishable from read-only siblings like profiler-get-status. It is not a 5 because within the profiler-* family the five listed stat types overlap with the descriptions of those sibling tools.

4 / 5

Total

15

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
IvanMurzak/Unity-MCP
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.