bubbletea
Build terminal user interfaces with Go and Bubbletea framework.
Skill by gethamster
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gethamster-bubbletea
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bubbletea
What's inside
- Skill name
bubbletea- Description
- Build terminal user interfaces with Go and Bubbletea framework. Use for creating TUI apps with the Elm architecture, dual-pane layouts, accordion modes, mouse/keyboard handling, Lipgloss styling, and reusable components. Includes production-ready templates, effects library, and battle-tested layout patterns from real projects.
- License
- MIT
- Instructions
- 283 lines in SKILL.md · view on GitHub
Before installing
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Agent Skills spec issues
- files: referenced but missing: references/effects.md
Files (5)
- SKILL.md
- components.md · references/
- emoji-width-fix.md · references/
- golden-rules.md · references/
- troubleshooting.md · references/
SKILL.md (first lines)
# Bubbletea TUI Development
Production-ready skill for building beautiful terminal user interfaces with Go, Bubbletea, and Lipgloss.
## When to Use This Skill
Use this skill when:
- Creating new TUI applications with Go
- Adding Bubbletea components to existing apps
- Fixing layout/rendering issues (borders, alignment, overflow)
- Implementing mouse/keyboard interactions
- Building dual-pane or multi-panel layouts
- Adding visual effects (metaballs, waves, rainbow text)
- Troubleshooting TUI rendering problems
## Core Principles
**CRITICAL**: Before implementing ANY layout, consult `references/golden-rules.md` for the 4 Golden Rules. These rules prevent the most common and frustrating TUI layout bugs.
### The 4 Golden Rules (Summary)
1. **Always Account for Borders** - Subtract 2 from height calculations BEFORE rendering panels
2. **Never Auto-Wrap in Bordered Panels** - Always truncate text explicitly
3. **Match Mouse Detection to Layout** - Use X coords for horizontal, Y coords for vertical
4. **Use Weights, Not Pixels** - Proportional layouts scale perfectly
Full details and examples in `references/golden-rules.md`.
## Creating New Projects
This project includes a production-ready template system. When this skill is bundled with a new project (via `new_project.sh`), use the existing template structure as the starting point.
### Project Structure
All new projects follow this architecture:
```
your-app/
├── main.go # Entry point (minimal, ~21 lines)
├── types.go # Type definitions, structs, enums
├── model.go # Model initialization & layout calculation
├── update.go # Message dispatcher
├── update_keyboard.go # Keyboard handling
├── update_mouse.go # Mouse handling
├── view.go # View rendering & layouts
├── styles.go # Lipgloss style definitions
├── config.go # Configuration management
└── .claude/skills/bubbletea/ # This skill (bundled)
```
### Architecture Guidelines
- Keep `main.go` minimal (entry point only, ~21 lines)
- All types in `types.go` (structs, enums, constants)
- Separate keyboard and mouse handling into dedicated files
- One file, one responsibility
- Maximum file size: 800 lines (ideally <500)
- Configuration via YAML with hot-reload support
## Available Components
See `references/components.md` for the complete catalog of reusable components:
- **Panel System**: Single, dual-pane, multi-panel, tabbed layouts
- **Lists**: Simple list, filtered list, tree view
- **Input**: Text input, multiline, forms, autocomplete
- **Dialogs**: Confirm, input, progress, modal
- **Menus**: Context menu, command palette, menu bar
- **Status**: Status bar, title bar, breadcrumbs
- **Preview**: Text, markdown, syntax highlighting, images, hex
- **Tables**: Simple and interactive tables
## Effects Library
Beautiful physics-based animations available in the template:
- :crystal_ball: **Metaballs** - Lava lamp-style floating blobs
- :ocean: **Wave Effects** - Sine wave distortions
- :rainbow: **Rainbow Cycling** - Animated color gradients
- :performing_arts: **Layer Compositor** - ANSI-aware multi-layer rendering
See `references/effects.md` for usage examples and integration patterns.
## Layout Implementation Pattern
When implementing layouts, follow this sequence:
### 1. Calculate Available Space
```go
func (m model) calculateLayout() (int, int) {
contentWidth := m.width
contentHeight := m.height
// Subtract UI elements
if m.config.UI.ShowTitle {
contentHeight -= 3 // title bar (3 lines)
}
if m.config.UI.ShowStatus {
contentHeight -= 1 // status bar
}
// CRITICAL: Account for panel borders
contentHeight -= 2 // top + bottom borders
return contentWidth, contentHeight
}
```
### 2. Use Weight-Based Panel Sizing
```go
// Calculate weights based on focus/accordion mode
leftWeight, rightWeight := 1, 1
if m.accordionMode && m.focusedPanel == "left" {
leftWeight = 2 // Focused panel gets 2x weight
}From gethamster/skills, MIT.
More from gethamster/skills
- 0.563score
backfill-script-creator
gethamster
Create a new Supabase data backfill, dedup, or one-off data correction script for Hamster Studio in apps/web/supabase/scripts/.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
create-method-article
gethamster
Write a longform X article announcing a method, a group of skills and routines packaged as a single approach in Hamster, such as a workflow methodology, a…
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
analytics-instrumentation-check
gethamster
Audit a feature, branch, or PR diff for analytics instrumentation coverage.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
create-routine-article
gethamster
Write a longform X article announcing a routine, a skill running on autopilot in Hamster, whether it automates one of our skills or upgrades a popular…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
break-down-objectives
gethamster
Decompose a compressed goal, one-liner strategy, or multi-clause mandate into a goal-framework-agnostic hierarchy: goals with measurement stories, strategies…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
brief-alignment-gating
gethamster
Governs the alignment voting gate between direction and delivery.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
authoring-blueprints-from-scratch
gethamster
Write the current-state blueprint for a feature or system from a brief or decision artifact, capturing narrative intent, trade-offs, and consequences.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
connecting-blueprints-to-decision-lineage
gethamster
Make decision lineage explicit by linking product-state blueprints to decision records and marking which decisions shaped which parts of the product.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
authoring-routines-from-scratch
gethamster
Guides users through writing a strong routine: triggers, schedules, instructions, and action steps.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
authoring-methods-from-scratch
gethamster
Guides users through writing a strong method: purpose, prerequisites, steps, validation, troubleshooting.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
authoring-skills-from-scratch
gethamster
Guides users through writing a strong skill: trigger conditions, core guidance, examples, anti-patterns.
SkillBFreshness: B★ 2Claude Code +9 - 0.537score
agent-browser
gethamster
Browser automation CLI for AI agents.
SkillBFreshness: B★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 17, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/gethamster/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gethamster
- 0.648score

Hamster
gethamster
Search and manage Hamster briefs, tasks, plans, and knowledge; trigger delivery from your agent.
ConnectorAFreshness: ARemote★ 9Claude Code +3 - 0.563score
create-routine-article
gethamster
Write a longform X article announcing a routine, a skill running on autopilot in Hamster, whether it automates one of our skills or upgrades a popular…
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
analytics-instrumentation-check
gethamster
Audit a feature, branch, or PR diff for analytics instrumentation coverage.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
create-method-article
gethamster
Write a longform X article announcing a method, a group of skills and routines packaged as a single approach in Hamster, such as a workflow methodology, a…
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
backfill-script-creator
gethamster
Create a new Supabase data backfill, dedup, or one-off data correction script for Hamster Studio in apps/web/supabase/scripts/.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
authoring-blueprints-from-scratch
gethamster
Write the current-state blueprint for a feature or system from a brief or decision artifact, capturing narrative intent, trade-offs, and consequences.
SkillBFreshness: B★ 2Claude Code +9
Cite this page
bubbletea skill. Agent Mart. https://agentmart.dev/skills/gethamster-bubbletea (last updated 2026-10-24)