Durable CLI task management for long-running or interactive commands.
Install
mkdir -p .claude/skills/oly && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10080" && unzip -o skill.zip -d .claude/skills/oly && rm skill.zipInstalls to .claude/skills/oly
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when starting a long-running or interactive CLI command with oly, especially when it may need later input, should be detachable, or should keep durable logs for supervision and resume.Key capabilities
- →Start long-running CLI processes
- →Monitor session logs
- →Send interactive input
- →Update session metadata
- →Notify on task completion
How it works
Oly starts a process in a supervised session that persists across disconnects. It provides structured logging and allows sending input to interactive TUI or CLI prompts.
Inputs & outputs
When to use oly
- →Managing long-running background tasks
- →Supervising interactive sessions
- →Detaching CLI processes
About this skill
When to use
Use oly start instead of a direct terminal invocation when ANY of these apply:
- The command may prompt for input later (approvals, confirmations, credentials).
- The session must survive terminal closes, disconnects, or agent handoff.
- Logs, replay, or auditability matter.
- Another human or agent may need to resume or inspect the work.
Also use oly to supervise sessions already running under it: list, inspect, send input, stop, restart.
Do not use oly for short, non-interactive commands — a normal terminal is simpler.
Prerequisite
All commands talk to the daemon. If a command fails to connect, start it first:
oly daemon status # check
oly daemon start --detach # start if needed
Principles
- Supervisor mindset. Start the job, monitor it, intervene only when needed.
- Small tails first. Use
--tail 40; expand only when context is insufficient. - Fewer polls, longer waits. Set
--timeoutto match the expected next checkpoint — reduces churn and token cost. - Machine-readable listing. Use
oly ls --json --status runningfor scripting or structured decisions. - ID optional. Most commands target the most recently created session when the ID is omitted — pass the ID explicitly when juggling multiple sessions.
Workflow
1) Start
oly start --title "task 1" --cwd /path/to/dir --detach the_cmd --arg1 --arg2
| Flag | Purpose |
|---|---|
--detach | Return immediately with the session ID. |
--disable-notifications | Suppress notifications when you will supervise yourself. |
--node <name> | Run on a connected secondary node. |
2) Monitor
oly logs <ID> --tail 40 --no-truncate --wait-for-prompt --timeout 10s
--wait-for-prompt— blocks until the session likely needs input or timeout expires.--timeout— accepts250ms,10s,5m,1h(default5m). Shorten for fast tasks; lengthen for slow ones.- On timeout it prints only the
Waiting for session ...line and exits 0 with no log output — treat that as "nothing new, decide whether to wait again." - Start with
--tail 40; increase only when recent context is insufficient.
3) Send input
oly send <ID> "hello world!" key:enter
oly send <ID> oly-clipboard
oly send <ID> "cat " oly-file:/path/to/file key:enter
- Arguments are sent left-to-right. Plain text is literal; special keys use
key:prefix. - Keys:
key:enter,key:ctrl+c,key:alt+x,key:shift+tab,key:up,key:down. - Raw hex:
key:hex:.... Piped stdin is supported when no positional chunks are given. - Clipboard content uses
oly-clipboard. Local file upload usesoly-file:<path>. This is normally used for remote node sessions.
Input strategy:
| Scenario | Action |
|---|---|
| Menu / TUI selection | Navigate with key:up / key:down / key:enter. |
| Freeform text prompt | Send text + key:enter. |
| Stuck / needs interrupt | key:ctrl+c (or relevant control sequence like key:esc). |
4) Lifecycle
oly attach <ID> # Detach: Ctrl-], then d
oly update <ID> --title "better name"
oly update <ID> --title ""
oly update <ID> --tag prod --tag release
oly update <ID> --tag ""
oly stop <ID>
oly restart <ID> # new ID and logs; source history is retained; --force kills a running source
oly rm <ID> # delete a stopped session + its logs; --force also kills a running one
oly ls # oly ls --json for agents
oly updatechanges session metadata without restarting the session.--title ""clears the title. If--titleis omitted, the existing title is kept.--tag ""clears all tags. If--tagis omitted, existing tags are kept.- Repeating
--tagreplaces the full tag list with the provided tags. oly restart <ID>creates a new session from persisted command, arguments, cwd, title, tags, and notification settings. It retains the source record and logs; running sources require--forceand are killed first.oly rm <ID>deletes a stopped session's DB row and on-disk logs. Running sessions are refused unless you pass--force(which kills the session first).
5) Notify
oly notify send <ID> --title "Done" --description "Summary." --body "Details."
<ID>is optional — include it to link the notification to a specific session. It must be a running session; omit the ID if the session already ended.- Toggle per-session notifications:
oly notify enable <ID>/oly notify disable <ID>. - Notifications go to the human (desktop / configured notification hook), never to another session. To message another session, use
oly sendwith the report-back protocol below.
Help
oly --help # or: oly <command> --help
oly skill # print the bundled copy of this skill — bootstrap other agents with it
Recipes
Supervise an agent session and push it forward
User: "Run the fixer agent and keep it moving until the tests pass."
- Start it and note the returned ID:
oly start --title "fix tests" --cwd /repo --detach <agent-cmd> - Loop until done — wait, read, decide, act:
Judge the tail: asking for approval? stuck on a menu? finished?oly logs <ID> --tail 40 --no-truncate --wait-for-prompt --timeout 5m
Repeat with a timeout that matches the task's pace.oly send <ID> "yes" key:enter # unblock a confirmation oly send <ID> key:ctrl+c # interrupt a hang, then re-prompt - When the task completes, summarize the outcome for the user. Use
oly stop <ID>if the process is still lingering, and optionally alert them:oly notify send <ID> --title "fix tests" --description "Done — tests pass."
Do NOT answer prompts blindly — when a decision is consequential (destructive action, credentials, ambiguous choice), report to the user instead of guessing.
Delegate to a worker agent session
Hand a task to another agent CLI and have it report back to you:
- Start the worker and note the ID:
oly start --title "worker" --cwd /repo --detach pi - Optional — switch its model interactively: send
/modelkey:enter, type a filter, thenkey:enter. Pause ~2s between TUI steps and verify each witholy logsbefore sending the next. - In the task prompt, tell the worker to run
oly skillitself to learn the CLI — do NOT paste the reference into the prompt. The prompt must include: the task, your own session ID, and the report-back protocol below. - Supervise with the loop from the previous recipe;
oly stop <ID>when done.
Report-back protocol (busy-safe). Sending to another session is not guaranteed: a stopped session rejects input outright (exit 1), and a busy TUI may queue or swallow it. So the sender must check, send, confirm, and retry:
oly ls --json --status running # 1. receiver must be running
oly send <TARGET> "worker <ID> DONE branch=... commit=... summary=..." key:enter # 2. send
oly logs <TARGET> --tail 15 # 3. confirm your text landed in its output
sleep 10 # 4. if missing: wait and resend, up to 3 tries
Make report text self-identifying (sender session ID, status, key results) — a busy receiver may only act on the message later.
Watch several sessions at once
oly ls --json --status running # what's still alive?
oly logs <ID> --tail 40 # spot-check one session
oly notify enable <ID> # let the human get pinged when it needs input
Recover a stuck or failed session
oly send <ID> key:ctrl+c # interrupt a hang
oly logs <ID> --tail 120 # confirm the failure mode
oly restart <ID> # rerun same cmd/cwd, fresh logs (source history kept)
oly restart <ID> --force # even if the source is still running
When not to use it
- →Short, non-interactive commands
Limitations
- →Requires manual supervision for complex interactive tasks
How it compares
Unlike a standard terminal, oly provides durable logging, session replay, and the ability for agents to resume or supervise tasks after a disconnect.
Compared to similar skills
oly side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| oly (this skill) | 0 | 5mo | Review | Intermediate |
| it-operations | 1 | 9mo | No flags | Advanced |
| pagerduty | 0 | 3mo | No flags | Beginner |
| home-assistant-manager | 9 | 10mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by slaveOftime
View all by slaveOftime →You might also like
it-operations
davila7
Manages IT infrastructure, monitoring, incident response, and service reliability. Provides frameworks for ITIL service management, observability strategies, automation, backup/recovery, capacity planning, and operational excellence practices.
pagerduty
fisker086
Query PagerDuty incidents, services, and on-call schedules
home-assistant-manager
komal-SkyNET
Expert-level Home Assistant configuration management with efficient deployment workflows (git and rapid scp iteration), remote CLI access via SSH and hass-cli, automation verification protocols, log analysis, reload vs restart optimization, and comprehensive Lovelace dashboard management for tablet-optimized UIs. Includes template patterns, card types, debugging strategies, and real-world examples.
email-systems
davila7
Email has the highest ROI of any marketing channel. $36 for every $1 spent. Yet most startups treat it as an afterthought - bulk blasts, no personalization, landing in spam folders. This skill covers transactional email that works, marketing automation that converts, deliverability that reaches inboxes, and the infrastructure decisions that scale. Use when: keywords, file_patterns, code_patterns.
infra-guardian
diegosouzapw
OpenClaw Agent Infrastructure Guardian — keep your agent's infrastructure alive. Process lifecycle management with detached execution, auto-restart on failure. Cron scheduler health monitoring (per-job detection, auto-recovery). Direct Telegram/messaging alerts independent of OpenClaw. System-level
setup
barefootford
Sets up a Mac for ButterCut. Installs all required dependencies (Homebrew, Ruby, Python, FFmpeg, WhisperX). Use when user says "install buttercut", "set up my mac", "get started", "first time setup", "install dependencies" or "check my installation".