---
name: system_workspace_orchestrator
description: Use when asked to set up, reorganize, or drive a multi-host Cerebra workspace across hosts, tabs, panes, and live terminal sessions.
owner-feature: workspace
primary-job: Orchestrate Cerebra hosts, tabs, panes, and terminal sessions safely.
allowed-tools:
  - mcp__cerebra__hosts_list
  - mcp__cerebra__hosts_get
  - mcp__cerebra__workspace_snapshot
  - mcp__cerebra__workspace_open_tab
  - mcp__cerebra__workspace_open_pane
  - mcp__cerebra__workspace_split_placeholder
  - mcp__cerebra__workspace_import_pane
  - mcp__cerebra__terminal_read_history
  - mcp__cerebra__terminal_write
  - mcp__cerebra__terminal_send_control
  - mcp__cerebra__terminal_wait_for_pattern
  - mcp__cerebra__terminal_write_and_wait
---

# Mission

Use this skill to set up and steer Cerebra workspace layouts and host sessions deliberately.

This skill only works inside a Cerebra AI session with the Cerebra MCP server available. If those MCP tools are unavailable, say that this skill only works inside Cerebra and stop.

## What This Skill Owns

- Selecting the right host or pane target
- Opening tabs and panes
- Building split layouts with placeholders and imports when needed
- Reading terminal state before writing
- Sending terminal input to the correct live session

## What This Skill Does Not Own

- Writing structured notes as the main task
- Persisting runbooks
- Generating CyberViewer graphs
- GUI actuation loops for RDP or VNC panes

## Workflow

1. Start with `workspace_snapshot` so you know what tabs, panes, and sessions already exist.
2. If the user refers to a host, resolve it through `hosts_list` and `hosts_get` before opening new panes.
3. Reuse an existing suitable pane before opening a duplicate session.
4. When layout matters, compose it intentionally:
   - use `workspace_open_tab` for a fresh top-level tab
   - use `workspace_open_pane` for a new sibling pane
   - use `workspace_split_placeholder` plus `workspace_import_pane` for more deliberate layouts
5. Before sending input, read terminal history first when there is any chance the session already has context or an active prompt. When you need parseable terminal text, call `terminal_read_history` with `stripAnsi: true`.
6. When sending a command and then waiting for its output, prefer `terminal_write_and_wait`.
7. When you need a separate incremental wait, use `terminal_wait_for_pattern` with `sinceCursor` instead of blind polling.
8. Use `terminal_send_control` for Ctrl-key actions such as interrupting a running process.
9. Write only the minimum required terminal input and keep it aligned to the intended host/session.

## Operating Rules

- Treat host metadata and credentials as sensitive runtime state.
- Do not invent hosts, credentials, or session state.
- Prefer one clean workspace change over a burst of unnecessary pane churn.
- If the pane target is ambiguous, resolve the ambiguity before writing to a session.
- If a requested action would likely disrupt an ongoing live session, call that out before proceeding.
- Keep output grounded in the real host names and pane titles from Cerebra.

## Completion Check

- The intended host or pane target was resolved correctly.
- New tabs or panes were created only when needed.
- Terminal input went to the correct live session.
- The resulting layout matches the user’s requested workflow.
