[FEATURE] Provide a tool that allows skills (and the model) to programmatically present structured forms/wizards to users, similar to the built-in tabbed wizards shown in /plugins and plan mode.

Resolved 💬 3 comments Opened Mar 8, 2026 by poosesha Closed Apr 5, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Current Limitation

Currently, skills can only collect user input through:

  • AskUserQuestion - simple text-based questions
  • Having the model ask questions conversationally

There's no way for skills to present the polished, tabbed wizard UI that built-in platform features use (like /plugins, /plan, etc.).

Proposed Solution

Proposed Solution

Add a new tool (e.g., PresentForm or ShowWizard) that allows skills to:

  1. Define structured forms with multiple sections/tabs
  2. Support various input types:
  • Text input
  • Boolean (yes/no, true/false)
  • Enum/select (dropdown or radio buttons)
  • Multi-select
  • Number input
  • File selection
  1. Organize inputs into sections (like tabs in current wizards)
  2. Return structured data (JSON) when user submits

Alternative Solutions

_No response_

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

Example Use Case

Creating an "onboarding wizard" skill that:

  • Presents a multi-tab form (Personal Details, Team Details, Project Details)
  • Collects different types of input (text, booleans, enums)
  • Processes the submitted data with a script
  • Returns formatted output

Additional Context

Benefits

  • Richer skill capabilities: Skills could collect complex structured data elegantly
  • Better UX: Users get polished data entry experiences instead of back-and-forth questioning
  • Consistency: Skills would use the same high-quality UI patterns as built-in features
  • Efficiency: Collect all required information upfront rather than through multiple conversational turns

Technical Considerations

The tool might look something like:

PresentForm({
title: "Onboarding Wizard",
sections: [
{
name: "Personal Details",
fields: [
{ id: "name", type: "text", label: "What is your name?" },
{ id: "location", type: "text", label: "Where do you live?" }
]
},
{
name: "Team Details",
fields: [
{ id: "team", type: "text", label: "Which team are you in?" },
{ id: "manager", type: "text", label: "Who is your manager?" },
{ id: "fulltime", type: "boolean", label: "Are you full time?" }
]
},
{
name: "Project Details",
fields: [
{ id: "project", type: "enum", label: "Which project?", options: ["iOS", "visionPro", "watchOS"] },
{ id: "blocked", type: "boolean", label: "Is it blocked?" }
]
}
]
})

Returns structured JSON when user submits.

<img width="614" height="171" alt="Image" src="https://github.com/user-attachments/assets/b141ac5d-2805-45bf-98bc-9d148091fdf1" />

<img width="713" height="128" alt="Image" src="https://github.com/user-attachments/assets/8855130a-f0bf-4752-abd0-2e6d5bff2ed2" />

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