/workflow
Persistent operation history and orchestration. 持久化操作历史与编排。
$ npx -y skills add Besty0728/Unity-Skills --skill workflow --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
/workflow
Context preview
The summary Claude sees to decide when to auto-load this skill.
Persistent operation history and orchestration. 持久化操作历史与编排。
SKILL.md
workflow.SKILL.mdname: unity-workflow
description: Persistent operation history and orchestration. 持久化操作历史与编排。
Triggers
- Undoing a whole task or session
- Snapshotting before risky changes
- Planning/previewing batch operations
- Rolling back
- 撤销整个任务或会话、高危改动前快照、规划/预览批量操作、回滚
Workflow Skills
Persistent history and rollback system for AI operations ("Time Machine"). Allows tagging tasks, snapshotting objects before modification, and undoing specific tasks even after Editor restarts.
**NEW: Session-level undo** - Group all changes from a conversation and undo them together.
Operating Mode
- **Approval**:本模块大部分 skill 标 `SkillMode.SemiAuto`(bookmark / history / task / session 系列里的纯读查询 + `workflow_plan`,后者 ReadOnly=true 仅生成聚合计划),可直接执行。有副作用的 skill (`bookmark_set` / `bookmark_goto` / `workflow_snapshot_object` / `workflow_snapshot_created` / `batch_retry_failed`) 走默认 `SkillMode.FullAuto`,需 grant。
- **Auto / Bypass**:FullAuto 直接执行。
- **含 NeverInSemi 高危 skill**:`bookmark_delete` / `workflow_delete_task`(标 Operation.Delete,删除书签/任务记录)、`workflow_clear_history`(Operation.Delete + RiskLevel=high,清空全部历史+redo栈+文件存储,不可逆)。这些在 Approval/Auto 下返 `MODE_FORBIDDEN`,仅 Bypass 或 Allowlist 命中可调。
> 注意:`workflow_undo_task` / `workflow_session_undo` 不是 Delete operation(标的是 Modify/Execute),它们能在 Approval/Auto 直接撤销已记录任务。
**DO NOT** (common hallucinations):
- `workflow_save` does not exist → use `workflow_task_end` to end and save a task
- `workflow_rollback` does not exist → use `workflow_undo_task` (by taskId) or `workflow_session_undo` (by sessionId)
- `workflow_create` does not exist → use `workflow_task_start`
- `workflow_revert_task` is deprecated → use `workflow_undo_task`
**Routing**:
- For simple undo/redo (1 step) → `editor_undo` / `editor_redo` (editor module)
- For multi-step undo → `history_undo` with `steps` parameter (this module)
- For conversation-level undo → `workflow_session_undo` (this module)
Bookmark Skills
`bookmark_set`
Save current selection and scene view position as a bookmark.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | bookmarkName | string | Yes | - | Name for the bookmark | | note | string | No | null | Optional note for the bookmark |
**Returns:** `{ success, bookmark, selectedCount, hasSceneView, note }`
`bookmark_goto`
Restore selection and scene view from a bookmark.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | bookmarkName | string | Yes | - | Name of the bookmark to restore |
**Returns:** `{ success, bookmark, restoredSelection, note }`
`bookmark_list`
List all saved bookmarks.
No parameters.
**Returns:** `{ success, count, bookmarks: [{ name, selectedCount, hasSceneView, note, createdAt }] }`
`bookmark_delete`
Delete a bookmark.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | bookmarkName | string | Yes | - | Name of the bookmark to delete |
**Returns:** `{ success, deleted }`
History Skills
`history_undo`
Undo the last operation (or multiple steps).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | steps | int | No | 1 | Number of undo steps to perform |
**Returns:** `{ success, undoneSteps }`
`history_redo`
Redo the last undone operation (or multiple steps).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | steps | int | No | 1 | Number of redo steps to perform |
**Returns:** `{ success, redoneSteps }`
`history_get_current`
Get the name of the current undo group.
No parameters.
**Returns:** `{ success, currentGroup, groupIndex }`
Planning And Batch Governance
`workflow_plan`
Generate a combined execution plan for multiple skills on the server side.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `skillsJson` | string | Yes | - | JSON array of `{ "name": "...", "params": { ... } }` entries |
**Returns:** `{ totalSteps, totalRisk, steps, dependencies, warnings, mayDisconnect }`
`batch_query_assets`
Query project assets with filters that are useful before batch cleanup or migration work.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `searchFilter` | string | No | - | Extra `AssetDatabase.FindAssets` filter text | | `folder` | string | No | `Assets` | Search root | | `typeFilter` | string | No | - | Asset type filter such as `t:Material` or `Prefab` | | `namePattern` | string | No | - | Regex applied to file name without extension | | `labelFilter` | string | No | - | Asset label filter such as `l:Addressable` | | `maxResults` | int | No | `200` | Max assets returned |
**Returns:** `{ count, totalMatched, summary, assets }`
`batch_retry_failed`
Retry only the failed items from an earlier batch execution report. This now reuses the original operation context stored in the report.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `reportId` | string | Yes | - | Source report ID from `batch_report_get` / `batch_report_list` | | `runAsync` | bool | No | `true` | Return a `jobId` immediately or wait for completion | | `chunkSize` | int | No | `100` | Chunk size for retry execution |
**Returns:** `{ status, jobId?, retryCount, originalReportId, reportId? }`
Session Management (Conversation-Level Undo)
`workflow_session_start`
Start a new session (conversation-level). All changes will be tracked and can be undone together. **Call this at the beginning of each conversation.**
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | tag | string | No | null | Label for the session |
**Returns:** `{ success, sessionId,
Read more
name: unity-workflow description: Persistent operation history and orchestration. 持久化操作历史与编排。
Triggers
- Undoing a whole task or session
- Snapshotting before risky changes
- Planning/previewing batch operations
- Rolling back
- 撤销整个任务或会话、高危改动前快照、规划/预览批量操作、回滚
Workflow Skills
Persistent history and rollback system for AI operations ("Time Machine"). Allows tagging tasks, snapshotting objects before modification, and undoing specific tasks even after Editor restarts.
**NEW: Session-level undo** - Group all changes from a conversation and undo them together.
Operating Mode
- **Approval**:本模块大部分 skill 标 `SkillMode.SemiAuto`(bookmark / history / task / session 系列里的纯读查询 + `workflow_plan`,后者 ReadOnly=true 仅生成聚合计划),可直接执行。有副作用的 skill (`bookmark_set` / `bookmark_goto` / `workflow_snapshot_object` / `workflow_snapshot_created` / `batch_retry_failed`) 走默认 `SkillMode.FullAuto`,需 grant。
- **Auto / Bypass**:FullAuto 直接执行。
- **含 NeverInSemi 高危 skill**:`bookmark_delete` / `workflow_delete_task`(标 Operation.Delete,删除书签/任务记录)、`workflow_clear_history`(Operation.Delete + RiskLevel=high,清空全部历史+redo栈+文件存储,不可逆)。这些在 Approval/Auto 下返 `MODE_FORBIDDEN`,仅 Bypass 或 Allowlist 命中可调。
> 注意:`workflow_undo_task` / `workflow_session_undo` 不是 Delete operation(标的是 Modify/Execute),它们能在 Approval/Auto 直接撤销已记录任务。
**DO NOT** (common hallucinations):
- `workflow_save` does not exist → use `workflow_task_end` to end and save a task
- `workflow_rollback` does not exist → use `workflow_undo_task` (by taskId) or `workflow_session_undo` (by sessionId)
- `workflow_create` does not exist → use `workflow_task_start`
- `workflow_revert_task` is deprecated → use `workflow_undo_task`
**Routing**:
- For simple undo/redo (1 step) → `editor_undo` / `editor_redo` (editor module)
- For multi-step undo → `history_undo` with `steps` parameter (this module)
- For conversation-level undo → `workflow_session_undo` (this module)
Bookmark Skills
`bookmark_set`
Save current selection and scene view position as a bookmark.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | bookmarkName | string | Yes | - | Name for the bookmark | | note | string | No | null | Optional note for the bookmark |
**Returns:** `{ success, bookmark, selectedCount, hasSceneView, note }`
`bookmark_goto`
Restore selection and scene view from a bookmark.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | bookmarkName | string | Yes | - | Name of the bookmark to restore |
**Returns:** `{ success, bookmark, restoredSelection, note }`
`bookmark_list`
List all saved bookmarks.
No parameters.
**Returns:** `{ success, count, bookmarks: [{ name, selectedCount, hasSceneView, note, createdAt }] }`
`bookmark_delete`
Delete a bookmark.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | bookmarkName | string | Yes | - | Name of the bookmark to delete |
**Returns:** `{ success, deleted }`
History Skills
`history_undo`
Undo the last operation (or multiple steps).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | steps | int | No | 1 | Number of undo steps to perform |
**Returns:** `{ success, undoneSteps }`
`history_redo`
Redo the last undone operation (or multiple steps).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | steps | int | No | 1 | Number of redo steps to perform |
**Returns:** `{ success, redoneSteps }`
`history_get_current`
Get the name of the current undo group.
No parameters.
**Returns:** `{ success, currentGroup, groupIndex }`
Planning And Batch Governance
`workflow_plan`
Generate a combined execution plan for multiple skills on the server side.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `skillsJson` | string | Yes | - | JSON array of `{ "name": "...", "params": { ... } }` entries |
**Returns:** `{ totalSteps, totalRisk, steps, dependencies, warnings, mayDisconnect }`
`batch_query_assets`
Query project assets with filters that are useful before batch cleanup or migration work.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `searchFilter` | string | No | - | Extra `AssetDatabase.FindAssets` filter text | | `folder` | string | No | `Assets` | Search root | | `typeFilter` | string | No | - | Asset type filter such as `t:Material` or `Prefab` | | `namePattern` | string | No | - | Regex applied to file name without extension | | `labelFilter` | string | No | - | Asset label filter such as `l:Addressable` | | `maxResults` | int | No | `200` | Max assets returned |
**Returns:** `{ count, totalMatched, summary, assets }`
`batch_retry_failed`
Retry only the failed items from an earlier batch execution report. This now reuses the original operation context stored in the report.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `reportId` | string | Yes | - | Source report ID from `batch_report_get` / `batch_report_list` | | `runAsync` | bool | No | `true` | Return a `jobId` immediately or wait for completion | | `chunkSize` | int | No | `100` | Chunk size for retry execution |
**Returns:** `{ status, jobId?, retryCount, originalReportId, reportId? }`
Session Management (Conversation-Level Undo)
`workflow_session_start`
Start a new session (conversation-level). All changes will be tracked and can be undone together. **Call this at the beginning of each conversation.**
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | tag | string | No | null | Label for the session |
**Returns:** `{ success, sessionId,
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

