CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

package-add

Install a Unity package from the registry, a Git URL, or a local path. Modifies `manifest.json` and triggers package resolution; may also trigger a domain reload — the final result is delivered after the reload via the request's `requestId`. Use 'package-search' / 'package-list' for discovery first.

Quality

80%

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/package-add/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 is highly actionable with a fully executable CLI example, concrete format examples, and clear async-result semantics, all in a clean single-file structure. Its main weakness is redundancy: input formats and the domain-reload caveat are each stated twice, inflating token cost without adding information.

Suggestions

Remove the duplicate format enumeration: keep the formats in the 'packageId formats' section and shorten the Input table row to a pointer (e.g., 'The package ID to install; see formats above').

State the domain-reload caveat once in 'Processing model' and drop the repetition from the intro paragraph.

Trim the generic stdin/`--input-file` boilerplate to a one-line pointer, or use a real `packageId` value in the example instead of `string_value`.

Add a brief post-reload verification step (e.g., run `package-list` to confirm the package installed) to close the workflow's feedback loop.

DimensionReasoningScore

Conciseness

The `packageId` formats are listed in full in the 'packageId formats' section and then repeated verbatim inside the Input table row, and the domain-reload caveat appears in both the intro and 'Processing model'. The generic stdin heredoc boilerplate with `{"param": "value"}` adds tokens with no skill-specific value. This is mostly efficient but systematically duplicated, fitting the 'could be tightened' anchor rather than the minor-trims anchor.

3 / 5

Actionability

The body provides a copy-paste ready CLI invocation (`unity-mcp-cli run-tool package-add --input ...`), every accepted input format with concrete examples (`com.unity.textmeshpro@3.0.6`, `https://github.com/user/repo.git#v1.0.0`, `file:../MyPackage`), a JSON schema, and executable troubleshooting (`npm install -g unity-mcp-cli` or `npx`). The common case is fully covered.

5 / 5

Workflow Clarity

The asynchronous processing model is sequenced clearly: immediate `Processing` return, then success delivered via `SchedulePostDomainReloadNotification` after the reload, or an immediate error notification with the underlying Unity error on failure. It is not 5 because there is no post-reload verification step (e.g., confirming the installed package via `package-list`) to close the feedback loop.

4 / 5

Progressive Disclosure

A single compact, well-organized file (~65 lines) with clear sections for formats, processing model, invocation, input, and output, and nothing that belongs in a separate bundle file. Installation detail is appropriately deferred to the `/unity-initial-setup` skill rather than inlined.

5 / 5

Total

17

/

20

Passed

Description

75%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 highly specific, well-scoped description that clearly states what the tool does and its side effects, and cleanly distinguishes itself from sibling tools. Its main weakness is the absence of an explicit 'Use when...' trigger clause, which caps completeness and leaves invocation timing only weakly implied.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks to install, add, or import a Unity package.'

Include natural synonyms users would say — 'add package', 'import', 'install from a Git URL' — to strengthen trigger term coverage.

Keep the sibling-tool routing sentence but make it secondary to the 'when to use this skill' guidance.

DimensionReasoningScore

Specificity

'Install a Unity package from the registry, a Git URL, or a local path' names the concrete action with all three source formats, and adds specific behavioral details ('Modifies `manifest.json` and triggers package resolution', 'may also trigger a domain reload', 'delivered after the reload via the request's `requestId`'). Coverage is comprehensive for the operation, matching the multiple-specific-actions anchor rather than the minor-gaps anchor one level below.

5 / 5

Completeness

The 'what' is explicit and concrete, but there is no 'Use when...' clause or equivalent trigger guidance — 'Use 'package-search' / 'package-list' for discovery first' routes to sibling tools rather than stating when to invoke this skill. Per the judging guideline, missing explicit trigger guidance caps completeness at 3; it is not 2 because the 'what' is fully clear.

3 / 5

Trigger Term Quality

Natural keywords like 'Unity package', 'install', 'Git URL', and 'registry' are present, and naming 'package-search' / 'package-list' surfaces sibling discovery terms. Common phrasings such as 'add', 'import', or '.git URL' variants are missing, placing it at good-but-not-comprehensive coverage rather than the 5 anchor.

4 / 5

Distinctiveness Conflict Risk

'Install a Unity package' defines a clear niche, and explicitly deferring discovery to 'package-search' / 'package-list' minimizes wrong-skill triggering within the package-manager family. Conflict risk with related skills is minimal because install vs. search/list are distinct actions and the description actively routes the neighboring cases away.

5 / 5

Total

17

/

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/package-add/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.