agentsclimarketplace

Clrun

Skill cybertheory/clrun/website/public/skills/clrun

The Interqactive CLI for AI Agents

Install
npx -y skills add cybertheory/clrun --skill clrun

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Run and control interactive CLI sessions for AI agents. Handles TUI prompts (select lists, checkboxes, confirms), persistent shell state, and long-running processes. Use when you need to execute terminal commands, respond to interactive prompts, navigate scaffolding wizards like create-vue or create-vite, or manage dev servers.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.5 KB, as published. Nobody here has run it

clrun — The Interactive CLI for AI Agents

No more --yes flags or command retries. clrun gives you full control over interactive terminal sessions with structured YAML responses.

Install

Node.js:

npm install -g clrun

Python (uv):

uv tool install clrun-cli

(pip: pip install clrun-cli)

Core Commands

ActionCommand
Run a commandclrun <command>
Send text + Enterclrun <id> "text"
Send keystrokesclrun key <id> down enter
Toggle checkboxclrun key <id> space
Accept defaultclrun key <id> enter
View outputclrun tail <id>
Check sessionsclrun status
Kill sessionclrun kill <id>
Interruptclrun key <id> ctrl-c

Two Input Modes

Text input — sends text followed by Enter:

clrun <id> "my-project-name"    # Type and press Enter
clrun <id> ""                    # Just press Enter

Keystroke input — sends raw keys for TUI navigation:

clrun key <id> down down enter           # Select 3rd item in list
clrun key <id> space down space enter    # Toggle checkboxes 1 and 2
clrun key <id> enter                      # Accept default

Available keys: up, down, left, right, enter, tab, escape, space, backspace, delete, home, end, pageup, pagedown, ctrl-c, ctrl-d, ctrl-z, ctrl-l, ctrl-a, ctrl-e, y, n

Identifying Prompt Types

When you tail a session, identify the prompt type to choose the right input:

You seeTypeAction
◆ Name: │ defaultText inputclrun <id> "value" or clrun key <id> enter
● Opt1 ○ Opt2 ○ Opt3Single-selectclrun key <id> down... enter
◻ Opt1 ◻ Opt2 ◻ Opt3Multi-selectclrun key <id> space down... enter
● Yes / ○ NoConfirmclrun key <id> enter or right enter
(y/n)Simple confirmclrun <id> "y" or clrun <id> "n"
name: (default)Readlineclrun <id> "value" or clrun <id> ""

Select List Navigation

Count items from the top. First item is highlighted by default. To select item N, send N-1 down presses then enter.

◆  Select a framework:
│  ● Vanilla       ← 0 downs
│  ○ Vue           ← 1 down
│  ○ React         ← 2 downs
│  ○ Svelte        ← 3 downs
clrun key <id> down down enter   # Selects React

Multi-Select Pattern

Plan a sequence of space (toggle) and down (skip) from top to bottom, ending with enter:

# Select items 1, 3, and 4 from a list of 5:
clrun key <id> space down down space down space enter
#              item1 skip  skip  item3 item4 confirm

Reading Responses

All responses are structured YAML. Key fields:

  • terminal_id — store this for all subsequent calls
  • output — cleaned terminal output (ANSI stripped)
  • statusrunning, suspended, exited, killed, detached
  • hints — exact commands you can run next (copy-pasteable)
  • warnings — detected issues with input or output

Workflow Pattern

1. START    →  clrun <command>               → get terminal_id
2. OBSERVE  →  clrun tail <id>               → read output, identify prompt
3. INTERACT →  clrun <id> "text" / clrun key → respond to prompt
4. REPEAT   →  steps 2-3 until done
5. CLEANUP  →  clrun kill <id>               → if needed

Shell Variable Quoting

Use single quotes to prevent your shell from expanding $ variables:

clrun <id> 'echo $MY_VAR'          # Correct
clrun <id> "echo $MY_VAR"          # Wrong — expanded before clrun sees it

Session Persistence

  • Environment variables persist within a session
  • Sessions auto-suspend after 5 min idle (env and cwd saved)
  • Sending input to a suspended session auto-restores it
  • No pre-check needed — just send input

See references/tui-patterns.md for complete real-world examples.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.