Skip to content
cccskills
FreePublished on GitHub

cli-exercise

Exercise a real command-line program with specified cases or a stated goal, then capture and verify the observed behavior. It produces local media evidence such as a session video, helping reviewers see what the command did without treating the recording as proof of general correctness.

OriginalShow the original description

Exercises real command-line programs from explicit cases or a goal, with faithful terminal recordings and observed results. Use when asked to record CLI test cases, demonstrate command behavior, validate an interactive workflow, or explore a command against a goal; not for ordinary unit-test execution or skill authoring.

cli/cli46,747 stars(GitHub 46,747 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Record specified CLI test cases
  • Demonstrate a command’s behavior
  • Validate an interactive terminal workflow
  • Explore a command against a goal

Files included (77)

  • SKILL.md8.2 KB
  • .gitignore67 B
  • internal/cli-exercise-evidence/SKILL.md7.8 KB
  • internal/cli-exercise-exact/SKILL.md3.2 KB
  • internal/cli-exercise-explore/SKILL.md3.3 KB
  • internal/cli-exercise-preflight/SKILL.md3.4 KB
  • internal/cli-exercise-run/SKILL.md4.5 KB
  • references/controllers.md3.9 KB
  • references/examples.md5.7 KB
  • references/maintenance.md6.4 KB
  • references/prerequisites.md9.4 KB
  • references/recording-sessions.md13.6 KB
  • references/run-contract.md9.9 KB
  • references/runtime-interface.md21.8 KB
  • scripts/package-lock.json32.5 KB
  • scripts/package.json205 B
  • scripts/terminal.mjs7.9 KB
  • tests/skill-evaluations.json17.4 KB
  • tool/go.mod275 B
  • tool/go.sum950 B
  • tool/internal/cliutil/environment_test.go1.3 KB
  • tool/internal/cliutil/environment.go1.5 KB
  • tool/internal/cliutil/files.go2.5 KB
  • tool/internal/cliutil/io_test.go1.6 KB
  • tool/internal/cliutil/io.go4.1 KB
  • tool/internal/cliutil/process_other.go922 B
  • tool/internal/cliutil/process_unix.go2.0 KB
  • tool/internal/engine/actions_test.go10.7 KB
  • tool/internal/engine/actions.go22.6 KB
  • tool/internal/engine/assertions_test.go3.4 KB
  • tool/internal/engine/assertions.go2.5 KB
  • tool/internal/engine/contract.go22.3 KB
  • tool/internal/engine/options.go476 B
  • tool/internal/engine/runtime_test.go31.3 KB
  • tool/internal/engine/runtime.go19.3 KB
  • tool/internal/engine/screen.go8.7 KB
  • tool/internal/evidence/evidence_test.go22.4 KB
  • tool/internal/evidence/fonts_test.go10.7 KB
  • tool/internal/evidence/inspection.go2.0 KB
  • tool/internal/evidence/main.go17.1 KB
  • tool/internal/evidence/model.go8.9 KB
  • tool/internal/evidence/overview.go8.9 KB
  • tool/internal/evidence/presentation_test.go19.7 KB
  • tool/internal/evidence/raster.go10.6 KB
  • tool/internal/evidence/render.go19.3 KB
  • tool/internal/evidence/session_inspection_native_test.go9.1 KB
  • tool/internal/evidence/session_inspection_test.go5.5 KB
  • tool/internal/evidence/session_inspection.go4.5 KB
  • tool/internal/evidence/session_media_test.go28.0 KB
  • tool/internal/evidence/session_media.go19.7 KB
  • tool/internal/evidence/session_model.go2.9 KB
  • tool/internal/evidence/session_order_test.go15.1 KB
  • tool/internal/evidence/session_order.go3.1 KB
  • tool/internal/evidence/session_test.go7.6 KB
  • tool/internal/evidence/session.go13.5 KB
  • tool/internal/execution/cli_test.go13.4 KB
  • tool/internal/execution/cli.go14.2 KB
  • tool/internal/execution/fixture_test.go3.1 KB
  • tool/internal/fontutil/font_test.go3.0 KB
  • tool/internal/fontutil/font.go9.9 KB
  • tool/internal/preflight/check.go12.3 KB
  • tool/internal/preflight/main.go4.6 KB
  • tool/internal/preflight/preflight_test.go9.7 KB
  • tool/internal/preflight/probe_test.go3.0 KB
  • tool/internal/preflight/probe.go5.3 KB
  • tool/internal/recording/models_test.go3.0 KB
  • tool/internal/recording/models.go4.8 KB
  • tool/internal/terminal/adapter_test.go9.2 KB
  • tool/internal/terminal/adapter.go11.0 KB
  • tool/internal/terminal/cleanup_other_test.go470 B
  • tool/internal/terminal/cleanup_unix_test.go6.8 KB
  • tool/internal/terminal/fixture_test.go3.3 KB
  • tool/internal/terminal/output_unix_test.go7.1 KB
  • tool/internal/terminal/session.go1.1 KB
  • tool/main_test.go2.4 KB
  • tool/main.go2.3 KB
  • tool/skill_test.go3.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

CLI Exercise

Exercise the caller's selected executable and return local evidence. Accept precise cases, a broad goal, or a mixture. Preserve explicit requirements while letting the agent choose useful investigations where the caller left room.

By default, produce one chaptered session video, even for one case. Each case covers one behavior and has a very short natural-language behavior/outcome title. Actually execute and record that case's preparation, one exercise invocation, then validation before starting the next case. Approved cleanup can follow validation. Never batch all setups or validations or reorder historical clips to imply that execution order. Exact supplied steps and narrower coverage remain authoritative: ask about conflicts rather than silently adding, splitting, or reordering a caller's case.

Deliver media only by default. Infer clear output intent: a video exercising a PR calls for an MP4, while a request for an interactive review report calls for media plus HTML. Ask only when the requested deliverable is ambiguous. Generate HTML with --html only when wanted; do not create or open it for video-only requests. Keep raw captures and JSON results as internal evidence.

The internal SKILL.md files below are bundled instruction modules. Read the needed module from this package and follow it in the current agent context. They do not require new agents, sessions, or separately installed sibling skills.

Load only what is needed

This entry file is the routing overview. Load the selected flow, not every internal module. Execute the Go helper as a tool; read its source only when diagnosing a problem or reviewing the implementation.

Go owns prerequisite checks, execution policy, controllers, capture, verification, and rendering. Node is only a mechanical adapter to Tuistory's PTY API. The skill does not require another scripting-language environment.

NeedResource to read
Check readiness or request installationPreflight flow
Preserve supplied casesExact-case flow
Decide how to pursue a goalExploration flow
Start or drive the terminalRun flow
Verify, render, or clean upEvidence flow
Normalize the caller's casesRun-contract reference
Call the bundled helpersRuntime interface
Coordinate cases and assemble one videoRecording sessions
Author a deterministic controllerController reference
Resolve missing prerequisitesPrerequisite reference
Inspect representative routing behaviorInput examples
Maintain or evaluate the packageMaintenance reference
Run an authoring evaluationAgent-behavior rubrics

These direct links keep resources one hop from the entry point. For an exact request, do not load the exploration flow unless the caller also supplied an exploratory case. Do not load controller details for a live-only run.

1. Preserve the request and choose the fidelity policy

Classify each case, not just the entire request:

  • Exact: the caller supplied cases or required steps. Preserve commands, arguments, input values, order, assertions, and timing/output constraints. Do not add exploratory steps or silently substitute an equivalent-looking operation for a specified key sequence.
  • Explore: the caller supplied a goal or expected outcome. Choose checks and interactions within the agreed context and permitted effects. Separate supplied expectations from your hypotheses.

Input fidelity is independent of execution strategy. Either policy can use a bounded controller, live observation/action calls, or both. Switching strategy never grants permission to change an exact case.

Resolve only missing details that affect correctness or authority:

  • The executable or build to exercise, with its actual path and identity.
  • Cases or goal, supplied context, expected outcomes, and initial state.
  • Permitted files, hosts, accounts, repositories, and other effects.
  • Desired media format and constraints. Honor an explicit format; use GIF for an unspecified terminal animation and MP4 when the caller requests video.

Default to condensed presentation, with static pauses shortened. Honor explicit real-time requests and retain the original capture timestamps. Keep timing adjustments in the recording metadata, not repeated on-screen labels.

A request such as "upload an attachment" is not permission to choose an arbitrary account or publish to the current repository. Ask for the missing target/authorization before performing a write. Prefer synthetic data and isolated configuration.

Command discovery is a separate case property. A case may provide the command and test its use, or explicitly require finding it. Do not silently turn a known-command case into a discoverability test.

Preserve the non-secret original request alongside normalized cases. Never copy credentials into the contract or recording; use approved secret references or report blocked if the requested literal recording would disclose them. Use the run contract; unsupported or ambiguous requirements must be clarified or marked blocked, not discarded.

2. Establish readiness and authorization

Read the preflight module. It checks dependencies. If setup is needed, propose commands using the pinned requirements, obtain caller approval, and recheck afterward.

Installation approval and permission to modify test resources are independent. Record the executable path, version/revision, checksum, accepted case contract, and approved effect scope before starting the subject.

Use a secure private workspace outside the repository. Do not put recordings, credentials, runtime caches, or operator configuration in this skill directory. No secret values belong in the contract or a tool request.

3. Load the appropriate internal flow

Both use the shared run module. It provides real terminal observation, input, controller execution, recording, and bounded process ownership. Read only the internal modules needed. Use a recording session to keep case and phase order, carry approved state between related commands, and assemble their actual recordings with evidence --session, not the per-invocation --run-dir path. Keep validation commands in that recording. The session overview uses the task-specific title, derived fidelity, and case results, with 10 seconds per readable page. Progress spans the entire final video.

4. Verify, render, and clean up

Always finish through the evidence module, including when the case is blocked or the subject fails.

Return the case outcome, meaningful observed behavior, requested media paths, executable identity, inspection coverage, and limitations. Keep case failure, capture failure, and render failure distinct. A video is evidence of an observed flow, not proof of general correctness or a replacement for tests.

Include a report link only when the caller requested the report. Do not leave a host, terminal, recorder, or playback server running. Publishing the evidence is a separate, explicit action.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

This dispatcher helps with GitHub Agentic Workflows by identifying whether a request is about design, creation, configuration, updates, debugging, or upgrades. It selects the matching workflow prompt or skill file so the agent can follow task-specific guidance.

  • Design a GitHub Agentic Workflow from scratch
  • Create or configure a workflow engine
  • Update or debug an existing workflow
cli/cli46.7KUpdated Oct 25, 2026

Verify CLI exercise expectations against recorded evidence, render requested media, inspect the results, and return local artifacts with case outcomes. The workflow keeps failures visible and does not publish evidence by default.

  • Verifying a recorded CLI exercise
  • Rendering and inspecting session evidence
  • Returning local artifacts without publishing
cli/cli46.7KUpdated Oct 25, 2026

Use this skill to execute supplied CLI test cases without changing their commands, inputs, ordering, or assertions. It guides preparation, exercise, and validation case by case, then classifies results as passed, failed, blocked, or observed based on actual evidence.

  • Run caller-supplied CLI cases in their specified order
  • Preserve literal inputs and expected assertions
  • Validate each case against observed output or state
cli/cli46.7KUpdated Oct 25, 2026

Use this skill to explore a CLI goal by choosing observable checks within an approved scope. It guides the agent through preparation, one exercise, and immediate validation for each case, then helps report what the evidence established and what remained unreachable.

  • Explore a CLI task with a clear goal and approved boundaries
  • Choose checks for an outcome such as uploading a file
  • Run and validate CLI cases one at a time
cli/cli46.7KUpdated Oct 25, 2026

This internal module checks whether cli-exercise can use its required build, terminal, and media tools. When a dependency is missing, it identifies a suitable setup path and requires approval before installation, then rechecks readiness. It does not authorize recordings or other actions.

  • Check cli-exercise tool readiness
  • Find missing recording or rendering dependencies
  • Prepare an approved dependency installation
cli/cli46.7KUpdated Oct 25, 2026

cli-exercise-run

FreeSummary

Run and record CLI exercise cases through a shared Go runtime and Tuistory adapter. The skill follows approved setup, exercise, validation, and cleanup phases, captures observed terminal behavior, and preserves execution evidence and chronology.

  • Recording a CLI behavior case
  • Running an approved setup and validation sequence
  • Capturing terminal interactions and outcomes
cli/cli46.7KUpdated Oct 25, 2026

See all skills by cli

Report a problem with this skill