---
name: okstra-manager
description: Use when the user wants to manage okstra work across multiple project roots, register or discover projects under a manager, create or update a shared manager task, sync project child-task status into manager state, or launch a child task from manager context. Trigger words include "okstra manager", "okstra-manager", "multiple projects", "cross-project", "group projects together", "manager task".
---

# OKSTRA Manager

Thin conversational wrapper over `okstra manager`. Manager state and child launch decisions belong to the CLI fixed output, not to this skill.

## Bash Invocation Rule

Every command in this skill must begin with the literal token `okstra`. Do not introduce shell variables, command substitution, leading environment assignments, or alternate wrappers around `okstra manager`.

## Command Surface

Use the CLI output as the source of truth.
Nested project, manifest, child, snapshot, and directive values are carried by
the CLI's numbered count/name/value rows; do not omit or reconstruct them.

```bash
okstra manager init --manager-id <manager-id>
okstra manager discover-projects
okstra manager new project --manager-id <manager-id> --project-id <project-id> --project-root <abs-path> [--role <role>] [--tag <tag>]
okstra manager new task-group --manager-id <manager-id> --task-group <task-group>
okstra manager new task --manager-id <manager-id> --task-group <task-group> --task-id <task-id> --task <project-id:task-group:task-id>
okstra manager task status --manager-id <manager-id> --task-group <task-group> --task-id <task-id>
okstra manager task sync --manager-id <manager-id> --task-group <task-group> --task-id <task-id>
okstra manager task assign --manager-id <manager-id> --task-group <task-group> --task-id <task-id> --project-id <project-id> [--child-task-id <child-task-id>] [--role <role>] [--tag <tag>] [--assignment <text>]
okstra manager task note --manager-id <manager-id> --task-group <task-group> --task-id <task-id> --scope <shared|project> [--project-id <project-id>] --body <text>
okstra manager task run --manager-id <manager-id> --project-id <project-id> --task-group <task-group> --task-id <task-id> [--child-task-id <child-task-id>]
```

- Public child task identity is `project-id:task-group:task-id`.
- `okstra manager new task --task ...` should prefer the full child key form above. The CLI also accepts shorthand under the command's `--task-group`, but the full key is the public form to show users.
- When a manager task id differs from the actual child task id for a specific project, pass `--child-task-id <child-task-id>` to `task assign` and `task run`.

## Child Launch Rule

For launching child work:

1. Run `okstra manager task sync ...` if the manager snapshot must be refreshed first.
2. Run `okstra manager task run ...`.
3. Read the returned fixed fields `Backend`, `Worker dispatch backend`, `Project root`, `Context path`, and every numbered `Run arg N`.
4. Use that launch packet for the host-native child lead handoff.

The launch packet remains the source of truth. Do not rebuild child args by hand.
