/package
Manage Unity Package Manager (UPM) packages. 管理 Unity Package Manager(UPM)包。
$ npx -y skills add Besty0728/Unity-Skills --skill package --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
/package
Context preview
The summary Claude sees to decide when to auto-load this skill.
Manage Unity Package Manager (UPM) packages. 管理 Unity Package Manager(UPM)包。
SKILL.md
package.SKILL.mdname: unity-package
description: Manage Unity Package Manager (UPM) packages. 管理 Unity Package Manager(UPM)包。
Triggers
- Adding or removing UPM packages
- Checking installed versions
- Searching the registry
- Scripting package operations
- 添加或移除 UPM 包、检查已装版本、搜索 registry、脚本化包操作
Package Skills
Manage installed Unity packages and package-related helper flows such as Cinemachine and Splines setup.
Guardrails
**Operating Mode** (v1.9 three-tier):
- **Approval** (default): query skills (`package_list`, `package_check`, `package_search`, `package_get_dependencies`, `package_get_versions`, `package_get_cinemachine_status`) run directly. Mutators (`package_install`, `package_remove`, `package_install_cinemachine`, `package_install_splines`, `package_refresh`) are FullAuto — on `MODE_RESTRICTED`, run the grant protocol.
- **Auto** / **Bypass**: SemiAuto and FullAuto run directly.
- Auto-forbidden in this module: `package_install` and `package_remove` (`MayTriggerReload = true`, `RiskLevel = "high"`; `package_remove` also carries `SkillOperation.Delete`). They are reachable only under Bypass mode or via a user-managed Allowlist entry; the grant flow returns `MODE_FORBIDDEN`.
- Install/remove/refresh jobs return immediately with a `jobId`; the actual package import + Domain Reload happens asynchronously and may make the REST server transiently unavailable. Poll with `job_status` / `job_wait`.
**DO NOT** (common hallucinations):
- `package_add` / `package_update` do not exist -> use `package_install`
- `package_get_info` does not exist -> use `package_list`, `package_check`, `package_get_dependencies`, or `package_get_versions`
- `package_search` searches the installed package cache only; it does not query the Unity Registry
- Package query skills initialize their cache automatically after Domain Reload. During the short cold-start window they return `{ success: false, status: "refreshing", cacheReady: false, retryStrategy: "wait_and_retry", retryAfterSeconds: 2 }`; retry instead of treating this as `installed=false`.
- Package install/remove/refresh jobs can trigger package import and Domain Reload; expect transient server unavailability and use returned job IDs
**Routing**:
- For Cinemachine quick setup -> use `package_install_cinemachine`
- For Splines quick setup -> use `package_install_splines`
- For project manifest inspection -> use `project_get_packages`
- For define symbol changes after package installation -> use `debug_set_defines`
Skills
`package_list`
List all installed packages currently cached by UnitySkills. **Parameters:** None.
**Returns:** `{ success, count, packages }`
`package_check`
Check whether a package is installed.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Package ID such as `com.unity.cinemachine` |
**Returns:** `{ packageId, installed, version }`
`package_install`
Install a package. Returns an async job when the request is accepted.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Package ID to install | | `version` | string | No | null | Optional explicit version |
**Returns:** `{ success, status, jobId, message, serverAvailability }`
`package_remove`
Remove an installed package. Returns an async job when the request is accepted.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Installed package ID to remove |
**Returns:** `{ success, status, jobId, message, serverAvailability }`
`package_refresh`
Refresh the installed package cache used by query skills. **Parameters:** None.
**Returns:** `{ success, status, jobId, message }`
`package_install_cinemachine`
Install Cinemachine using the supported package/version strategy.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `version` | int | No | 3 | `2` for CM2, `3` for CM3 |
**Notes:**
- CM3 auto-installs the Splines dependency.
- If the requested line is already installed, this skill can return immediate success instead of a job.
**Returns:** `{ success, status?, jobId?, message, serverAvailability? }`
`package_install_splines`
Install or upgrade Unity Splines using the recommended version for the current Unity editor line. **Parameters:** None.
**Returns:** `{ success, status?, jobId?, message, serverAvailability? }`
`package_get_cinemachine_status`
Get current Cinemachine and Splines installation status. **Parameters:** None.
**Returns:** `{ cinemachine, splines }`
`package_search`
Search the installed package cache by package name or display name.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `query` | string | Yes | - | Search keyword |
**Returns:** `{ success, query, count, packages }`
`package_get_dependencies`
Get dependency information for one installed package.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Installed package ID |
**Returns:** `{ success, packageId, version, dependencyCount, dependencies }`
`package_get_versions`
Get available versions for one installed package.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Installed package ID |
**Returns:** `{ success, packageId, currentVersion, compatibleVersion, latestVersion, allVersions }`
Exact Signatures
Exact names, parameters, defaults, and returns are defined by `GET /skills/schema` or `unity_skills.get_skill_schema()`, not by this file.
Read more
name: unity-package description: Manage Unity Package Manager (UPM) packages. 管理 Unity Package Manager(UPM)包。
Triggers
- Adding or removing UPM packages
- Checking installed versions
- Searching the registry
- Scripting package operations
- 添加或移除 UPM 包、检查已装版本、搜索 registry、脚本化包操作
Package Skills
Manage installed Unity packages and package-related helper flows such as Cinemachine and Splines setup.
Guardrails
**Operating Mode** (v1.9 three-tier):
- **Approval** (default): query skills (`package_list`, `package_check`, `package_search`, `package_get_dependencies`, `package_get_versions`, `package_get_cinemachine_status`) run directly. Mutators (`package_install`, `package_remove`, `package_install_cinemachine`, `package_install_splines`, `package_refresh`) are FullAuto — on `MODE_RESTRICTED`, run the grant protocol.
- **Auto** / **Bypass**: SemiAuto and FullAuto run directly.
- Auto-forbidden in this module: `package_install` and `package_remove` (`MayTriggerReload = true`, `RiskLevel = "high"`; `package_remove` also carries `SkillOperation.Delete`). They are reachable only under Bypass mode or via a user-managed Allowlist entry; the grant flow returns `MODE_FORBIDDEN`.
- Install/remove/refresh jobs return immediately with a `jobId`; the actual package import + Domain Reload happens asynchronously and may make the REST server transiently unavailable. Poll with `job_status` / `job_wait`.
**DO NOT** (common hallucinations):
- `package_add` / `package_update` do not exist -> use `package_install`
- `package_get_info` does not exist -> use `package_list`, `package_check`, `package_get_dependencies`, or `package_get_versions`
- `package_search` searches the installed package cache only; it does not query the Unity Registry
- Package query skills initialize their cache automatically after Domain Reload. During the short cold-start window they return `{ success: false, status: "refreshing", cacheReady: false, retryStrategy: "wait_and_retry", retryAfterSeconds: 2 }`; retry instead of treating this as `installed=false`.
- Package install/remove/refresh jobs can trigger package import and Domain Reload; expect transient server unavailability and use returned job IDs
**Routing**:
- For Cinemachine quick setup -> use `package_install_cinemachine`
- For Splines quick setup -> use `package_install_splines`
- For project manifest inspection -> use `project_get_packages`
- For define symbol changes after package installation -> use `debug_set_defines`
Skills
`package_list`
List all installed packages currently cached by UnitySkills. **Parameters:** None.
**Returns:** `{ success, count, packages }`
`package_check`
Check whether a package is installed.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Package ID such as `com.unity.cinemachine` |
**Returns:** `{ packageId, installed, version }`
`package_install`
Install a package. Returns an async job when the request is accepted.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Package ID to install | | `version` | string | No | null | Optional explicit version |
**Returns:** `{ success, status, jobId, message, serverAvailability }`
`package_remove`
Remove an installed package. Returns an async job when the request is accepted.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Installed package ID to remove |
**Returns:** `{ success, status, jobId, message, serverAvailability }`
`package_refresh`
Refresh the installed package cache used by query skills. **Parameters:** None.
**Returns:** `{ success, status, jobId, message }`
`package_install_cinemachine`
Install Cinemachine using the supported package/version strategy.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `version` | int | No | 3 | `2` for CM2, `3` for CM3 |
**Notes:**
- CM3 auto-installs the Splines dependency.
- If the requested line is already installed, this skill can return immediate success instead of a job.
**Returns:** `{ success, status?, jobId?, message, serverAvailability? }`
`package_install_splines`
Install or upgrade Unity Splines using the recommended version for the current Unity editor line. **Parameters:** None.
**Returns:** `{ success, status?, jobId?, message, serverAvailability? }`
`package_get_cinemachine_status`
Get current Cinemachine and Splines installation status. **Parameters:** None.
**Returns:** `{ cinemachine, splines }`
`package_search`
Search the installed package cache by package name or display name.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `query` | string | Yes | - | Search keyword |
**Returns:** `{ success, query, count, packages }`
`package_get_dependencies`
Get dependency information for one installed package.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Installed package ID |
**Returns:** `{ success, packageId, version, dependencyCount, dependencies }`
`package_get_versions`
Get available versions for one installed package.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `packageId` | string | Yes | - | Installed package ID |
**Returns:** `{ success, packageId, currentVersion, compatibleVersion, latestVersion, allVersions }`
Exact Signatures
Exact names, parameters, defaults, and returns are defined by `GET /skills/schema` or `unity_skills.get_skill_schema()`, not by this file.
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

