Get the FREE Ultimate OpenClaw Setup Guide →

ascii-image-to-ascii

Scanned
npx machina-cli add skill partme-ai/full-stack-skills/ascii-image-to-ascii --openclaw
Files (1)
SKILL.md
2.6 KB

When to use this skill

CRITICAL TRIGGER RULE

  • Use this skill ONLY when the user explicitly mentions the exact skill name: ascii-image-to-ascii.

Trigger phrases include:

  • "ascii-image-to-ascii"
  • "use ascii-image-to-ascii"
  • "用 ascii-image-to-ascii 把图片转字符画"
  • "使用 ascii-image-to-ascii 生成可读优先/细节优先两版"

Boundary

  • Default output is ASCII-only; ANSI coloring is optional.
  • The bundled script is for local conversion/verification only. Do not fetch/upload images on the user’s behalf.
  • Always give pre-processing advice (crop subject, raise contrast, simplify background) before generating the final ASCII art.

How to use this skill

Inputs

  • imagePath (local path, required)
  • width (default 100; common: 80/100/120)
  • charset (default .:-=+*#%@, from light to dark)
  • mode (readable | detail; if outputting both, this can be ignored)
  • background (light | dark | unknown, default unknown)
  • colorMode (none | ansi256, default none)

Outputs (required)

  • asciiReadable: readable-first (less noise, clearer silhouette)
  • asciiDetail: detail-first (more levels, richer texture)
  • paramsGuide: recommended width/charset + pre-processing tips
  • pitfalls: 3-5 common failure modes with fixes

Steps

  1. Pre-processing advice (required):
    • Crop the subject, remove irrelevant background
    • Increase contrast to reduce gradient noise
    • Target width usually 80–120 columns
  2. Charset + mapping direction:
    • Space is the lightest, @ is the darkest (or invert consistently)
  3. Generate two variants:
    • readable: fewer levels (less noise)
    • detail: more levels (more texture)
  4. Optional ANSI:
    • Use color only as a hint; keep the silhouette readable
    • Always provide a no-color fallback

Script

  • scripts/image_to_ascii.py
    • Requires Python + Pillow (pip install pillow)
    • Supports: readable/detail variants, optional --ansi256

Examples

  • examples/readable-vs-detail.md

Quality checklist

  1. Lines are consistent and <= width
  2. The readable variant must preserve the main silhouette
  3. No trailing spaces (copy/paste safe)

Keywords

English: ascii-image-to-ascii, image to ascii, ascii art, terminal preview, charset, grayscale, dithering, ansi 中文: ascii-image-to-ascii, 图片转字符画, ASCII 字符画, 终端预览, 字符集, 灰度映射, 降噪, ANSI 彩色

Source

git clone https://github.com/partme-ai/full-stack-skills/blob/main/skills/ascii-image-to-ascii/SKILL.mdView on GitHub

Overview

ascii-image-to-ascii converts a local image into ASCII art suitable for terminal previews and plain-text substitutes. It supports readable and detail variants, configurable width and charset, and optional ANSI coloring, with a recommended pre-processing workflow to improve results.

How This Skill Works

The tool runs on Python 3.8+ with Pillow, crops and boosts contrast to reduce gradient noise, then maps grayscale values to a light-to-dark charset. It outputs two variants: asciiReadable (fewer levels) and asciiDetail (more texture), with an optional ANSI color mode and a no-color fallback by default.

When to Use It

  • Need a readable ASCII preview of an image in plain text
  • Want a detail-rich ASCII variant for texture and nuance
  • Produce terminal-friendly art for dashboards or logs without color
  • Use pre-processing (crop, contrast) to improve ASCII fidelity
  • Create ASCII examples for documentation or README demos

Quick Start

  1. Step 1: Crop the subject, raise contrast, and set a width (e.g., 100)
  2. Step 2: Run python scripts/image_to_ascii.py --image path --width 100 --charset ' .:-=+*#%@' --mode readable --ansi256
  3. Step 3: Inspect asciiReadable and asciiDetail; adjust width or charset as needed

Best Practices

  • Pre-process: crop the subject, remove background, and increase contrast
  • Start with width in the 80–120 column range for balance
  • Choose a charset that maps light to dark (e.g., ' .:-=+*#%@') and stay consistent
  • Generate both readable and detail variants to compare silhouette and texture
  • Provide an ANSI option but also include a no-color fallback; test in a plain terminal

Example Use Cases

  • README with a logo rendered as ASCII art
  • Terminal dashboard preview of an image widget
  • CLI demo showing product screenshots in text form
  • Documentation showing grayscale mapping and ASCII layers
  • Art project converting photos to ASCII textures for inspiration

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers