Detect terminal capabilities including color support, TTY status, size, and Unicode support for adaptive CLI output.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add a5c-ai/babysitter --skill terminal-capability-detector --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Terminal Capability Detector?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/a5c-ai-terminal-capability-detector-babysitter)More formats (shields.io, HTML) on the badges page.
---
name: terminal-capability-detector
description: Detect terminal capabilities including color support, TTY status, size, and Unicode support for adaptive CLI output.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
graph:
domains: [domain:software-engineering]
specializations: [specialization:cli-mcp-development]
skillAreas: [skill-area:cli-design, skill-area:command-line-interface-tools]
roles: [role:backend-engineer, role:platform-engineer]
workflows: [workflow:feature-development]
topics: [topic:developer-experience]
---
# 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
```typescript
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
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!