Ascii renderer
AI coding agent skills for error prevention, best practices, and code quality
npx -y skills add dupe-com/skills --skill ascii-rendererAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate ASCII art from images or text using shape vector rendering. Creates sharp-edged ASCII art banners, converts photos to terminal art, and renders text with customizable fonts.
SKILL.md
4.2 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
ASCII Art Renderer
Convert images or text to ASCII art using the shape vector algorithm - a technique that produces sharp edges instead of blurry pixelated results.
Based on Alex Harri's ASCII rendering research.
When to Use This Skill
Activate this skill when:
- User wants to create ASCII text banners (e.g., "make ASCII art saying HELLO")
- Converting images to ASCII art for terminals or READMEs
- Generating retro/terminal aesthetic text
- Building CLI tool splash screens or headers
When NOT to Use This Skill
Skip this skill when:
- User needs simple block letters (figlet/toilet may be simpler)
- Color ASCII art is required (this produces monochrome output)
- User wants emoji or unicode art (this uses standard ASCII characters)
Quick Start
Text to ASCII
# Basic text banner
bun run scripts/render.ts --text "DUPE.COM"
# Filled letters (inverted)
bun run scripts/render.ts --text "HELLO" --invert --cols 80
# Custom font and size
bun run scripts/render.ts --text "WOW" --font "Impact" --cols 60 --rows 12
Image to ASCII
# Convert image
bun run scripts/render.ts photo.png --cols 80 --rows 40
# Demo sphere (no image needed)
bun run scripts/render.ts --demo
Command Reference
| Option | Short | Default | Description |
|---|---|---|---|
--text | -t | - | Text to render as ASCII art |
--cols | -c | 80 | Output width in characters |
--rows | -r | auto | Output height (auto-calculated for text) |
--invert | -i | false | Invert colors (filled vs outlined) |
--font | -f | Arial Black | Font for text rendering |
--contrast | - | 1.5 | Contrast enhancement (higher = sharper) |
--demo | -d | false | Render demo sphere |
--help | -h | - | Show help |
Examples
Text Banner (Outlined)
bun run scripts/render.ts --text "DUPE" --cols 60
@@@@@TTTTTTTT@@@@TTT@@@@TTT@@FTTTTTTT#@@FTTTTTTTT%@@@@@
@@@@@ `#@@ #@@@ #@i ,w: %@i ,;;;;;]@@@@@
@@@@@ ]@@i `@@ #@@@ #@i `@@i ]@i J@@@@@@@@@@@
@@@@@ ]@@D @@ #@@@ #@i `T^ W@i @@@@@@
@@@@@ ]@@P @@ #@@@ #@i ,cssw#@@i ,=====@@@@@@
@@@@@ J#P' s@@. J#@t ,@@i `@@@@@@@i `@@@###@@@@@
@@@@@ ,@@@W. ,W@@i `@@@@@@@i ]@@@@@
@@@@@=======#@@@@@@==www=@@@@#===@@@@@@@#========#@@@@@
Text Banner (Filled/Inverted)
bun run scripts/render.ts --text "DUPE" --cols 60 --invert
=======w: a=== a=== a======ww ,=========:
@@@P#@@@w &@@@ J@@@ ]@@@PP#@@# `@@@@PPPPP'
@@@i `@@@i &@@D J@@@ ]@@@,,W@@@ ,@@@lwwwwc
@@@i @@@i &@@D ]@@@ ]@@@@@@@P' `@@@@PPPPP
@@@l,;w@@@' ]@@@c.,W@@@ ]@@@ ,@@@l.,.,..
@@@@@@@@P' T@@@@@@@P' ]@@@ `@@@@@@@@@i
How It Works: Shape Vectors
Traditional ASCII converters map pixel brightness → single character. This creates blurry results.
Shape vectors capture character geometry using 6 sampling regions per cell:
┌─────────────┐
│ ●₀ ●₁ │ ← Top samples
│ ●₂ ●₃ │ ← Middle samples
│ ●₄ ●₅ │ ← Bottom samples
└─────────────┘
Each ASCII character has a unique 6D "shape signature". The algorithm finds the best-matching character for each image cell based on geometric similarity, not just brightness.
This produces sharp edges that follow the actual boundaries in the image.
Requirements
- Runtime: Bun (or Node.js with modifications)
- Dependencies:
sharpfor image processing
bun add sharp
Available Fonts
Font availability depends on your system. Common options:
- Arial Black (default, bold and clean)
- Impact (condensed, strong)
- Helvetica Bold
- Georgia
- Times New Roman
- Courier New
Further Reading
- Original blog post - Deep dive into the algorithm
- Shape vector math and K-d tree optimization details in the source code
What ships with it: 1 file
18.5 KB alongside SKILL.md, 1 of them executable
scripts/
- render.tsruns18.5 KB