CtrlK
BlogDocsLog inGet started
Tessl Logo

ink-tui-wizard

Build terminal user interfaces (TUIs) using Ink (React for CLIs) and @inkjs/ui with a reactive, session-driven wizard pattern. Use when creating interactive CLI installation wizards, setup flows, or multi-step terminal applications in Node.js/TypeScript. Covers reactive screen resolution, declarative flow pipelines, overlay interrupts, session state management, Ink components, Flexbox terminal layout, and graceful degradation across terminal environments.

68

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

72%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an efficient, well-structured overview that defers detail to six real, clearly-signaled reference files, with strong actionable specifics (paths, commands, API gotchas). Its main weakness is workflow validation: the add-a-screen and add-state procedures lack verification steps, and no in-body code example shows a complete screen implementation.

Suggestions

Add a validation step to the 'Adding a screen' and 'Adding store state' workflows (e.g. 'Run the wizard with pnpm try and confirm the new screen renders before moving on'), since neither currently has a verification checkpoint.

Include one minimal executable screen component example in the body (or a short snippet in ARCHITECTURE.md) so the most common task — writing a new screen — has copy-paste-ready code.

Trim the Ink adoption paragraph ('used by Claude Code, Gemini CLI, GitHub Copilot CLI...') and the browser↔Ink comparison rows Claude can derive, keeping only the non-obvious mappings.

DimensionReasoningScore

Conciseness

The body is dense and project-specific — file paths, enum locations, step lists, a browser↔Ink mapping table — with almost no filler. Not 5: the adoption pitch ("Ink is the dominant Node.js TUI framework — used by Claude Code, Gemini CLI, GitHub Copilot CLI...") is justification Claude doesn't need, and parts of the rendering-model section restate documented Ink behavior. Not 3: only minor trimming is needed; the bulk is non-derivable project knowledge.

4 / 5

Actionability

Concrete, executable guidance throughout: exact paths (`src/ui/tui/router.ts`), commands (`pnpm try --playground`, `--ci` flag), API specifics (`useStdout().stdout.columns`, `!process.stdin.isTTY`, `color="#000000"` not `color="black"`), and a numbered 'Adding a screen' procedure. Not 5: there is no actual code example in the body — all code is deferred to reference files — so a copy-paste-ready example for the most common task (building a screen) is missing.

4 / 5

Workflow Clarity

The 'Adding a screen' and 'Adding store state' workflows are clearly sequenced (numbered steps, 'No other files change', explicit two-pattern split), but validation checkpoints are absent or only implicit — there is no step to run/verify the wizard after adding a screen or state field. This matches 'steps listed but checkpoints missing or implicit'; not 4 because no explicit verification step exists in either workflow.

3 / 5

Progressive Disclosure

A clear overview body with six well-signaled, one-level-deep references (all six files verified present in references/), each annotated with what it contains and when to read it ("Read this first when working on screen flow or state"), plus a closing reference index. No reference file nests further references, so navigation is easy and content is appropriately split.

5 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong: it states concrete capabilities, includes an explicit 'Use when...' clause with natural trigger phrases, and carves out a distinct niche (Ink/React terminal wizards in Node.js). The only gap is a few missing synonymous trigger terms such as 'command-line' or 'interactive prompts'.

DimensionReasoningScore

Specificity

"Build terminal user interfaces (TUIs) using Ink (React for CLIs) and @inkjs/ui" plus "Covers reactive screen resolution, declarative flow pipelines, overlay interrupts, session state management, Ink components, Flexbox terminal layout, and graceful degradation" lists multiple specific, concrete capabilities with comprehensive coverage of the skill's scope. Not 4: the capability list covers every major subsystem of the skill with no meaningful gaps.

5 / 5

Completeness

Explicitly answers both: what ("Build terminal user interfaces (TUIs) using Ink... with a reactive, session-driven wizard pattern" plus the enumerated coverage areas) and when ("Use when creating interactive CLI installation wizards, setup flows, or multi-step terminal applications in Node.js/TypeScript"). Both are concrete and explicit, matching the top anchor; not 4 because the 'when' clause already uses concrete trigger phrases rather than a generic one.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: "terminal user interfaces (TUIs)", "CLI installation wizards", "setup flows", "multi-step terminal applications", "Node.js/TypeScript", "Ink". Not 5: a few common variations are missing (e.g. "command-line", "interactive prompts", "terminal app"). Not 3: coverage goes well beyond a couple of generic keywords with concrete framework and ecosystem terms.

4 / 5

Distinctiveness Conflict Risk

A clear niche (Ink/React-based TUI wizards in Node.js/TypeScript) with distinct triggers that would not fire for general CLI or web-UI skills. Written in third-person imperative voice ("Build", "Covers"), so no voice penalty applies. Not 4: there is essentially no overlap risk with neighboring skills because the framework, language, and pattern are all named.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
novuhq/novu
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.