Use when: User wants to INSPECT, MONITOR, START, APPROVE, or CONTROL Archon workflow RUNS in the current project — driven through the `archon` CLI over bash. Triggers (inspect): "what's running", "list runs", "show recent runs", "run status", "did the review pass", "check run <id>", "show me run <id>", "what happened in that run". Triggers (control): "approve the plan", "approve run <id>", "reject that run", "cancel that run", "abandon run <id>", "resume run <id>", "continue that run". Triggers (start): "start <workflow> in the background", "kick off <workflow> detached". Capability: Drives `archon workflow runs/get/status/run --detach/approve/reject/abandon/resume` with machine-readable `--json` output, scoped to the current project by cwd. NOT for: Authoring workflows/commands, or Archon setup/config — use the broader `archon` skill.
79
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
A focused skill for managing workflow runs through the archon CLI. It assumes
Archon is already installed and you are working inside the project repo — the
current directory scopes every command to that project automatically. For authoring
workflows, setup, or config, use the broader archon skill instead.
!archon workflow runs --limit 10 2>&1 || echo "Archon CLI not installed. (This skill needs the archon CLI on PATH.)"
--json to any command for a single clean JSON object on stdout (logs are
suppressed automatically in --json mode). Prefer --json when you will parse the result.--json you get human-readable text. Diagnostics/warnings always go to stderr.| Goal | Command |
|---|---|
| List recent runs (all statuses, this project) | archon workflow runs --json |
| List across all projects | archon workflow runs --all --json |
| Filter by status / cap rows | archon workflow runs --status running --limit 50 --json |
| Show one run (status, error) | archon workflow get <run-id> --json |
| One run with per-node detail | archon workflow get <run-id> --verbose --json |
| Active runs only (running/paused) | archon workflow status --json |
| Start a run, non-blocking | archon workflow run <workflow> "<message>" --detach |
| Approve a paused gate | archon workflow approve <run-id> "looks good" --json |
| Accept & complete a signal-bearing loop gate | archon workflow approve <run-id> --json (NO comment) |
| Reject a paused gate | archon workflow reject <run-id> "fix X first" --json |
| Cancel a non-terminal run | archon workflow abandon <run-id> --json |
There is no separate
cancelverb —abandoncancels a non-terminal run by id.
archon workflow runs --json # find the run id
archon workflow get <run-id> --json # poll status: running | completed | failed | pausedA run is finished when status is completed, failed, or cancelled.
archon workflow run archon-assist "Investigate the flaky test" --detach
# returns immediately; the run then appears in `archon workflow runs`--detach runs the workflow in a background child. The parent can't print the new
run id (it's created in the child) — find it with archon workflow runs. If the run
never appears, check the child log path printed by the command (or the logPath
field in --detach --json).
Console UI note: a detached run appears in the web console's Workflow dock (the dock lists runs by project) and updates live — even though it executes in a separate process. A server-side poller tails the workflow-event table and replays new rows to the console's live feed (on PostgreSQL a
NOTIFYtrigger pushes them within the same second; on SQLite the poller picks them up on its short interval). No refresh is needed.
--json approve/reject/resume record the decision (the run becomes resumable) but
do not execute the workflow — execution streams output that would corrupt the JSON.
So:
archon workflow approve <run-id> "ship it" --json # records the approval (resumable: true)
archon workflow resume <run-id> # execute it — run this as a BACKGROUND task
archon workflow get <run-id> --json # poll until completed/failedIf you only need to record the decision (e.g. cancel via reject) and don't need to
drive the run forward, the --json step alone is enough. To approve and continue
in one blocking call, drop --json: archon workflow approve <run-id> "ship it"
auto-resumes (run it as a background task).
When a paused interactive loop gate detected its completion signal
(archon workflow get <run-id> --json → .metadata.approval.completionSignaled is
true), approving with no comment accepts the completion — on resume the node
finalizes from the already-computed output with no re-run. Approving with a
comment runs another iteration using it as feedback. Read the gate state first, then
choose deliberately:
archon workflow get <run-id> --json | jq .metadata.approval.completionSignaled
archon workflow approve <run-id> --json # accept & complete (finalize, no re-run)
archon workflow approve <run-id> "redo X" --json # run another iteration with feedback(In project-scoped chat, the manage_run tool's approve action mirrors this: no
message — or accept: true — finalizes; a message iterates.)
For the full flag list and JSON shapes of each verb: read references/commands.md.
ace0a41
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.