Skip to content

Command Support Inventory

This page inventories the command surfaces discovered during the 2026-06-10 command review, with an EPIC-008 command-center addendum smoke-tested on 2026-06-17. It complements the CLI Commands reference by showing where each command is implemented, how it was smoke-tested, and which commands require a live dashboard or external services.

Review scope

SurfaceSource of truthNotes
ostwin CLI.agents/bin/ostwin and .agents/bin/ostwin.ps1Unified PowerShell entrypoint. The Unix executable uses a pwsh shebang; Windows uses ostwin.cmd to invoke ostwin.ps1.
MCP extension manager.agents/mcp/mcp-extension.shReached through ostwin mcp ... except ostwin mcp sync, which calls resolve_opencode.py directly.
Channel CLI.agents/bin/channel_cmd.pyReached through ostwin channel ...; all operational subcommands call the dashboard REST API.
Search engine manager.agents/search-engine.shManages a user-owned SearXNG runtime under OSTWIN_HOME/search-engine.
Role subcommands.agents/roles/*/subcommands.jsonCurrently manager and macos-automation-engineer expose role subcommands.
Bot slash commandsbot/src/commands.tsRegistry used by Discord, Telegram, and Slack connectors.
ostwin MCP tools.agents/mcp/ostwin-server.pyTools exposed to OpenCode as deterministic MCP calls that proxy dashboard REST APIs.

Safe smoke-test matrix

These commands were exercised in a non-destructive shell with a temporary OSTWIN_HOME and unused dashboard port where possible.

CommandResultClassificationNotes
ostwin --helpPassSafeMain help renders all top-level commands.
ostwin versionPassSafePrints ostwin v<version> from .agents/config.json.
ostwin plan helpPassSafeShows create, start, list, clear.
ostwin skills helpPassSafeShows sync, install, search, update, remove, list.
ostwin mcp helpPassSafeShows extension, credentials, test, compile, migrate, and init-project commands.
ostwin search-engine --helpPassSafeShows install/configure/start/stop/status/settings.
ostwin channel --helpPassSafeArgparse help shows list/connect/disconnect/test/pair.
ostwin memory helpPassSafeShows namespace list/stats/tree/clear/delete/archive/export.
ostwin dashboard helpPassSafeShows server lifecycle and autostart commands.
ostwin test --helpPassSafeLists available Pester suites and flags.
ostwin rolePassSafeLists roles that have subcommands.json.
ostwin role macos-automation-engineerPassSafeLists the nine macOS script shortcuts.
ostwin mac app helpPassSafeConfirms app lifecycle usage.
ostwin mac window helpPassSafeConfirms Accessibility-gated window commands.
ostwin mac capture helpPassSafeConfirms Screen Recording-gated capture commands.
ostwin config --helpPassSafeShows get/set syntax.
ostwin status --jsonPassSafe/read-onlyReads local .war-rooms state.
ostwin rooms --jsonPassSafe/read-onlyReads command-center run state without human stdout pollution.
ostwin room room-001 messages --fullPassSafe/read-onlyFull channel body access through room inspection.
ostwin events --json --last 20PassSafe/read-onlyReads structured event stream as JSON array.
ostwin search <query> --jsonPassSafe/read-onlySearches bounded runtime evidence in temp fixtures.
ostwin control pause --reason ... --non-interactive without --yesPassNegative safetyFails closed and explains confirmation requirements.
ostwin logs --last 1PassSafe/read-onlyReads latest local channel message.
ostwin dashboard statusPassSafe/read-onlyReports whether a dashboard process listens on the configured port.
ostwin search-engine statusPassSafe/read-onlyReports runtime state and managed paths without starting SearXNG.
ostwin mcp catalogPassSafe/read-onlyCatalog command returns successfully even when no packages are present.
ostwin mcp listPassSafe/read-onlyLists built-in MCP servers and installed extensions.
ostwin mcp definitely-not-a-commandFixedNegative testUnknown MCP subcommands now exit non-zero instead of reporting failure with exit 0.

Dashboard-dependent commands

These commands are valid but need the dashboard API to be running and reachable at DASHBOARD_URL/DASHBOARD_PORT.

Command familyRequires dashboard?Why
ostwin plan create, ostwin plan listYesUses /api/plans/create, /api/plans, and related plan editor endpoints.
ostwin channel list/connect/disconnect/test/pairYesUses /api/channels/....
ostwin skills listYesUses /api/skills.
ostwin memory list/stats/tree/clear/delete/archive/exportYesUses /api/amem/....
ostwin healthPartiallyChecks local components plus dashboard endpoints when available.

Top-level CLI commands

CommandSupported subcommands/optionsImplementationStatus
run--dry-run, --resume, --sync, --expand, --plan-review, --enable-planning, --working-dir, --workspace-isolation, --non-interactive, --debug, --plain, --json-events.agents/bin/ostwin + .agents/plan/Start-Plan.ps1 + .agents/lib/Console.psm1Supported; EPIC-008 smoke covers dry-run plain, debug, JSON-events, no-color/CI fallback.
plancreate, start, list, clearCLI + dashboard API + Start-Plan.ps1Supported; help smoke-tested.
init[directory], --yes, --help.agents/init.ps1Supported.
sync[directory].agents/sync.ps1Supported for directories already initialized with .agents/; exits non-zero for uninitialized targets.
status--json, --watch.agents/war-rooms/Get-WarRoomStatus.ps1Supported; --json smoke-tested.
logs[room-id], --follow, --type, --from, --last.agents/logs.ps1Supported; read-only smoke-tested.
stop--forceInline CLI process shutdownSupported; destructive, not smoke-tested.
rooms--json.agents/bin/run-state.ps1 + .agents/lib/RunState.psm1Supported; read-only command-center smoke-tested.
room<room-id> [brief|tasks|qa|messages|logs|artifacts|status], --json, --full, --last, --follow where supported.agents/bin/run-state.ps1 + .agents/lib/RunState.psm1 + .agents/lib/AgentMessageRenderer.psm1Supported; read-only command-center smoke-tested.
epic<EPIC-ID> [brief|tasks|qa|messages|logs|artifacts|status].agents/bin/run-state.ps1 + .agents/lib/RunState.psm1Supported; resolves epic refs to rooms.
events / timeline--json, --last N, --follow.agents/bin/run-state.ps1 + .agents/lib/EventStream.psm1Supported; event JSON and human timeline smoke-tested.
inspectno subcommands.agents/bin/run-state.ps1Supported; prints read-only inspection help.
search<query>, --limit N, --json.agents/bin/run-state.ps1 + .agents/lib/RunState.psm1Supported; bounded runtime evidence search smoke-tested.
controlpause, resume, stop, rerun, kill, force-transition.agents/bin/control.ps1 + .agents/lib/Control.psm1 + .agents/lib/EventStream.psm1Supported with confirmation/audit safeguards; smoke uses only temp fixtures/stale PID.
dashboardstart, stop, restart, status, logs, autostart, --port, --project-dir.agents/dashboard.sh / .agents/dashboard.ps1Supported; status and help smoke-tested.
channellist, connect, disconnect, test, pair.agents/bin/channel_cmd.pySupported; help smoke-tested.
config--get, --set, --help.agents/config.ps1Supported; help smoke-tested.
rolelist roles, list role subcommands, dispatch role subcommandRole subcommands.json manifestsSupported; list paths smoke-tested.
macapp, window, click, type, capture, system, finder, axbridge, devtoolsShortcut to role macos-automation-engineerSupported; help smoke-tested for representative scripts.
health--json.agents/health.ps1Supported; may report unhealthy without dashboard.
skillssync, install, search, update, remove, list.agents/sync-skills.ps1, .agents/clawhub-install.ps1Supported; help smoke-tested.
mcpinstall, list, catalog, remove, sync, test, compile, credentials, migrate, init-project.agents/mcp/mcp-extension.sh, resolve_opencode.pySupported; help/list/catalog smoke-tested.
search-engineinstall, configure, start, stop, status, settings.agents/search-engine.shSupported; status/help/settings smoke-tested. settings is safe before configure and prints guidance.
reload-envno subcommandsInline CLI MCP config updaterSupported; writes MCP configs.
memorylist, stats, tree, clear, delete, archive, exportInline dashboard API wrapperSupported; help smoke-tested.
test--suite, --path, --verboseInline Pester runnerSupported; help smoke-tested.
version-v, --versionInline version printerSupported; smoke-tested.

Bot slash command registry

Bot commands are configured once in COMMAND_REGISTRY and then exposed by each connector. Discord includes the voice-only commands; Telegram and Slack omit commands marked discordOnly.

CategoryCommands
Plans and AImenu, help, draft <idea>, edit, viewplan, startplan, resume, assets, setdir <path>, cancel, clear, feedback <text>
Monitoringdashboard, status, errors, logs <room_id>, health, progress, plans
Skills and rolesskills, skillsearch <query>, skillinstall <slug>, skillremove <name>, skillsync, roles
Systemtriage <room_id>, clearplans, new, restart, launchdashboard, preferences, subscriptions
Discord voice onlyjoin, leave, ping

ostwin MCP server tools

The ostwin MCP server exposes dashboard actions as typed tools for OpenCode. These tools are dashboard-dependent and return JSON strings.

ToolPurpose
list_plansList every plan with ID, title, and status.
get_plan_status(plan_id)Return one plan plus its epic statuses.
create_plan(idea, working_dir?)Create and AI-draft a new plan, then save it.
refine_plan(plan_id, instruction)Ask the dashboard to refine and save an existing plan.
launch_plan(plan_id)Launch a saved plan into war-rooms.
resume_plan(plan_id)Mark a plan as running again.
get_war_room_statusReturn aggregate dashboard stats.
get_logs(plan_id, room_id, limit?)Read recent war-room channel messages.
get_healthCheck dashboard health.
search_skills(query)Search ClawHub through the dashboard API.
get_plan_assets(plan_id)List plan-attached assets.
get_memories(plan_id)Stub currently returning an empty memories array.

Removal guidance

The broken clone-role shortcut was removed from public help/docs because it delegated to a missing manager clone role subcommand. The invalid ostwin mac click 100 200 example was replaced with ostwin mac click help; real click actions must include a click subcommand such as ostwin mac click click 100 200 and require Accessibility permission. The unknown MCP subcommand path was fixed to return exit 1, and command wrappers now propagate child-process failures for sync and role/mac dispatch. Commands that require credentials, dashboard availability, Git worktrees, Accessibility permission, Screen Recording permission, or destructive state changes remain documented but should be tested in an environment prepared for those side effects.