gamedev-unity/skills/unity-skills/skills/package/SKILL.md
Manage Unity Package Manager (UPM) — install, remove, refresh, search, inspect, and list packages. Use when adding or removing UPM packages, checking installed versions, searching the registry, or scripting package operations, even if the user just says "装个包" or "UPM". 管理 Unity Package Manager(UPM:安装、移除、刷新、搜索、查看、列出包);当用户要添加或移除 UPM 包、检查已装版本、搜索 registry、或脚本化包操作时使用。
npx skillsauth add bernatmv/ai-rules unity-packageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage installed Unity packages and package-related helper flows such as Cinemachine and Splines setup.
Operating Mode (v1.9 three-tier):
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.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.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_installpackage_get_info does not exist -> use package_list, package_check, package_get_dependencies, or package_get_versionspackage_search searches the installed package cache only; it does not query the Unity Registrypackage_list, package_search, package_get_dependencies, and package_get_versions can return "Package list not ready" until package_refresh completesRouting:
package_install_cinemachinepackage_install_splinesproject_get_packagesdebug_set_definespackage_listList all installed packages currently cached by UnitySkills. Parameters: None.
Returns: { success, count, packages }
package_checkCheck 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_installInstall 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_removeRemove 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_refreshRefresh the installed package cache used by query skills. Parameters: None.
Returns: { success, status, jobId, message }
package_install_cinemachineInstall Cinemachine using the supported package/version strategy.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| version | int | No | 3 | 2 for CM2, 3 for CM3 |
Notes:
Returns: { success, status?, jobId?, message, serverAvailability? }
package_install_splinesInstall 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_statusGet current Cinemachine and Splines installation status. Parameters: None.
Returns: { cinemachine, splines }
package_searchSearch 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_dependenciesGet 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_versionsGet 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 names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.
development
Keyword research and validation with real search-demand data — never ship keywords from intuition alone. Probes Google Autocomplete per language (free, no account) to prove demand and discover the exact phrasing people type, checks SERPs for winnability, and uses Keyword Planner/Ahrefs/Semrush exports when the user has access. Activates when: choosing or reviewing SEO keywords, meta keywords, page titles, article topics or slugs, landing page copy targeting search, App Store/ASO keyword fields, multilingual keyword sets, 'what should we rank for', 'keyword analysis', or auditing why a page doesn't rank. Also invoke it as a validation pass whenever another skill or task produces a keyword list.
development
Automate YooAsset hot-update and asset bundles — build bundles, run Editor simulate builds, manage Collector groups, analyze BuildReport, and validate runtime. Use when building or simulating YooAsset bundles, configuring collectors, or validating hot-update assets, even if the user just says "热更" or "打AB包". 自动化 YooAsset 热更新与资源包(构建 bundle、编辑器模拟构建、管理 Collector 分组、分析 BuildReport、运行时校验);当用户要构建或模拟 YooAsset 资源包、配置 collector、或校验热更资源时使用。
development
Source-anchored design rules for YooAsset v2.3.18 — initialization, default-package shortcuts, play modes, asset handles, loading, updates, filesystem, build, and pitfalls. Use when writing or reviewing YooAsset code, initializing packages, loading assets via handles, setting up hot-update/download, or choosing a play mode, even if the user just says "热更" or "资源包". 为 YooAsset v2.3.18 提供源码锚定的设计规则(初始化、默认包快捷方式、运行模式、资源句柄、加载、更新、文件系统、构建、陷阱);当用户要编写或审查 YooAsset 代码、初始化 package、用句柄加载资源、配置热更/下载、或选择运行模式时使用。
data-ai
Last-resort guidance for safely hand-editing Unity serialized YAML (.unity/.prefab/.asset/.meta/ProjectSettings) — reference/fileID repair, GUID safety, and merge-conflict fixes. Use when REST cannot reach the change and YAML must be hand-edited — fixing m_Script GUIDs, broken fileID references, .meta files, or merge conflicts, even if the user just says "场景文件打不开" or "引用丢了". 安全手编 Unity 序列化 YAML(.unity/.prefab/.asset/.meta/ProjectSettings)的最后手段(引用/fileID 修复、GUID 安全、合并冲突修复);当 REST 无法触达、必须手编 YAML 时使用——修复 m_Script GUID、断裂 fileID 引用、.meta 文件或合并冲突。