CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

package-search

Search Unity's package registry plus locally installed packages (Git, local, embedded sources) by query string. Returns available versions and installation status. Online mode fetches exact matches from the live registry then supplements with cached substring matches.

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

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

Quality

Content

63%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 call guidance with sensible fallbacks and troubleshooting, but it is inflated by duplicated parameter/result documentation and ~90 lines of inline JSON schemas that belong in a separate reference file. Consolidating the duplicate sections and moving the schemas to a references/ file would simultaneously improve conciseness and progressive disclosure while keeping the skill actionable.

Suggestions

Merge the duplicate parameter documentation (the '## Inputs' bullets and the '## Input' table) into one section, and fold '## Result composition' into the Output section to remove the second copy.

Move the Input and Output JSON schemas to a references/ file (e.g. references/schema.md) and keep only a short field summary in SKILL.md.

Replace the placeholder call example ('"query": "string_value", "maxResults": 0') with a realistic example such as query 'com.unity.textmeshpro', and add a brief note on handling empty results.

DimensionReasoningScore

Conciseness

Mostly functional content (concrete CLI command, parameter tables, schemas, troubleshooting) but with clear duplication that could be tightened: the parameters are documented twice ('## Inputs' bullet list and '## Input' table), the result shape is described twice ('## Result composition' and the Output JSON Schema), and the intro paragraph repeats the frontmatter description almost verbatim. This fits anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') rather than 2, since there is no explanation of concepts Claude already knows and no padded prose — the issue is redundancy, not verbosity throughout.

3 / 5

Actionability

The '## How to Call' section gives a copy-paste-ready `unity-mcp-cli run-tool package-search` command plus working alternatives (--input-file, stdin heredoc) and a concrete troubleshooting path ('If `unity-mcp-cli` is not found... npm install -g unity-mcp-cli or use npx'). It falls short of anchor 5 because the primary example uses placeholder values ('"query": "string_value", "maxResults": 0') rather than a realistic example query like 'com.unity.textmeshpro', though the Input table does supply real example values.

4 / 5

Workflow Clarity

For this single-action tool skill, the call procedure is unambiguous: one command with a documented fallback (input-file/stdin) and an explicit error-recovery branch for a missing CLI (install globally or use npx), which serves as a feedback loop. It sits at anchor 4 rather than 5 because there is no guidance for interpreting failure/empty results (e.g., what to do when the search returns nothing or offlineMode finds no match), leaving a minor validation gap in the workflow.

4 / 5

Progressive Disclosure

Sections are clearly headed and the one external pointer ('Read the /unity-initial-setup skill') is plainly signaled, but the ~90 lines of inline Input/Output JSON schemas are bulk reference material that belongs in a separate reference file, and no bundle files exist to offload it. This matches anchor 3 ('some structure but could be better organized; content that should be separate is inline') — not 2, because the document is navigable with clear headers rather than a monolithic wall, and not 4, because the bulky schemas are not split out.

3 / 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.

The description communicates a clear, specific 'what' in third person with useful behavioral detail about online vs. cached matching, but it entirely lacks a 'when to use' trigger clause, which both caps completeness and weakens its value for skill selection. Adding an explicit 'Use when...' clause with natural trigger phrases (find/search Unity packages, Package Manager, before installing a package) would address the weakest dimension and reduce overlap risk with sibling package-management skills.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user wants to find or check Unity packages, or before installing a package via the Unity Package Manager.'

Include natural trigger synonyms such as 'find packages', 'Package Manager', 'UPM', and package-id forms like 'com.unity.textmeshpro' to broaden keyword coverage.

Briefly state the match prioritization (exact name, display name, substring) to distinguish this search skill from sibling install/add-package skills.

DimensionReasoningScore

Specificity

Concrete actions are stated in third person — 'Search Unity's package registry plus locally installed packages (Git, local, embedded sources) by query string. Returns available versions and installation status. Online mode fetches exact matches from the live registry then supplements with cached substring matches.' It names several specific behaviors (registry + local search, returned data, online/offline modes) with only minor gaps (no mention of match prioritization that appears in the body). It is above anchor 3 ('1-2 concrete actions') because multiple distinct actions and behaviors are covered, but below anchor 5 because coverage is not comprehensive — e.g., the query matching/prioritization rules are omitted.

4 / 5

Completeness

The 'what' is clear and concrete (search registry and installed packages by query string, return versions and install status), but the 'when' is entirely absent — there is no 'Use when...' clause or equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. It is not 4 because 'when' is not even weakly implied by any trigger phrase, and not 2 because the 'what' is specific and detailed rather than vague.

3 / 5

Trigger Term Quality

Includes natural terms users would say: 'Unity', 'package registry', 'packages', 'installed packages', 'query', 'versions'. Missing a few natural variations users commonly use, such as 'find', 'Package Manager', 'UPM', 'install', or package-id forms like 'com.unity.*' — so it fits anchor 4 ('good keyword coverage; a few natural terms missing') rather than anchor 5's comprehensive coverage with synonyms/extensions.

4 / 5

Distinctiveness Conflict Risk

The Unity package-registry niche is quite distinct ('Unity's package registry', 'locally installed packages (Git, local, embedded sources)'), so it would not trigger for unrelated skills. Minor overlap risk remains with closely related Unity package-management skills (e.g., an install/add-package skill) since shared terms like 'packages' and 'versions' are not disambiguated by an explicit trigger clause — fits anchor 4 rather than anchor 5.

4 / 5

Total

15

/

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-search/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.