Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Style terminal output with Chalk. Use when adding colors to CLI output, formatting log messages, building styled terminal UIs, or creating developer tools with colored output.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-03 | ✓→✓ | = Same ✓ | -22% | 0% |
| case-04 | ✓→✓ | = Same ✓ | -16% | 0% |
Chalk styles terminal strings with colors, bold, underline, and backgrounds. ESM-only since v5. Chain styles fluently. Widely used in CLIs for status messages, errors, and formatted output.
typescriptimport chalk from 'chalk' console.log(chalk.green('✓ Success')) console.log(chalk.red.bold('✗ Error: file not found')) console.log(chalk.yellow('⚠ Warning: deprecated API')) console.log(chalk.blue.underline('https://example.com')) console.log(chalk.gray(' (verbose details)')) // Background colors console.log(chalk.bgRed.white.bold(' ERROR ') + ' Something went wrong') console.log(chalk.bgGreen.black.bold(' PASS ') + ' All tests passed')
typescript// Define reusable styles const styles = { error: chalk.red.bold, success: chalk.green, warn: chalk.yellow, info: chalk.blue, dim: chalk.gray, highlight: chalk.cyan.bold, label: chalk.bgBlue.white.bold, } function log(level: keyof typeof styles, msg: string) { const prefix = { error: '✗', success: '✓', warn: '⚠', info: 'ℹ', dim: '·', highlight: '→', } console.log(`${styles[level](prefix[level] || '·')} ${msg}`) } log('success', 'Project created') log('error', 'Build failed') log('info', `Using ${styles.highlight('TypeScript')} template`)
typescript// Table-like output function printStats(stats: Record<string, number>) { const maxKey = Math.max(...Object.keys(stats).map(k => k.length)) for (const [key, value] of Object.entries(stats)) { const label = chalk.gray(key.padEnd(maxKey)) const val = value > 0 ? chalk.green(value.toString()) : chalk.red(value.toString()) console.log(` ${label} ${val}`) } } printStats({ 'Files changed': 12, 'Lines added': 847, 'Lines removed': 231, Warnings: 0, Errors: 0 })
import chalk from 'chalk', not require.NO_COLOR and FORCE_COLOR env vars automatically.chalk.red.bold.underline('text') — order doesn't matter. chalk{red Error:} {bold ${message}} Other measured skills in the registry, with their headline benchmark lift.