Agent skill

Clack CLI Patterns

by openchamber in openchamber/openchamber

A skill your agent uses when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, --quiet, or --json behavior.

MITAuto-check passed

Install Clack CLI Patterns

skills CLI
$ npx skills add openchamber/openchamber --skill clack-cli-patterns -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openchamber/openchamber clack-cli-patterns --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openchamber/openchamber.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/clack-cli-patterns .claude/skills/clack-cli-patterns && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
clack-cli-patterns
GitHub stars
11k
Token cost
~1.5k tokens
SKILL.md length
716 words
Files
2 (incl. references)
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, --quiet, or --json behavior.

  • Works in 5 steps: default interactive TTY output → quiet output (minimal but informative) → json output (JSON-only) → …
  • Modifying OpenChamber CLI commands
  • SKILL.md covers Overview, Scope, Mode Contract and Clack Primitive Standard, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Clack CLI Patterns is an agent skill from openchamber/openchamber. Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, --quiet, or --json behavior.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/snippets.md`). Compatibility notes: opencode

The repository describes itself as: Agentic Development Environment based on OpenCode AI agent. The licence is MIT.

When your agent uses it

  • Modifying OpenChamber CLI commands
  • Terminal output
  • Non-TTY behavior
  • --json behavior

Example prompts

  • “/clack-cli-patterns”

Requirements

  • Compatibility (from SKILL.md): opencode

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. default interactive TTY output
  2. quiet output (minimal but informative)
  3. json output (JSON-only)
  4. non-TTY behavior (e.g. piped)
  5. error path in both human and json modes

What it can do on your machine

Read from SKILL.md and the folder at commit eabe419. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    opencode

    From compatibility in the SKILL.md frontmatter.

Context cost

Clack CLI Patterns loads about 1.5k tokens when it runs, and up to ~1.7k if it reads all its reference files. Until then it costs about 38 tokens; SKILL.md has 716 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from openchamber/openchamber at commit eabe419, republished under its MIT licence (© openchamber). 716 words, ~1,507 tokens.

Download SKILL.mdSave it as .claude/skills/clack-cli-patterns/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
clack-cli-patterns
description
Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, `--quiet`, or `--json` behavior.
compatibility
opencode
license
MIT

Overview

OpenChamber terminal CLI uses @clack/prompts for interactive UX, but command policy and validation must be mode-agnostic.

Core principle: policy-first, UX-second. Clack is presentation, not enforcement.

Scope

Use this skill for terminal CLI work only (for example packages/web/bin/*).

Do not use this skill for web UI or VS Code webview styling work.

Mode Contract

Run safety and correctness validation before presentation in every mode. Prompts collect missing input; they never enforce policy alone.

ModePromptOutputFailure
Interactive TTYAllowed when input is missingFramed human outputConcise human error, non-zero exit
Fully specified flagsNone requiredHuman outputSame policy and exit semantics
Non-TTY/pipedNeverDeterministic script-safe outputNon-zero without hanging
--quietNeverEssential result onlyConcise error, non-zero exit
--jsonNeverJSON only, including warnings/errorsJSON failure payload, non-zero exit

Handle prompt cancellation with isCancel + cancel(...) and SIGINT with consistent exit semantics.

Clack Primitive Standard

  • Flow framing: intro, outro, cancel
  • Status lines: log.info, log.success, log.warn, log.error, log.step
  • Guidance blocks:
    • default: note
    • high-severity warnings only: box
  • Prompts: select, confirm, text, password
  • Long-running feedback:
    • unknown duration: spinner
    • known duration: progress
    • multi-stage: tasks

Preferred Pattern

Centralize Clack imports and formatting helpers in one adapter module (for example cli-output.js) so command logic stays focused on behavior and policy.

Use a small shared helper surface rather than command-specific formatting logic.

  • isJsonMode(options)
  • isQuietMode(options)
  • shouldRenderHumanOutput(options)
  • canPrompt(options)
  • createSpinner(options)
  • createProgress(options, config)
  • printJson(payload)

Keep this layer minimal. Do not hide core validation or command semantics inside output helpers.

Output Contracts by Mode

--quiet contract

--quiet should still return essential result data.

  • Read/list commands: emit concise machine-friendly lines (not framed Clack blocks).
  • Action commands: emit one minimal success line and concise errors.
  • Do not suppress required outcomes entirely.

Quiet output should still be complete enough for scripts and quick human scanning.

  • Status-like commands should list all active items, not only running/ok.
  • Prefer compact stable key tokens in quiet lines (for example port 3000 pass:yes).
--json contract (strict)
  • Output must be JSON only (no extra text before/after payload).
  • Warnings/info should be represented in JSON fields (for example status, messages).
  • Preserve non-zero exit codes for failures.

Human UX Consistency

Framing completeness
  • If human flow uses intro, close with outro (or outro('') when you want structure without text).
  • Avoid orphan frame/spinner artifacts (prefer spinner.clear() when a trailing spinner line is not wanted).
  • If a structured summary section immediately follows a spinner, prefer spinner.clear() to avoid duplicate success lines.
Progress feedback for visible operations
  • For operations users wait on (start/stop/restart/tunnel lifecycle), show in-progress spinner in interactive mode.
  • Resolve each spinner explicitly to done/error so users can see completion state at the same visual location.
  • Keep quiet/json modes non-animated.
Show full SKILL.md (278 more words)Show less
Prompt flow design
  • Ask required inputs in dependency order (for example hostname before token when token depends on chosen host/mode context).
  • When offering save-vs-run flows, ask intent before collecting optional metadata (for example profile name only if user chooses save).
  • Prefill editable values with initialValue (not only placeholder) so users can accept or edit quickly.
  • Reuse latest relevant values when safe (for example last managed-local config path, last managed-remote hostname).
Readability on narrow terminals
  • Prefer short lines.
  • Split long guidance into multiple detail lines.
  • Use warning/info codes ([CODE]) when the message has follow-up docs or repeat use.
Guidance tone
  • Use Optional Tips for non-required next actions.
  • Avoid wording that implies mandatory follow-up unless it is truly required.
Guidance rendering style (preferred)
  • Prefer structured status lines for reusable hints:
    • logStatus('info', '[CODE]', '<actionable command or short guidance>')
  • Use short, stable codes (for example [START_PROFILE], [PORT_MISMATCH]) so users can quickly scan and recognize repeated guidance.
  • Prefer this style over boxed notes for routine follow-up actions.
  • Reserve note/boxed callouts for rare, high-context guidance where a long paragraph is truly necessary.

Completion Criteria

Every command/subcommand must have a tested answer for:

  1. default interactive TTY output
  2. --quiet output (minimal but informative)
  3. --json output (JSON-only)
  4. non-TTY behavior (e.g. piped)
  5. error path in both human and json modes

Reusable Snippets

Load references/snippets.md when implementing prompt guards, non-interactive fallback, spinner lifecycle, or JSON/human output branching.

Implementation is complete when validators run before every mode branch, interactive Clack UX is only an enhancement, and all five cases above produce deterministic output and exit behavior.

References

  • This skill is the canonical CLI parity and safety policy.
  • Terminal CLI precedent: packages/web/bin/cli.js
  • Output adapter precedent: packages/web/bin/cli-output.js

© openchamber, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in .agents/skills/clack-cli-patterns of openchamber/openchamber.

  • SKILL.md
  • references/snippets.md

Open the folder on GitHubat commit eabe419

Compare with similar skills

Clack CLI Patterns next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Clack CLI Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Clack CLI Patterns this skillopenchamber/openchamber11k—~1.5kAutomated safety check: PassMIT
Gameobject ModifyIvanMurzak/Unity-MCP4.4k—~2.3kAutomated safety check: PassApache-2.0
Object ModifyIvanMurzak/Unity-MCP4.4k—~2.3kAutomated safety check: PassApache-2.0
Assets ModifyIvanMurzak/Unity-MCP4.4k1 repos~1.7kAutomated safety check: PassApache-2.0
Modifying Taxonomic FilterPostHog/posthog40k—~2.8kAutomated safety check: PassCustom licence
Clackpass-agent/loomkin181—~797Automated safety check: PassMIT

Similar skills

  • Gameobject Modify

    IvanMurzak/Unity-MCP

    Modify GameObject fields and properties in opened Prefab or in a Scene.

    4.4k GitHub stars~2.3k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • Object Modify

    IvanMurzak/Unity-MCP

    Modify a Unity UnityEngine.Object's serializable fields/properties.

    4.4k GitHub stars~2.3k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • Assets Modify

    IvanMurzak/Unity-MCP

    Modify an asset file in the project. An agent skill from IvanMurzak/Unity-MCP.

    4.4k GitHub starsUsed in 1 repo~1.7k tokens
    Game DevelopmentAuto-check passed
  • Official

    Guides safe changes to the TaxonomicFilter, PostHog's picker for events, actions, properties, cohorts, and more.

    40k GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Clack

    pass-agent/loomkin

    Build and maintain interactive Node.js/Bun CLIs with Clack (@clack/prompts and @clack/core).

    181 GitHub stars~797 tokensUpdated 4 mo ago
    Auto-check passed
  • Migrating To Modifier Node

    rosuH/EasyWatermark

    A skill your agent uses to author new custom Jetpack Compose modifiers and migrate legacy ones from Modifier.composed { } to Modifier.Node + ModifierNodeElement<T.

    1.9k GitHub starsUsed in 1 repo~5k tokens
    MobileAuto-check passed

More from openchamber/openchamber

All 20 skills in this repo
  • Theme System

    openchamber/openchamber

    A skill your agent uses when creating or modifying OpenChamber UI components, styling, colors, buttons, visual states, themes, or icons.

    11k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • UI API Decoupling

    openchamber/openchamber

    A skill your agent uses when creating or modifying OpenChamber shared UI data access, OpenCode SDK calls, RuntimeAPIs, runtime fetch/auth/URLs, authenticated browser assets, bridges/proxies, runtime…

    11k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Drag To Reorder

    openchamber/openchamber

    A skill your agent uses when implementing or modifying OpenChamber sortable or drag-to-reorder behavior, especially @dnd-kit, touch/mobile interactions, variable-width items, or wrapping layouts.

    11k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Locale UI Patterns

    openchamber/openchamber

    A skill your agent uses when creating or modifying OpenChamber UI text, labels, buttons, placeholders, aria labels, empty states, toasts, dialogs, settings copy, navigation labels, or any…

    11k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Performance Engineering

    openchamber/openchamber

    A skill your agent uses when implementing or reviewing code on interaction, render, event, polling, synchronization, list-processing, store-selector, cache, indexing, or high-volume data paths; when…

    11k GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Serve Sim

    openchamber/openchamber

    A skill your agent uses when working with the OpenChamber iOS Simulator app without opening Xcode - boot/install/launch the Capacitor iOS app, start a browser stream, tap/type/gesture/rotate…

    11k GitHub stars~619 tokensUpdated today
    Auto-check passed

Questions about Clack CLI Patterns

What does Clack CLI Patterns do?

A skill your agent uses when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, --quiet, or --json behavior. Clack CLI Patterns is an agent skill from openchamber/openchamber. Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, --quiet, or --json behavior.

When should I use Clack CLI Patterns?

Clack CLI Patterns fits situations like: modifying OpenChamber CLI commands; terminal output; non-TTY behavior; --json behavior.

How do I install Clack CLI Patterns in Claude Code?

Run `npx skills add openchamber/openchamber --skill clack-cli-patterns -a claude-code`. Or copy the skill folder (.agents/skills/clack-cli-patterns in openchamber/openchamber) into .claude/skills/clack-cli-patterns in your project. Claude Code loads it when a task matches its description.

How do I install Clack CLI Patterns in Codex?

Run `npx skills add openchamber/openchamber --skill clack-cli-patterns -a codex`. Or copy the skill folder (.agents/skills/clack-cli-patterns in openchamber/openchamber) into .agents/skills/clack-cli-patterns in your project. Codex loads it when a task matches its description.

Can I use Clack CLI Patterns in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openchamber/openchamber --skill clack-cli-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clack-cli-patterns, .gemini/skills/clack-cli-patterns, .github/skills/clack-cli-patterns and .opencode/skills/clack-cli-patterns in your project.

What does Clack CLI Patterns need to run?

SKILL.md names no scripts, command-line tools or credentials: Clack CLI Patterns is instructions for the agent only. Compatibility (from SKILL.md): opencode.

Does Clack CLI Patterns access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Clack CLI Patterns safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Clack CLI Patterns use?

Clack CLI Patterns is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Clack CLI Patterns use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 194 tokens, read only when the agent opens those files.

What are the alternatives to Clack CLI Patterns?

Skills that share tags, products or a category with Clack CLI Patterns: Gameobject Modify (IvanMurzak/Unity-MCP, 4.4k stars), Object Modify (IvanMurzak/Unity-MCP, 4.4k stars), Assets Modify (IvanMurzak/Unity-MCP, 4.4k stars) and Modifying Taxonomic Filter (PostHog/posthog, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Clack CLI Patterns?

openchamber (a GitHub organization) maintains it in openchamber/openchamber, which has 11,259 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 8, 2026.

Source: openchamber/openchamber on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.