ascii-progress-and-spinner

Design ASCII progress bars and spinners for CLI UX (determinate/indeterminate, TTY single-line refresh, non-interactive log fallback) with copy-pastable style specs. Use when the user needs terminal progress indicators, loading animations, or CLI feedback elements.

261 stars

Best use case

ascii-progress-and-spinner is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Design ASCII progress bars and spinners for CLI UX (determinate/indeterminate, TTY single-line refresh, non-interactive log fallback) with copy-pastable style specs. Use when the user needs terminal progress indicators, loading animations, or CLI feedback elements.

Design ASCII progress bars and spinners for CLI UX (determinate/indeterminate, TTY single-line refresh, non-interactive log fallback) with copy-pastable style specs. Use when the user needs terminal progress indicators, loading animations, or CLI feedback elements.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "ascii-progress-and-spinner" skill to help with this workflow task. Context: Design ASCII progress bars and spinners for CLI UX (determinate/indeterminate, TTY single-line refresh, non-interactive log fallback) with copy-pastable style specs. Use when the user needs terminal progress indicators, loading animations, or CLI feedback elements.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
  • Use it when you already have the supporting tools or dependencies needed by the workflow.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/ascii-progress-and-spinner/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/ascii-skills/ascii-progress-and-spinner/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ascii-progress-and-spinner/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ascii-progress-and-spinner Compares

Feature / Agentascii-progress-and-spinnerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Design ASCII progress bars and spinners for CLI UX (determinate/indeterminate, TTY single-line refresh, non-interactive log fallback) with copy-pastable style specs. Use when the user needs terminal progress indicators, loading animations, or CLI feedback elements.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

## When to use this skill
**CRITICAL TRIGGER RULE**
- Use this skill ONLY when the user explicitly mentions the exact skill name: `ascii-progress-and-spinner`.

**Trigger phrases include:**
- "ascii-progress-and-spinner"
- "use ascii-progress-and-spinner"
- "用 ascii-progress-and-spinner 生成 ASCII 进度条"
- "使用 ascii-progress-and-spinner 做 spinner / loading"

## Boundary
- Do not integrate a specific UI framework; output styles + refresh rules + fallback protocol + examples.
- Must cover:
  - determinate progress bars
  - indeterminate spinners
  - non-TTY / redirected-output fallback (log lines, no carriage-return updates)

## How to use this skill
### Inputs
- mode (determinate | indeterminate)
- width (default 40)
- showPercent (default true)
- showEta (optional)
- multiTask (optional)
- colorMode (none | ansi256, default none)

### Outputs (required)
- progressBarStyles (>= 3)
- spinnerStyles (>= 2)
- renderRules (TTY single-line refresh vs logLines)
- fallbackRules (non-interactive / redirected output)

### Recommended render rules
- **TTY (interactive):** single-line refresh (overwrite previous line), avoid log spam
- **Non-TTY (logs):** print log lines (no overwrite). Each line may include task name + percent.

### Inline Style Examples

**Progress bar styles:**
```
Style 1 (block):   [████████░░░░░░░░░░░░]  42%  ETA 3s
Style 2 (hash):    [########............]  42%  ETA 3s
Style 3 (arrow):   [========>-----------]  42%  ETA 3s
```

**Spinner styles:**
```
Style 1 (braille): ⠋ Loading...  →  ⠙ Loading...  →  ⠹ Loading...
Style 2 (pipe):    | Loading...  →  / Loading...  →  - Loading...
```

**Non-TTY log fallback:**
```
[task-1] 25% complete
[task-1] 50% complete
[task-1] 75% complete
[task-1] 100% complete - done (4.2s)
```

### Workflow

1. Determine mode: `determinate` (known total) or `indeterminate` (spinner)
2. Select styles from the style gallery (>= 3 progress, >= 2 spinner)
3. Define render rules: TTY uses single-line refresh, non-TTY uses log lines
4. Define fallback rules for redirected output (no carriage returns)
5. **Validate**: Fixed-width percent field, no jitter, grep-friendly log mode

