ascii-text-art-library

$npx mdskill add partme-ai/full-stack-skills/ascii-text-art-library

Generates a reusable ASCII-only text template library for titles, dividers, notice boxes, and slogans with consistent naming and selection rules.

  • Helps create decorative text elements for CLI, logs, or README files to enhance output formatting.
  • Depends on Python 3.8 or higher and includes a script for generating templates with customizable parameters.
  • Activates only when the user explicitly mentions the skill name, ensuring precise and on-demand usage.
  • Outputs templates grouped by category with naming rules and usage guidance, avoiding file modifications.
SKILL.md
.github/skills/ascii-text-art-libraryView on GitHub ↗
---
name: ascii-text-art-library
description: "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."
license: Complete terms in LICENSE.txt
dependencies:
  - python>=3.8
---


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

**Trigger phrases include:**
- "ascii-text-art-library"
- "use ascii-text-art-library"
- "用 ascii-text-art-library 生成 ASCII 模板库"
- "使用 ascii-text-art-library 输出提示框/分隔线/标题样式"

## Boundary
- Output templates + naming/selection rules only; do not modify repository files.
- ASCII-only by default to avoid ambiguous-width Unicode.
- Templates must be width-tunable (default 80 columns).

## How to use this skill
### Inputs
- width (default 80)
- language (zh | en, default zh)
- tone (serious | fun, default serious)
- categories (title/divider/info/warn/error/success/cta, default all)
- variantsPerCategory (default 2)

### Outputs (required)
- templates: grouped by category (>= 2 variants per category)
- namingRules: e.g. `TITLE_COMPACT_A`, `WARN_BOX_B`
- usageRules: selection guidance + anti-spam thresholds

### Inline Example Output

Running `scripts/generate_templates.py --width 60`:

```
--- TITLE_COMPACT_A ---
============================================================
  Section Title
============================================================

--- WARN_BOX_B ---
+----------------------------------------------------------+
| WARNING: Check disk space before proceeding              |
+----------------------------------------------------------+

--- DIVIDER_THIN_A ---
------------------------------------------------------------
```

### Workflow

1. **Generate**: Run `python3 scripts/generate_templates.py --width 80 --language en --tone serious`
2. **Review**: Check generated templates grouped by category
3. **Validate**: Run `python3 scripts/generate_templates.py --width 80 --validate` — confirms all lines <= width, no trailing spaces, correct naming
4. **Integrate**: Copy chosen variants into project; reference by naming convention (e.g., `TITLE_COMPACT_A`)

### Script Usage

```bash
# Generate all template categories at 80 columns
python3 scripts/generate_templates.py --width 80

# Generate only warning and error templates
python3 scripts/generate_templates.py --width 60 --categories warn,error

# Generate with fun tone
python3 scripts/generate_templates.py --width 80 --tone fun
```

### Template Generation Logic (inline fallback)

When the script is unavailable, generate templates using these rules:

```python
def title_compact(text, width=80, char='='):
    rule = char * width
    centered = text.center(width)
    return f"{rule}\n{centered}\n{rule}"

def warn_box(text, width=80):
    inner_w = width - 4  # account for "| " and " |"
    top = '+' + '-' * (width - 2) + '+'
    line = f'| {text:<{inner_w}} |'
    return f"{top}\n{line}\n{top}"

# Usage:
# title_compact("My Section Title", 60)
# warn_box("WARNING: Check disk space", 60)
```

## Script
- `scripts/generate_templates.py`: generate a baseline template set for a given width (local preview)

## Examples
- `examples/templates-80.md`

## Quality checklist
1. Stable alignment at 80 columns; no trailing spaces
2. Templates are semantically clear and not over-decorated
3. Notice boxes support multi-line content and remain readable

## Keywords
**English:** ascii-text-art-library, templates, ascii, divider, banner, notice box, warning, error, success, plain text
**中文:** ascii-text-art-library, 模板库, ASCII, 分隔线, 标题, 提示框, 警告, 错误, 成功, 纯文本
More from partme-ai/full-stack-skills