Install any skill in seconds. Free to start, no credit card required.
Get Started Free →awslabs/cao-session-liveness
Verify whether a CAO session is actually alive and what it really said, before reporting progress or completion to a user. Use alongside cao-session-management whenever you launch, poll, or report on a CAO session — especially when a session appears stalled, a send times out, or a status value looks inconsistent with the output.
Passed 18 of 20 test cases with the skill, and 7 of 20 without it.
and 11 more in the full report
13 fixed8 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
A CAO session reports a status of `idle`, but the last lines of its output tail show `user@host:~/src$ ` with a current timestamp. Is this session ready for input?
| Checked | Without skill | With skill |
|---|---|---|
| The response classifies the session as dead or exited despite the idle status. | Missed | Passed |
The instructions your model reads when the skill loads.
Companion to cao-session-management, which covers the mechanics of launching
and messaging sessions. This skill covers a single question that mechanics alone
cannot answer: is the session actually alive, and is the status telling me the
truth?
Every CAO provider infers agent state by pattern-matching the rendered terminal
screen. There is no structured protocol between CAO and the provider CLI. A
provider that has exited, crashed, or stalled on an unanswerable dialog can
leave a screen that still matches an idle or processing pattern.
The consequence is specific and it is the failure this skill exists to prevent: reporting progress on a session that is already dead.
Never report readiness, progress, or completion from a status value alone. Always corroborate with output before you tell a user anything:
get_terminal_status, or cao session status SESSION).read_session_output / get_terminal_output, or
cao session status SESSION --json and inspect last_output).A status of idle with an output tail showing a shell prompt means the CLI
exited. Report the session as dead, not as ready.
Treat any of the following in the output tail as proof the provider is no longer running, regardless of the reported status:
| Signal | Means |
|---|---|
Session ended. / Resume with: <cli> --resume-id ... | The CLI exited on its own |
error: Conflicting options: or a usage/help banner | The CLI rejected its launch flags and never started |
API Error (...), 400, or a model/auth failure | The provider started but cannot reach a model |
test cases passed, vs 7 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.