charm-gum

Create interactive prompts and UI elements in shell scripts using gum.

Updated Apr 8, 2026
One-click install
npx skills add https://github.com/ClankerGuru/opsx --skill charm-gum-clankerguru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: charm-gum
Source: https://github.com/ClankerGuru/opsx/tree/main/cli/src/main/resources/content/skills/charm-gum
Command: npx skills add https://github.com/ClankerGuru/opsx --skill charm-gum-clankerguru

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Authoring interactive shell scripts often leads to inconsistent user experiences, scattered prompt logic, and brittle UI code. gum provides a unified, scriptable UI layer for prompts, menus, spinners, and styled output that runs reliably in a TTY.

Core Features & Use Cases

  • Prompts & Inputs: input, write, choose, filter, confirm, file, spin, style, format, join, pager, table, and log to render interactive prompts and outputs.
  • UI Components: menus, spinners, and styled blocks to present options clearly and consistently across scripts.
  • Use Case: Build onboarding wizards, setup assistants, and release toolchains that guide humans through terminal-driven workflows.

Quick Start

Install and start using charm-gum by running opsx init to enable interactive gum prompts in your shell scripts.

Frequently Asked Questions about charm-gum

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

FAQPage Schema
How do I add interactive prompts and menus to shell scripts?

Interactive shell prompts are added by executing a unified CLI UI layer that renders menus, inputs, and spinners directly within a TTY. This approach replaces scattered prompt logic with consistent, scriptable UI components for terminal workflows.

Does the gum CLI utility require a strict TTY environment to run?

Yes, the gum CLI utility enforces a strict TTY guard to ensure interactive UI elements render correctly. This requirement prevents scripts from attempting to display menus or spinners in non-interactive environments where user input is unavailable.

What is the best way to build a terminal onboarding wizard for setup scripts?

Building a terminal onboarding wizard is best achieved by chaining interactive subcommands like choose, input, and spin to guide users through setup steps. This method provides a structured, human-guided workflow for configuring tools or releasing software.

Can I use styled output and spinners in shell release toolchains?

Yes, you can use styled output and spinners in shell release toolchains by utilizing subcommands like spin, style, and format. These components present execution progress and formatted text clearly across automated terminal-driven release processes.

Why do my interactive shell prompts fail outside a TTY session?

Interactive shell prompts fail outside a TTY session because the underlying UI layer applies a strict TTY guard. This guard blocks execution in piped or automated environments to prevent errors from attempting to render interactive menus without a terminal.

What subcommands are available for building CLI wizards with gum?

Available subcommands for building CLI wizards include input, write, choose, filter, confirm, file, spin, style, format, join, pager, table, and log. These provide comprehensive coverage for rendering interactive prompts and formatted outputs.