wizard-commands

Implement interactive prompts and multi-step BubbleTea wizards for clawker CLI commands.

54|6|Updated Jan 7, 2026
One-click install
npx skills add https://github.com/schmitthub/clawker --skill wizard-commands-schmitthub
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: wizard-commands
Source: https://github.com/schmitthub/clawker/tree/main/.agents/skills/wizard-commands
Command: npx skills add https://github.com/schmitthub/clawker --skill wizard-commands-schmitthub

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding user input to a clawker CLI command requires choosing between two distinct prompting layers (line-based prompter vs. BubbleTea wizard) with different APIs, import boundaries, and non-interactive fallback behaviors. This Skill provides the decision tree, API contracts, and a reference implementation so you wire prompts correctly the first time. ## Core Features & Use Cases - Decision tree for prompt selection: Maps each input need (confirm, text, select, multi-step form) to the correct package — internal/prompter for single prompts, internal/tui RunWizard for multi-step forms. - Full API reference: Documents Prompter methods (String, Confirm, Select), wizard field models (SelectField, TextField, ConfirmField), StepperBar rendering, and WizardModel internals including SkipIf conditional steps and navigation. - Reference implementation: Walks through clawker project init as the canonical hybrid wizard + progress + static output pattern, including non-interactive bypass and test strategies. - Use Case: When adding a new clawker container create flow that asks for image, packages, and confirmation, use this Skill to build a WizardField list with SkipIf predicates and wire it through f.TUI.RunWizard. ## Quick Start Ask the AI to add a multi-step wizard to a clawker command using RunWizard with SelectField, TextField, and ConfirmField definitions following the project init pattern.

Frequently Asked Questions about wizard-commands

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

FAQPage Schema
How do I add a confirmation prompt to a clawker CLI command?▼

Use f.Prompter().Confirm(message, defaultYes) from the internal/prompter package. It writes to stderr, returns a bool, and automatically falls back to the default value in non-interactive mode.

When should I use RunWizard instead of the Prompter in Go CLI commands?▼

Use the prompter for single prompts (one confirm, text, or select). Use f.TUI.RunWizard(fields) when you need a multi-step form with back-navigation, conditional steps via SkipIf, or a stepper progress bar.

How do I make wizard steps conditional with SkipIf?▼

Set the SkipIf field on a WizardField to a func(WizardValues) bool predicate. It is re-evaluated on every navigation, so changing an earlier answer can show or hide later steps in both directions.

Does the wizard work in non-interactive or CI environments?▼

No. Check ios.IsInteractive() or the --yes flag early and route to a separate non-interactive code path, as the project init command does with its performProjectSetup shared core.

Why does SelectField.Value return a label instead of an index?▼

The wizard's SelectField.Value() returns the selected option's Label string, while Prompter.Select returns a 0-based index. These are different APIs; use SelectedIndex() if you need the wizard index.

How do I test wizard flows without running BubbleTea?▼

Construct the model with newWizardModel(fields) and call Update() directly with key messages. For command logic, test the shared core function (like performProjectSetup) directly with a fake client, bypassing BubbleTea entirely.