## Script
- `scripts/demo.py`: local demo for progress bar + spinner shapes

## Examples
- `examples/styles.md`

## Quality checklist
1. Fixed width (percent field is fixed-width to avoid jitter)
2. Log mode is grep-friendly (no overwrite)
3. ASCII-only defaults are available (avoid ambiguous-width Unicode)

## Keywords
**English:** ascii-progress-and-spinner, progress bar, spinner, loading, tty, non-interactive, log output, ascii
**中文:** ascii-progress-and-spinner, 进度条, Spinner, Loading, 终端, TTY, 日志降级, ASCII

Related Skills

tui-line-progress

261
from partme-ai/full-stack-skills

Generate and render a pixel-precise ASCII TUI Line Progress component with complete output blocks (TUI_RENDER, COMPONENT_SPEC, PENCIL_SPEC, PENCIL_BATCH_DESIGN) for Pencil MCP drawing workflows. Use when the user asks to create a line progress in a terminal UI, text-based interface, or Pencil MCP project.

cli-ascii-logo

261
from partme-ai/full-stack-skills

“Generate CLI ASCII art logos and banners with box drawing borders, block characters, and ANSI 24-bit gradients, plus runnable scripts and integration code. Use when the user needs a terminal logo, colored ASCII banner, figlet-style title, or CLI startup welcome page.”

ascii-text-art-library

261
from partme-ai/full-stack-skills

Generate a reusable ASCII-only text template library (titles, dividers, notice boxes, slogans/CTA), with naming conventions and selection rules for consistent CLI/log/README output. Use when the user needs ASCII art templates, text banners, console formatting, or decorative text elements.

ascii-terminal-animation-pack

261
from partme-ai/full-stack-skills

Plan and generate terminal ASCII animations/screensaver-style output (FPS, refresh rules, loop policy, low-flicker guidance), with a static poster frame and an optional local demo script.

ascii-table-renderer

261
from partme-ai/full-stack-skills

Render structured data as aligned ASCII tables (column width rules, truncate/wrap, border styles, compact/readable variants) for terminal/log/email.

ascii-motd-profile-banner

261
from partme-ai/full-stack-skills

Generate ASCII-only MOTD / SSH login banner / shell profile welcome messages (short/long variants, quiet mode guidance, security notices).

ascii-mini-charts

261
from partme-ai/full-stack-skills

Generate ASCII mini charts (sparkline/bar/simple line) for plain-text trend inspection, with minimal and annotated variants and normalization notes. Use when the user needs text-based data visualization, terminal charts, or ASCII graphs for CLI output.

ascii-image-to-ascii

261
from partme-ai/full-stack-skills

“Convert an image into ASCII art (readable + detail variants, width/charset controls, optional ANSI), for terminal previews and plain-text image substitutes.”

ascii-diagram-boxflow

261
from partme-ai/full-stack-skills

Generate plain ASCII box-flow diagrams (boxes + arrows) for environments without renderers, with alignment rules and split strategies for complex graphs.

ascii-cli-logo-banner

261
from partme-ai/full-stack-skills

Entry point for ASCII CLI banners that routes to the Python built-in font skill or figlet.js/FIGfont skill. Use when the user wants a startup banner, ASCII logo, terminal welcome screen, or CLI branding for a service.

ascii-cli-logo-banner-python

261
from partme-ai/full-stack-skills

Generate copy-pastable ASCII banners with a built-in font (no external font deps), including compact fallback and optional ANSI 256 coloring for the logo. Use when the user needs a simple ASCII banner, startup logo, or CLI welcome screen without external dependencies.

ascii-cli-logo-banner-figletjs

261
from partme-ai/full-stack-skills

Generate TAAG/FIGlet-style ASCII art banners using figlet.js (FIGfont spec), with layout controls (horizontal/vertical layout, width, whitespaceBreak) and optional ANSI 256 coloring.