用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Besty0728/Unity-Skills --skill unity-validation命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | unity-validation |
| description | Validate project and scene health plus cleanup |
Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via
GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Maintain project health - find problems, clean up, and validate your Unity project.
validate_scene / validate_find_missing_scripts / validate_find_unused_assets / validate_texture_sizes / validate_project_structure / validate_missing_references / validate_mesh_collider_convex / validate_shader_errors,标 SkillMode.SemiAuto)直接执行;含 Delete 的 skill(validate_cleanup_empty_folders 标 Analyze | Delete、validate_fix_missing_scripts 标 Execute | Delete,默认 SkillMode.FullAuto)需用户 grant。validate_cleanup_empty_folders / validate_fix_missing_scripts 一旦 dryRun=false 即真删;它们在 Approval / Auto 下被 IsForbiddenInSemi 自动拦截,仅 Bypass 或 Allowlist 命中可执行。强烈建议先用 dryRun=true 预览。DO NOT (common hallucinations):
validate_* prefix, not validation_*validation_run / validation_check do not exist → use specific skills such as validate_scene, validate_project_structure, validate_missing_referencesvalidation_fix does not exist → validation skills report issues; use other modules to fix themvalidation_clean does not exist → use cleaner module for cleanup operationsRouting:
cleaner modulecleaner_fix_missing_scripts (cleaner module)debug_check_compilation (debug module)| Skill | Description |
|---|---|
validate_scene | Comprehensive scene validation |
validate_find_missing_scripts | Find objects with missing scripts |
validate_fix_missing_scripts | Remove missing script components |
validate_cleanup_empty_folders | Remove empty folders |
validate_find_unused_assets | Find potentially unused assets |
validate_texture_sizes | Check texture sizes |
validate_project_structure | Get project overview |
validate_missing_references | Find null/missing object references on components |
validate_mesh_collider_convex | Find non-convex MeshColliders |
validate_shader_errors | Find shaders with compilation errors |
Six more skills carry SkillCategory.Validation but are implemented and documented in the batch module, so GET /skills/recommend?category=validation returns them alongside the ten above. Their parameters live in ../batch/SKILL.md; each is a preview that you commit with batch_execute(confirmToken), except batch_validate_scene_objects, which is a plain read-only report.
| Skill | Description |
|---|---|
batch_validate_scene_objects | Analyze scene objects for missing scripts, missing references, duplicate names, and empty objects |
batch_fix_missing_scripts | Preview batch removal of missing scripts |
batch_cleanup_temp_objects | Preview deleting temporary helper objects by common temp-name patterns |
batch_standardize_naming | Preview standardizing names by trimming whitespace and normalizing separators |
batch_set_render_layer | Preview setting GameObject layers in batch |
batch_replace_material | Preview replacing materials in batch |
Comprehensive scene validation.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
checkMissingScripts | bool | No | true | Check for missing scripts |
checkMissingPrefabs | bool | No | true | Check for missing prefabs |
checkDuplicateNames | bool | No | true | Check duplicate names |
checkEmptyGameObjects | bool | No | false | Check empty GameObjects (no components) |
Returns: {scene, totalIssues, summary: {errors, warnings, info}, issues: [{type, severity, gameObject, path, message, count}]}
Find objects with missing script references.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchInPrefabs | bool | No | true | Also check prefab assets |
Returns: {totalFound, objects: [{source, gameObject, path, missingCount, prefabPath?}]} (prefabPath only present when source="Prefab")
Remove missing script components.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
dryRun | bool | No | true | Preview only, don't remove |
Returns: {success, dryRun, fixedCount, message, objects: [{gameObject, path, missingCount}]}
Remove empty folders from project.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
rootPath | string | No | "Assets" | Starting folder |
dryRun | bool | No | true | Preview only, don't delete |
Returns: { success, dryRun, emptyFolderCount, folders, message }
Find potentially unused assets.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
assetType | string | No | "Material" | Filter: Texture/Material/Prefab/etc |
limit | int | No | 100 | Max results |
Returns: { success, assetType, potentiallyUnusedCount, assets }
Check for oversized textures.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
maxRecommendedSize | int | No | 2048 | Warn if larger |
limit | int | No | 50 | Max results |
Returns: {maxRecommendedSize, largeTextureCount, textures: [{path, name, width, height, maxTextureSize, format, recommendation}]}
Get project folder structure overview.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
rootPath | string | No | "Assets" | Starting folder |
maxDepth | int | No | 2 | Max folder depth |
Returns: { success, rootPath, assetCounts, structure }
validate_missing_referencesFind null/missing object references on components in the scene.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | int | No | 50 | Max results |
Returns: { success, count, issues: [{ gameObject, path, component, property }] }
validate_mesh_collider_convexFind non-convex MeshColliders (potential performance issue).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | int | No | 50 | Max results |
Returns: { success, count, nonConvexColliders: [{ gameObject, path, vertexCount }] }
validate_shader_errorsFind shaders with compilation errors.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | int | No | 50 | Max results |
Returns: { success, count, shaders: [{ name, path, errorCount }] }
import unity_skills
# Validate scene
scene_result = unity_skills.call_skill("validate_scene")
if scene_result['totalIssues'] > 0:
print(f"Warning: {scene_result['totalIssues']} issues found")
# Check texture sizes
texture_result = unity_skills.call_skill("validate_texture_sizes", maxRecommendedSize=2048)
if texture_result['largeTextureCount'] > 0:
print(f"Warning: {texture_result['largeTextureCount']} oversized textures")
import unity_skills
# 1. Preview missing scripts fix
preview = unity_skills.call_skill("validate_fix_missing_scripts", dryRun=True)
print(f"Would fix {preview['fixedCount']} objects")
# 2. Actually fix (if preview looks good)
unity_skills.call_skill("validate_fix_missing_scripts", dryRun=False)
# 3. Preview empty folder cleanup
preview = unity_skills.call_skill("validate_cleanup_empty_folders", dryRun=True)
print(f"Would delete {len(preview['folders'])} folders")
# 4. Actually cleanup
unity_skills.call_skill("validate_cleanup_empty_folders", dryRun=False)
# 5. Review unused assets (manual review recommended)
unused = unity_skills.call_skill("validate_find_unused_assets")
for asset in unused['assets']:
print(f"Potentially unused: {asset}")
dryRun=True first to preview changesExact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.