MCPInstall

textual-builder

Build Text User Interface (TUI) applications using the Textual Python framework (v0.86.0+). Use when creating terminal-based applications, prototyping card games or interactive CLIs, or when the user mentions Textual, TUI, or terminal UI. Includes comprehensive reference documentation, card game starter template, and styling guides.

Installs
139
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/ypares/agent-skills --skill textual-builder
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads textual-builder automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Textual Builder

Overview

This skill helps you build sophisticated Text User Interfaces (TUIs) using Textual, a Python framework for creating terminal and browser-based applications with a modern web-inspired API. It includes reference documentation, a card game template, and best practices for Textual development.

Quick Start

Basic Textual App

from textual.app import App, ComposeResult
from textual.widgets import Header, Footer, Label

class MyApp(App):
    def compose(self) -> ComposeResult:
        yield Header()
        yield Label("Hello, Textual!")
        yield Footer()

if __name__ == "__main__":
    app = MyApp()
    app.run()

Card Game Template

For card game prototyping, copy the template:

cp -r assets/card-game-template/* ./my-game/
cd my-game
python app.py

The template includes:

  • Interactive Card widget with face-up/down states
  • Hand containers for player cards
  • Play area with turn management
  • Key bindings for card selection and playing
  • Customizable styling

See assets/card-game-template/README.md for customization guide.

When to Read Reference Documentation

This skill includes comprehensive reference files. Load them based on your task:

references/basics.md

Read when: Setting up app structure, using reactive attributes, handling mounting, querying widgets, or working with messages/events.

Covers:

  • App structure and compose method
  • Reactive attributes and watchers
  • Mounting and dynamic widget creation
  • Widget querying
  • Messages, events, and custom messages

references/widgets.md

Read when: Adding UI elements like buttons, inputs, labels, data tables, or creating custom widgets.

Covers:

  • Display widgets (Label, Static, Placeholder)
  • Input widgets (Button, Input, TextArea, Switch)
  • DataTable for tabular data
  • Layout containers (Container, Grid, Horizontal, Vertical)
  • Custom widget creation
  • Header/Footer

references/layout.md

Read when: Designing layouts, positioning widgets, using grid systems, or handling responsive sizing.

Covers:

  • Layout types (vertical, horizontal, grid)
  • Grid configuration (cell spanning, row/column sizing)
  • Alignment and content positioning
  • Docking widgets to screen edges
  • Sizing (fixed, relative, fractional, auto)
  • Spacing (margin, padding)
  • Scrolling

references/styling.md

Read when: Applying CSS styles, theming, adding borders, or customizing widget appearance.

Covers:

  • CSS files and selectors
  • Colors (named, hex, RGB, theme variables)
  • Borders and border styling
  • Text styling and alignment
  • Opacity and tinting
  • Rich markup for styled text
  • Pseudo-classes (:hover, :focus, etc.)

references/interactivity.md

Read when: Implementing keyboard shortcuts, handling mouse events, responding to user actions, or creating interactive behaviors.

Covers:

  • Key bindings and actions
  • Dynamic binding updates
  • Mouse events (click, hover, enter, leave)
  • Keyboard events
  • Focus management
  • Widget-specific messages
  • Custom messages
  • Notifications and timers

Common Workflows

Creating a New TUI App

  1. Start with basic app structure (see Quick Start)
  2. Design layout (read references/layout.md)
  3. Add widgets (read references/widgets.md)
  4. Style with CSS (read references/styling.md)
  5. Add interactivity (read references/interactivity.md)

Prototyping a Card Game

  1. Copy the card game template
  2. Customize the Card widget for your game's card properties
  3. Modify game logic in action methods
  4. Add game-specific rules in message handlers
  5. Style cards and layout in app.tcss

Adding Interactive Features

  1. Define key bindings in BINDINGS
  2. Implement action methods (action_*)
  3. Handle widget messages (on_button_pressed, etc.)
  4. Use reactive attributes for state management
  5. Update UI in watchers

Best Practices

  • Progressive Development: Start simple, add complexity incrementally
  • Reactive State: Use reactive() for state that affects UI
  • CSS Separation: Keep styling in .tcss files, not inline
  • Widget Reuse: Create custom widgets for repeated components
  • Message Bubbling: Use event.stop() to control message propagation
  • Type Hints: Use proper type hints for better IDE support
  • IDs and Classes: Use semantic IDs/classes for querying and styling

Installation

pip install textual
# or
uv pip install textual

Current version: v0.86.0+ (as of November 2025, latest is v6.6.0)

Resources

references/

Comprehensive documentation loaded on-demand:

  • basics.md - Core concepts and app structure
  • widgets.md - Widget catalog and usage
  • layout.md - Layout systems and positioning
  • styling.md - CSS and theming
  • interactivity.md - Events, bindings, and actions

assets/

  • card-game-template/ - Complete starter template for card games with interactive cards, hands, and turn management

Official Documentation

For topics not covered in this skill, consult:

FAQ

What does the textual-builder skill do?

Build Text User Interface (TUI) applications using the Textual Python framework (v0.86.0+). Use when creating terminal-based applications, prototyping card games or interactive CLIs, or when the user mentions Textual, TUI, or terminal UI. Includes comprehensive reference documentation, card game starter template, and styling guides.

How do I install textual-builder?

Run npx skills add https://github.com/ypares/agent-skills --skill textual-builder in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/textual-builder/ (personal) or .claude/skills/textual-builder/ (project).

Which AI agents can use textual-builder?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is textual-builder safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains textual-builder?

It is published by ypares in ypares/agent-skills. It has 139 recorded installs.

More from ypares/agent-skills

View all →

searxng-search

ypares/agent-skills

Enhanced web and package repository search using local SearXNG instance

AI & Agents829 installs

typst-writer

ypares/agent-skills

Open the skill to read its SKILL.md instructions.

Docs & Writing123 installs

github-pr-workflow

ypares/agent-skills

Open the skill to read its SKILL.md instructions.

cursor-agent-supervisor

ypares/agent-skills

Offloading tasks with a well-defined scope to sub-agents, for instance to use a sub-agent to implement a set of specs. Use this skill whenever a task should not need a broad knowledge of the whole project

AI & Agents68 installs

working-with-jj

ypares/agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents68 installs

nushell-usage

ypares/agent-skills

Essential patterns, idioms, and gotchas for writing Nushell code. Use when writing Nushell scripts, functions, or working with Nushell's type system, pipelines, and data structures. Complements plugin development knowledge with practical usage patterns.

Docs & Writing61 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs