CtrlK
BlogDocsLog inGet started
Tessl Logo

gameobject-component-add

Add one or more Components to a GameObject in the opened Prefab or active Scene. Component types are looked up by full name (with namespace) or by class-name fallback. Use 'gameobject-find' to locate the host GameObject and 'gameobject-component-list-all' to discover valid component type names.

54

Quality

68%

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

Quality

Content

50%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 skill is well-structured and immediately actionable in form (real CLI commands, full schemas), but its single example uses misleading placeholder values, inputs are documented redundantly, and the batch workflow lacks an explicit check-response/validation step. The large schema dumps would be better placed in a reference file.

Suggestions

Replace the placeholder example with a realistic, correct one: "componentNames": ["UnityEngine.Rigidbody"] and a gameObjectRef showing the path or instanceID form, since the current "string_value" placeholder contradicts the array-typed schema.

Add an explicit post-call validation step for the batch operation, e.g. "Check response.Errors and response.Warnings; names listed there were not added — verify type names with gameobject-component-list-all and retry."

Deduplicate the inputs documentation (merge the "Inputs" bullets and "Input" table) and move the full Input/Output JSON schemas to a references/ file, keeping only a compact example response in SKILL.md.

DimensionReasoningScore

Conciseness

The body is mostly free of conceptual padding and leans on schemas rather than prose, but it documents the inputs three times (the "Inputs" bullets, the "Input" table, and the full JSON schema) and carries generic CLI boilerplate (npx/stdin/file variants) that could be tightened or trimmed to one variant. This fits anchor 3 ("could be tightened") better than anchor 4, and there is no explanatory fluff that would drop it to 2.

3 / 5

Actionability

The CLI invocation is fully concrete ("unity-mcp-cli run-tool gameobject-component-add --input '...'" with --input-file and stdin variants), but the primary example uses placeholder values ("componentNames": "string_value") that are actually wrong — the schema defines componentNames as an array of strings — so a copy-paste attempt would fail. No realistic example (e.g. ["UnityEngine.Rigidbody"]) is given, matching anchor 3's "missing key details" rather than anchor 4's "minor gaps".

3 / 5

Workflow Clarity

The sequence is present (find the GameObject via 'gameobject-find', discover valid type names via 'gameobject-component-list-all', then call), and the Behavior section explains per-name error accumulation — but this is a batch operation with no explicit validation step such as "check response.Errors/Warnings and retry failed names", so per the batch-operation cap workflow clarity cannot exceed 3. Not anchor 2, because the sequence and error semantics are stated rather than absent.

3 / 5

Progressive Disclosure

Sections are clearly organized and the only outward pointers are one-level-deep tool/skill references ('gameobject-find', 'gameobject-component-list-all', /unity-initial-setup), but ~140 lines of auto-generated Input/Output JSON schemas are inlined in SKILL.md when they clearly belong in a references/ file — matching anchor 3's "content that should be separate is inline" rather than anchor 4's "most content is appropriately placed".

3 / 5

Total

12

/

20

Passed

Description

70%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, well-disambiguated description with good domain keyword coverage, weakened primarily by the absence of any explicit 'Use when...' trigger guidance. Adding a trigger clause and one or two natural synonyms would round it out.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user wants to add or attach components (e.g. Rigidbody, colliders, custom scripts) to a GameObject in a Prefab or Scene."

Include natural synonyms such as "attach" and "Unity" alongside "add Components" so the description matches how users actually phrase the request.

Optionally state the outcome surfaced to the caller (successful additions returned as shallow component snapshots, per-name errors reported instead of aborting the batch) to sharpen the 'what'.

DimensionReasoningScore

Specificity

"Add one or more Components to a GameObject in the opened Prefab or active Scene" plus the concrete lookup mechanics ("looked up by full name (with namespace) or by class-name fallback") name the domain and several specific behaviors, but coverage stops short of the comprehensive multi-action level (nothing about response handling or error semantics) — matching anchor 4 rather than 5, and clearly above anchor 3 since more than 1-2 concrete actions are given.

4 / 5

Completeness

The 'what' is explicit and clear (add components to GameObjects in a Prefab or Scene), but there is no 'when to use it' clause — "Use 'gameobject-find' to locate the host GameObject" describes helper usage, not a trigger condition. Per the judging guidelines a missing 'Use when...' clause caps completeness at 3; it is not lower because the what is unambiguous.

3 / 5

Trigger Term Quality

Natural Unity vocabulary a user would actually say — "Add Components", "GameObject", "Prefab", "Scene" — gives good keyword coverage, but common synonyms like "attach component", "Unity", or script/behaviour phrasings are missing, so it sits at anchor 4 rather than the comprehensive synonym coverage of anchor 5 and well above the sparse/generic anchors 2-3.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (adding components to Unity GameObjects) and explicitly disambiguates against sibling skills by pointing to 'gameobject-find' for locating and 'gameobject-component-list-all' for type discovery, giving minimal conflict risk — matching anchor 5 rather than anchor 4's 'minor overlap risk'.

5 / 5

Total

16

/

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.