clack-prompts

Create interactive CLI prompts with @clack/prompts and UI components.

Updated Feb 7, 2026
One-click install
npx skills add https://github.com/olavocarvalho/engrain --skill clack-prompts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clack-prompts
Source: https://github.com/olavocarvalho/engrain/tree/main/.agents/skills/clack-prompts
Command: npx skills add https://github.com/olavocarvalho/engrain --skill clack-prompts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This prompt toolkit simplifies creating engaging and reliable interactive CLI flows by providing a rich set of prompt primitives and UI components built on @clack/prompts and @clack/core.

Core Features & Use Cases

  • Text, password, confirm, select, multiselect, autocomplete, and groupMultiselect prompts for common CLI interactions.
  • Rich UI components such as spinner, progress, tasks, taskLog, log, stream, note, and box to communicate status and guidance.
  • Guidance for building custom prompts with a render contract and practical examples, including references to local code in _workstream/benchmark/clack.

Quick Start

Install the packages and begin integrating prompts into your CLI flow with a simple setup.

Frequently Asked Questions about clack-prompts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build interactive CLI prompts in TypeScript?

You can build interactive CLI prompts in TypeScript by using a prompt toolkit that provides ready-to-use primitives like text, password, confirm, select, and autocomplete inputs. This simplifies creating engaging terminal-based workflows and data-collection wizards without building UI from scratch.

What UI components can I use for terminal status updates in a CLI?

For terminal status updates in a CLI, you can use UI components such as spinner, progress, tasks, taskLog, log, stream, note, and box. These primitives communicate status and guidance clearly during interactive command-line workflows.

Can I create custom CLI prompts or am I limited to predefined inputs?

You are not limited to predefined inputs. The toolkit provides guidance for building custom prompts using a render contract, along with practical examples, allowing you to extend text, select, and autocomplete primitives for specialized terminal interactions.

What's the best way to implement group multiselect and autocomplete in command-line wizards?

The best way to implement group multiselect and autocomplete in command-line wizards is to use a dedicated prompt library covering those exact APIs. It provides structured primitives to handle complex user selections reliably within interactive terminal flows.

Do I need specific dependencies to run interactive CLI prompt components?

The interactive CLI prompt components are built on underlying libraries like @clack/prompts and @clack/core. You need to install these packages to integrate the text, password, and select primitives into your TypeScript CLI flow.