Terminal capability detector
Skill a5c-ai/babysitter/library/specializations/cli-mcp-development/skills/terminal-capability-detector
Detect terminal capabilities including color support, TTY status, size, and Unicode support for adaptive CLI output.From its SKILL.md
npx -y skills add a5c-ai/babysitter --skill terminal-capability-detectorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.9 KB, 355 tokens by cl100k_base, as published. Nobody here has run it
Terminal Capability Detector
Detect terminal capabilities for adaptive CLI output.
Capabilities
- Detect color support levels
- Check TTY status
- Get terminal dimensions
- Detect Unicode support
- Check for CI environment
- Configure adaptive output
Generated Patterns
import process from 'process';
import tty from 'tty';
export interface TerminalCapabilities {
isTTY: boolean;
colorLevel: 0 | 1 | 2 | 3;
supportsUnicode: boolean;
columns: number;
rows: number;
isCI: boolean;
}
export function detectCapabilities(): TerminalCapabilities {
const isTTY = tty.isatty(1);
const isCI = Boolean(process.env.CI || process.env.CONTINUOUS_INTEGRATION);
let colorLevel: 0 | 1 | 2 | 3 = 0;
if (isTTY && !process.env.NO_COLOR) {
if (process.env.COLORTERM === 'truecolor') colorLevel = 3;
else if (process.env.TERM?.includes('256color')) colorLevel = 2;
else if (process.env.TERM && process.env.TERM !== 'dumb') colorLevel = 1;
}
const supportsUnicode = process.platform !== 'win32' ||
process.env.WT_SESSION ||
process.env.TERM_PROGRAM === 'vscode';
return {
isTTY,
colorLevel,
supportsUnicode,
columns: process.stdout.columns || 80,
rows: process.stdout.rows || 24,
isCI,
};
}
Target Processes
- cross-platform-cli-compatibility
- cli-output-formatting
- progress-status-indicators
What ships with it: 1 file
498 B alongside SKILL.md
- README.md498 B