CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

script-update-or-create

Write a `.cs` script file (create or overwrite) with the provided C# code. Validates syntax via Roslyn before write — invalid code is rejected with error details and the file is left untouched. Refreshes the AssetDatabase and delivers the final result via `requestId` after Unity finishes the triggered compilation. Use 'script-read' to inspect existing content first.

Quality

72%

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/script-update-or-create/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 lean, executable single-tool reference whose CLI invocation guidance is its strongest part. It loses points for triplicated input documentation, placeholder-only examples, and the absence of an explicit validation/error-recovery loop for what is a file-overwriting operation.

Suggestions

Consolidate the three overlapping input sections (bullets, table, JSON schema) into one — for a two-parameter tool a single table or schema suffices.

Add an explicit error-recovery loop: after writing, check the post-compilation result and fix compilation errors before considering the task done (validate → fix → retry).

Replace the "string_value" placeholders with a realistic minimal example (a real file path and a short C# snippet) so the call is copy-paste ready.

DimensionReasoningScore

Conciseness

Mostly efficient with no background-concept padding, but the two input parameters are documented three separate times ('## Inputs' bullets, the '## Input' table, and the '### Input JSON Schema'), and the sample call uses uninformative "string_value" placeholders. This is more than minor trimming, though not pervasive padding.

3 / 5

Actionability

The 'How to Call' section gives fully concrete, executable CLI commands, including real handling of complex input via --input-file and a stdin heredoc. Minor gaps: no realistic example values (e.g., a small C# snippet) and no sample success/error output.

4 / 5

Workflow Clarity

The sequence is stated (create parent directories → write → AssetDatabase.Refresh → post-compilation notification) and syntax validation is described, but for a destructive overwrite operation the body gives no explicit feedback loop for compilation errors and rewrites — the 'use script-read first' checkpoint is a single implicit line in the intro. Per the destructive-operation guideline this caps workflow clarity at 3.

3 / 5

Progressive Disclosure

No bundle files are needed; the body is modest in size and cleanly sectioned, and the only external pointer (the /unity-initial-setup skill for install issues) is clearly signaled. The duplicated input documentation is a minor organization gap that keeps it below a 5.

4 / 5

Total

14

/

20

Passed

Description

71%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 strong, specific description that clearly states what the tool does and what happens on failure. Its main weakness is the missing 'Use when...' trigger clause, which caps completeness and slightly limits discoverability relative to how well the behavior itself is documented.

Suggestions

Append an explicit trigger clause such as 'Use when the user asks to create, overwrite, or update a C# script in a Unity project' to satisfy completeness.

Add natural synonym phrasings users would say ('edit script', 'update script', 'write C# code in Unity') to broaden trigger-term coverage.

Consider noting 'overwrites without undo' in the when-clause to sharpen distinctiveness versus a generic file-write tool.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions — 'Write a `.cs` script file (create or overwrite)', 'Validates syntax via Roslyn before write', 'invalid code is rejected with error details and the file is left untouched', 'Refreshes the AssetDatabase', 'delivers the final result via `requestId`' — comprehensively covering the tool's behavior.

5 / 5

Completeness

The 'what' is clearly and explicitly answered, but there is no 'Use when...' clause or equivalent trigger guidance — 'Use script-read to inspect existing content first' points to a companion skill, not to when this skill applies. Per the judging guidelines, a missing explicit trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms are present ('.cs', 'C# code', 'script file', 'Unity', 'compilation') but common user phrasings like 'create', 'edit', or 'update a Unity script' are missing. Coverage is good without being comprehensive.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche (writing Unity C# scripts with Roslyn validation and AssetDatabase refresh), but could overlap with a generic file-write tool in the same MCP plugin family, which also writes .cs files. Mostly distinct with minor overlap risk.

4 / 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/script-update-or-create/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.