CtrlK
BlogDocsLog inGet started
Tessl Logo

script-read

Read a `.cs` script file and return its content as a string. Supports a 1-based `lineFrom`/`lineTo` slice for partial reads. Pair with 'script-update-or-create' to write back.

56

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

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

Quality

Content

60%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 short, well-organized skill for a single read tool with genuinely executable CLI examples and useful troubleshooting. Its main defect is heavy redundancy — inputs documented three times across bullets, a table, and JSON schemas — which wastes tokens, and a How-to-Call example whose placeholder values conflict with the documented parameter semantics.

Suggestions

Collapse the '## Inputs' bullets, '## Input' table, and Input JSON Schema into a single canonical input specification to remove the triplicated documentation.

Replace the placeholder example ('string_value', 'lineFrom': 0, 'lineTo': 0) with a realistic, valid example such as reading lines 10-50 of 'Assets/Scripts/MyScript.cs', consistent with the 1-based defaults.

Drop the Output JSON Schema for the trivial {result: string} shape and just state the output in one line, keeping the body lean.

DimensionReasoningScore

Conciseness

The same input documentation appears three times — the '## Inputs' bullet list, the near-identical '## Input' table, and the Input JSON Schema — plus an Output JSON Schema restating the trivial `{result: string}` shape. This matches anchor 2 (noticeably verbose, several padded/redundant sections); it is above anchor 1 because nothing explains concepts Claude already knows and the rest of the body is tight.

2 / 5

Actionability

Provides concrete, executable commands: `unity-mcp-cli run-tool script-read --input ...`, the `--input-file` variant, the stdin heredoc pipe, and `npx unity-mcp-cli` fallback — matching anchor 4. Not anchor 5 because the primary example uses placeholder values ('string_value', 'lineFrom': 0, 'lineTo': 0) that contradict the documented 1-based defaults, so it is not copy-paste ready for a realistic case.

4 / 5

Workflow Clarity

This is a simple, single-purpose, non-destructive skill and the single action is unambiguous (parameters, defaults, clamping behavior, and the 'Throws if missing on disk' failure mode are all stated), which would normally merit 5 under the simple-skill exception. It drops to 4 because the example's invalid-looking placeholder values create minor ambiguity about a real invocation, and no error-path example is shown.

4 / 5

Progressive Disclosure

Sections are well organized, no bundle files exist or are needed, and the single cross-reference ('Read the /unity-initial-setup skill') is clearly signaled — matching anchor 4. Not anchor 5 because the duplicated input/schema content inflates the body and could be consolidated, leaving minor organization gaps.

4 / 5

Total

14

/

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.

A concrete, specific description that clearly states what the tool does, with good natural trigger terms. Its main weaknesses are the complete absence of a 'Use when...' trigger clause (which caps completeness) and missed synonym coverage in trigger terms.

Suggestions

Add an explicit trigger clause, e.g. 'Use when you need to inspect or read part of a .cs script file, such as when reviewing or editing Unity scripts.'

Broaden trigger-term coverage with natural synonyms users would say — 'source file', 'Unity script', 'read lines X-Y of a script' — to lift trigger term quality and distinctiveness.

Consider stating when partial reads are useful (e.g. large scripts) to strengthen the 'when' side of the description without adding fluff.

DimensionReasoningScore

Specificity

Names several concrete actions — 'Read a `.cs` script file and return its content as a string', 'Supports a 1-based `lineFrom`/`lineTo` slice for partial reads' — which fits anchor 4 (several specific actions, minor gaps). It falls short of anchor 5's comprehensive multi-action coverage since the actions all describe one narrow read operation.

4 / 5

Completeness

The 'what' is clear and concrete, but there is no 'Use when...' clause or equivalent explicit trigger guidance; the hint 'Pair with 'script-update-or-create' to write back' only weakly implies when. Per the judging guidelines this caps completeness at 3, and it is not anchor 2 because the 'what' is far from vague.

3 / 5

Trigger Term Quality

Includes good natural terms users would say — '.cs', 'script file', 'read', 'partial reads', 'slice', 'lineFrom/lineTo' — matching anchor 4. Not anchor 5 because common synonyms and variations (e.g. 'source file', 'Unity script', 'view lines of a script') are missing.

4 / 5

Distinctiveness Conflict Risk

The `.cs` extension, named parameters, and the named sibling tool 'script-update-or-create' give it a mostly distinct niche with only minor overlap risk against other file-reading skills (anchor 4). Not anchor 5 because 'script file' is still somewhat generic and could collide with non-.cs script readers.

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.