/validation
Validate project and scene health plus cleanup. 校验项目与场景健康度并清理。
$ npx -y skills add Besty0728/Unity-Skills --skill validation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/validation
Context preview
The summary Claude sees to decide when to auto-load this skill.
Validate project and scene health plus cleanup. 校验项目与场景健康度并清理。
SKILL.md
validation.SKILL.mdname: unity-validation
description: Validate project and scene health plus cleanup. 校验项目与场景健康度并清理。
Triggers
- Checking broken or missing references
- Validating scene/project integrity
- Cleaning up before a build
- 检查断裂或丢失引用、校验场景/项目完整性、构建前清理
Unity Validation Skills
Maintain project health - find problems, clean up, and validate your Unity project.
Operating Mode
- **Approval**: 只读分析 skill(`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。
- **Auto / Bypass**: 直接执行。
- **本模块含 Delete 类高危 skill**:`validate_cleanup_empty_folders` / `validate_fix_missing_scripts` 一旦 `dryRun=false` 即真删;它们在 Approval / Auto 下被 `IsForbiddenInSemi` 自动拦截,**仅 Bypass 或 Allowlist 命中可执行**。**强烈建议先用 `dryRun=true` 预览**。
**DO NOT** (common hallucinations):
- Validation skill routes use the `validate_*` prefix, not `validation_*`
- `validation_run` / `validation_check` do not exist → use specific skills such as `validate_scene`, `validate_project_structure`, `validate_missing_references`
- `validation_fix` does not exist → validation skills report issues; use other modules to fix them
- `validation_clean` does not exist → use `cleaner` module for cleanup operations
**Routing**:
- For unused/duplicate asset cleanup → use `cleaner` module
- For missing script fix → `cleaner_fix_missing_scripts` (cleaner module)
- For compile errors → `debug_check_compilation` (debug module)
Skills Overview
| 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 |
---
Skills
validate_scene
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}]}`
validate_find_missing_scripts
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"`)
validate_fix_missing_scripts
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}]}`
validate_cleanup_empty_folders
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 }`
validate_find_unused_assets
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 }`
validate_texture_sizes
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}]}`
validate_project_structure
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_references`
Find 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_convex`
Find non-convex MeshColliders (potential performance issue).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `limit` | int | No | 50 | Max results |
**Returns**: `{ success, count, nonConvexColliders: [
Read more
name: unity-validation description: Validate project and scene health plus cleanup. 校验项目与场景健康度并清理。
Triggers
- Checking broken or missing references
- Validating scene/project integrity
- Cleaning up before a build
- 检查断裂或丢失引用、校验场景/项目完整性、构建前清理
Unity Validation Skills
Maintain project health - find problems, clean up, and validate your Unity project.
Operating Mode
- **Approval**: 只读分析 skill(`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。
- **Auto / Bypass**: 直接执行。
- **本模块含 Delete 类高危 skill**:`validate_cleanup_empty_folders` / `validate_fix_missing_scripts` 一旦 `dryRun=false` 即真删;它们在 Approval / Auto 下被 `IsForbiddenInSemi` 自动拦截,**仅 Bypass 或 Allowlist 命中可执行**。**强烈建议先用 `dryRun=true` 预览**。
**DO NOT** (common hallucinations):
- Validation skill routes use the `validate_*` prefix, not `validation_*`
- `validation_run` / `validation_check` do not exist → use specific skills such as `validate_scene`, `validate_project_structure`, `validate_missing_references`
- `validation_fix` does not exist → validation skills report issues; use other modules to fix them
- `validation_clean` does not exist → use `cleaner` module for cleanup operations
**Routing**:
- For unused/duplicate asset cleanup → use `cleaner` module
- For missing script fix → `cleaner_fix_missing_scripts` (cleaner module)
- For compile errors → `debug_check_compilation` (debug module)
Skills Overview
| 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 |
---
Skills
validate_scene
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}]}`
validate_find_missing_scripts
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"`)
validate_fix_missing_scripts
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}]}`
validate_cleanup_empty_folders
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 }`
validate_find_unused_assets
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 }`
validate_texture_sizes
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}]}`
validate_project_structure
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_references`
Find 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_convex`
Find non-convex MeshColliders (potential performance issue).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `limit` | int | No | 50 | Max results |
**Returns**: `{ success, count, nonConvexColliders: [
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Other skills on unity-skills.
- /addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1. 为 Unity Addressables 1.22.3/2.9.1 提供源码锚定的设计规则。
Open skill - /adr
Record Unity architecture decisions (ADR) with rationale. 记录 Unity 架构决策(ADR)与理由。
Open skill - /animator
Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
Open skill - /architecture
Advise on Unity gameplay and system architecture. 为 Unity 游戏与系统架构提供建议。
Open skill - /asmdef
Advise on Unity assembly definitions (asmdef). 为 Unity 程序集定义(asmdef)提供建议。
Open skill - /asset
Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
Open skill

