.agents/skills/opentui-expert/SKILL.md
Expert guidance for building Terminal User Interfaces (TUIs) using OpenTUI (React). Handles setup, component structure, rendering, and common TUI pitfalls.
npx skillsauth add thesammykins/dotfiles opentui-expertInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
@opentui/react and @opentui/core.import { createRoot } from "@opentui/react";
import { createCliRenderer } from "@opentui/core";
import App from "./App";
const renderer = await createCliRenderer();
const root = createRoot(renderer);
root.render(<App />);
bun for execution speed if environment allows, otherwise node.<text> components. Raw strings in generic containers can cause layout shifts.useEffect for data fetching. Display a "Loading..." state or spinner component to prevent the UI from looking frozen.console.log for debugging while the TUI is running. It destroys the layout. Use a dedicated debug pane in the UI or write to a log file.setImmediate.useTerminalSize hook (or equivalent) to adapt to resize events.// Clean, functional, typed component
import React, { useState } from 'react';
import { Box, Text } from '@opentui/react';
interface StatusProps {
label: string;
active: boolean;
}
export const StatusIndicator: React.FC<StatusProps> = ({ label, active }) => {
return (
<Box flexDirection="row" gap={1}>
<Text color={active ? 'green' : 'gray'}>●</Text>
<Text bold={active}>{label}</Text>
</Box>
);
};
development
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.
development
Autonomous feature development - setup and execution. Triggers on: ralph, set up ralph, run ralph, run the loop, implement tasks. Two phases: (1) Setup - chat through feature, create tasks with dependencies (2) Loop - pick ready tasks, implement, commit, repeat until done.
tools
Enforces the 2025 Python stack. Replaces legacy tools (pip, flake8, isort) with modern, fast equivalents (uv, ruff). Mandates strict type hints.
documentation
Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD. Triggers on: create a prd, write prd for, plan this feature, requirements for, spec out.