Kursach_StealthAction/.agent/skills/timeline-track-list/SKILL.md

5.9 KiB

name description metadata
timeline-track-list List the tracks of a `TimelineAsset` — name, type, mute/lock state, clip count, and each track's clips (with timing). Read-only.
generated-by
mcp-plugin-dotnet

Timeline / List Tracks

List the tracks of a TimelineAsset. For each output track returns its name, type, muted / locked flags, clip count, and (optionally) the clips with their timing.

Inputs

  • assetPath — required path to the .playable TimelineAsset.
  • includeClips — when true (default) include each track's clip list; when false, counts only.

Behavior

Enumerates TimelineAsset.GetOutputTracks() and reports each track. Read-only. Runs on the Unity main thread.

How to Call

unity-mcp-cli run-tool timeline-track-list --input '{
  "assetPath": "string_value",
  "includeClips": false
}'

For complex input (multi-line strings, code), save the JSON to a file and use:

unity-mcp-cli run-tool timeline-track-list --input-file args.json

Or pipe via stdin (recommended):

unity-mcp-cli run-tool timeline-track-list --input-file - <<'EOF'
{"param": "value"}
EOF

Troubleshooting

If unity-mcp-cli is not found, either install it globally (npm install -g unity-mcp-cli) or use npx unity-mcp-cli instead. Read the /unity-initial-setup skill for detailed installation instructions.

Input

Name Type Required Description
assetPath string Yes Assets-rooted path to the TimelineAsset (.playable).
includeClips boolean No If true (default), include each track's clips and their timing; if false, only counts.

Input JSON Schema

{
  "type": "object",
  "properties": {
    "assetPath": {
      "type": "string"
    },
    "includeClips": {
      "type": "boolean"
    }
  },
  "required": [
    "assetPath"
  ]
}

Output

Output JSON Schema

{
  "type": "object",
  "properties": {
    "result": {
      "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-TrackListResponse"
    }
  },
  "$defs": {
    "com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-TrackInfo-1": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-TrackInfo"
      }
    },
    "com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-TrackInfo": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Track name."
        },
        "trackType": {
          "type": "string",
          "description": "Track type name."
        },
        "isRoot": {
          "type": "boolean",
          "description": "Whether the track is a root (top-level) track."
        },
        "rootIndex": {
          "type": "integer",
          "description": "Root-track index, or -1 when nested in a group."
        },
        "muted": {
          "type": "boolean",
          "description": "Whether the track is muted."
        },
        "locked": {
          "type": "boolean",
          "description": "Whether the track is locked."
        },
        "clipCount": {
          "type": "integer",
          "description": "Number of clips on the track."
        },
        "clips": {
          "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-ClipInfo-1",
          "description": "The clips on the track (empty when includeClips is false)."
        }
      },
      "required": [
        "isRoot",
        "rootIndex",
        "muted",
        "locked",
        "clipCount"
      ]
    },
    "com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-ClipInfo-1": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-ClipInfo"
      }
    },
    "com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-ClipInfo": {
      "type": "object",
      "properties": {
        "index": {
          "type": "integer",
          "description": "Zero-based index of the clip on its track."
        },
        "displayName": {
          "type": "string",
          "description": "Display name of the clip."
        },
        "start": {
          "type": "number",
          "description": "Clip start time in seconds."
        },
        "duration": {
          "type": "number",
          "description": "Clip duration in seconds."
        },
        "end": {
          "type": "number",
          "description": "Clip end time in seconds."
        },
        "blendInDuration": {
          "type": "number",
          "description": "Blend-in duration in seconds."
        },
        "blendOutDuration": {
          "type": "number",
          "description": "Blend-out duration in seconds."
        },
        "assetType": {
          "type": "string",
          "description": "Type name of the clip's PlayableAsset, or null."
        }
      },
      "required": [
        "index",
        "start",
        "duration",
        "end",
        "blendInDuration",
        "blendOutDuration"
      ]
    },
    "com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-TrackListResponse": {
      "type": "object",
      "properties": {
        "assetPath": {
          "type": "string",
          "description": "Project path of the TimelineAsset."
        },
        "durationMode": {
          "type": "string",
          "description": "Duration mode of the timeline."
        },
        "duration": {
          "type": "number",
          "description": "Computed duration of the timeline in seconds."
        },
        "count": {
          "type": "integer",
          "description": "Number of output tracks."
        },
        "tracks": {
          "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Timeline-TrackInfo-1",
          "description": "The output tracks of the timeline."
        }
      },
      "required": [
        "duration",
        "count"
      ]
    }
  },
  "required": [
    "result"
  ]
}