Clack CLI Skill

SkillDocs & knowledge

Guides your agent to build interactive command-line tools with Clack prompts, spinners, and cancellation handling.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Clack CLI Skill skill

About this capability

Build and maintain interactive Node.js/Bun CLIs with Clack (`@clack/prompts` and `@clack/core`). Use when an AI agent needs to design prompt flows, implement cancellation-safe input handling, add spinners/log/note UX, apply Clack best practices, or generate runnable examples aligned with official Cl

What this skill tells your AI

The instructions your AI receives, as published by pass-agent/loomkin in apps/cli/.agents/skills/clack/SKILL.md and read by ahel’s review.

Implement robust, user-friendly CLI flows with Clack.

Follow This Workflow

  1. Identify the implementation target.
  • Use @clack/prompts for most interactive CLI flows.
  • Use @clack/core for low-level/custom prompt rendering and lifecycle control.
  1. Load only the relevant references.
  • Prompt-centric workflows: references/prompts-api.md
  • Low-level/core extension work: references/core-api.md
  • UX and reliability review: references/best-practices.md
  • Pattern selection and scaffolding: references/examples.md
  • Source links and freshness checks: references/sources.md
  • If user asks for a starter file quickly, run scripts/scaffold-clack.sh.
  1. Build a minimal runnable skeleton first.
  • Include imports, intro(), flow logic, and outro().
  • Add install/run commands for the user's runtime.
  1. Add prompts with explicit validation and cancellation paths.
  • Validate every user-facing field that can fail constraints.
  • Handle cancellation after each prompt result with isCancel(...) and cancel(...).
  1. Add UX support functions intentionally.
  • Use log.* for structured feedback.
  • Use spinner() for long-running single operations.
  • Use note() for summaries and next actions.
  1. For asynchronous multi-step work, use task-oriented patterns.
  • Prefer clear status updates and concise task titles.
  • Keep success/error messages short and actionable.
  1. Finalize with a production-ready answer.
  • Return complete runnable code (not fragments) unless user asks otherwise.
  • Include quick verification steps.

Bundled Resources

  • scripts/scaffold-clack.sh

  • Generate a starter CLI from curated templates in JS or TS.

  • Usage: bash scripts/scaffold-clack.sh <target-dir> [basic|spinner] [js|ts] [auto|npm|pnpm|yarn|bun]

  • assets/templates/basic-cli.mjs

  • Baseline prompt flow with validation, cancellation handling, and summary note.

  • assets/templates/spinner-cli.mjs

  • Prompt flow plus spinner-driven execution pattern for longer operations.

  • assets/templates/basic-cli.ts

  • TypeScript variant of the baseline prompt flow.

  • assets/templates/spinner-cli.ts

  • TypeScript variant of the spinner flow.

Non-Negotiable Rules

  • Always include a cancellation-safe path.
  • Never assume valid input; validate and explain fixups in-place.
  • Use consistent tone in status and error messages.
  • Keep prompt trees shallow; split complex flows into grouped steps.
  • Prefer sensible defaults to reduce user typing and errors.

Freshness Policy

  • Treat Clack APIs as evolving.
  • Use references/sources.md as the source-of-truth link map.
  • If the user asks for the latest behavior or version-specific details, re-check the official docs before finalizing.
  • If no web access is available, state that constraint explicitly and stick to documented APIs in this skill.

Signals

GitHub stars
180
Forks
28
Last commit
May 2026

ahel review

  • K6low
    bundled executables the agent is told to run
  • K1binfo
    installs-packages (in scripts/scaffold-clack.sh)
  • K1binfo
    installs-packages (in references/core-api.md)
  • K1binfo
    installs-packages (in references/prompts-api.md)

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
clack
Source
github.com/pass-agent/loomkin