ink-tui-wizard

A pattern for building multi-step terminal interfaces with Ink, a tool that lets Node.js and TypeScript command-line apps use React-style components. It describes reactive wizards whose screens change in response to stored session state.

In plain words
What is it for?
Use it to build command-line installation wizards, setup flows, progress screens, or other interactive Node.js and TypeScript terminal applications.
Why use it?
It provides a consistent way to manage screens, choices, progress, and navigation as a wizard grows. Keeping the flow declarative makes the display and behavior easier to follow.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/posthog/wizard/ink-tui
Any agent
npx skills add PostHog/wizard --skill ink-tui
Clone the repo
git clone --depth 1 https://github.com/PostHog/wizard

Made for: Claude Code, Codex.

Per session 92 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,893 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00092 $0.01893
Opus 5 $0.00046 $0.00946
Sonnet 5 $0.00018 $0.00379
Haiku 4.5 $0.00009 $0.00189

Measured 2d ago against content hash caeaa1da57d6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ink-tui-wizard scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/ink-tui/SKILL.md · 157 lines

How it starts

The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ink TUI Wizard Skill

Build beautiful, interactive terminal wizard interfaces using Ink (React for CLIs).

Ink is the dominant Node.js TUI framework — used by Claude Code (Anthropic), Gemini CLI (Google), GitHub Copilot CLI, Cloudflare Wrangler, Shopify CLI, Prisma, and many others.

When to use this skill

  • Creating multi-step CLI installation or setup wizards
  • Building reactive, session-driven terminal interfaces
  • Adding real-time progress, spinners, or status displays to CLI tools
  • Any Node.js/TypeScript CLI that needs more than sequential prompts

Core architecture

This skill follows a reactive session-driven pattern: the rendered screen is a pure function of session state. Business logic sets state through store setters. The router derives which screen should be active. Nobody imperatively pushes screens around.

See references/ARCHITECTURE.md for the full reactive architecture: session, router, store, screen resolution, overlays, and data flow.

Key concepts

  • WizardSession (src/lib/wizard-session.ts) — single source of truth for all wizard decisions
  • WizardRouter (src/ui/tui/router.ts) — declarative flow pipelines with isComplete predicates per screen
  • WizardStore (src/ui/tui/store.ts) — nanostores-backed reactive store with explicit setters that trigger React re-renders via useSyncExternalStore
  • WizardUI (src/ui/wizard-ui.ts) — interface bridging business logic to store; implemented by InkUI (TUI) and LoggingUI (CI)
  • Screen registry (src/ui/tui/screen-registry.tsx) — factory function mapping screen names to components (App.tsx never changes)
  • Services (src/ui/tui/services/) — injected into screens via props (no dynamic imports in React components)
  • Overlays — interrupt stack for outage/error modals, orthogonal to flows

Adding a screen

  1. Create the component in src/ui/tui/screens/
  2. Add to Screen enum in router.ts
  3. Add a FlowEntry to the flow array with an isComplete predicate
  4. Register in screen-registry.tsx

Read the full file on GitHub · 157 lines

Files

What ships with it

6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 157 lines · 92 tokens per session scan A caeaa1da57d6

Subscribe to this mod's changes

ink-tui-wizard is a skill published in the GitHub repository PostHog/wizard (190 stars, last pushed 2d ago), licensed MIT. It adds 92 tokens to every session and 1,893 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

cep-wizard

Launch a local, localhost-only browser wizard with two journeys — layout onboarding for a project with ult-repo-layout installed, initialized or not — guides an uninitialized or not-yet-discovered repo through Run Discover, then shows resolved layer/slot state through four labeled boxes and a directory picker, and…

linkpranay-ai/context-engineering-protocol · 168 tokens

suanfish-design-system

算鱼设计系统(Suanfish)——多智能体界面设计系统。当用户要设计、制作、优化、重构或评审网页前端界面与交互体验时调用。常见说法包括:做个页面、做个登录页或注册页、搞个落地页或首屏、做个后台管理界面、加个弹窗或二次确认、做个多步表单或向导、画个图表或做数据看板/仪表盘、整个聊天或智能体对话界面、做个新手引导、加个动效动画、调个样式或配色、美化一下界面、优化交互体验、改改界面布局、做个空状态或图标、写界面文案、做响应式或移动端适配、做无障碍优化,以及需要多视角设计评审与辩证式批判体检时。由一支虚拟设计工作室的数十位专科匠人协作,保证品牌语言、设计令牌、动效、无障碍全程统一。技术栈以 React 与 Tailwind…

SuanFishXYY/suanfish-design-system · 293 tokens

find-your-level

Interactive quiz that maps your AI/ML knowledge to a starting point in the 523-lesson, 20-phase AI Engineering from Scratch curriculum. Trigger phrases: "where should I start", "find my level", "what do I know", "which phase", "assess my knowledge", "placement test", "skip ahead".

rohitg00/ai-engineering-from-scratch · 71 tokens

start-learning

One-time onboarding for the AI Engineering from Scratch curriculum (523 lessons, 20 phases). Interviews the learner, runs the placement quiz, and writes LEARNING.md, a persistent study plan the learn skill drives. Trigger phrases: "start learning", "set up the course", "begin the curriculum", "onboard me", "create my…

rohitg00/ai-engineering-from-scratch · 74 tokens

cudaq-guide

CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.

NVIDIA/skills · 25 tokens

cudaq-guide

Use for CUDA-Q setup, simulation targets, QPU access, and @cudaq.kernel authoring guidance.

NVIDIA/cuda-quantum · 26 tokens