Skip to content
Back to skills

Alex Banner Generation

ASecurity

Generate branded SVG banners for documents (READMEs, plans, changelogs, release artifacts) using a configurable Node.js muscle. Covers watermark selection, subtitle craft, and embedding. Requires the generate-banner.cjs muscle from Alex_ACT_Edition.

  • 4 stars
  • 0 votes
  • 2 copies
  • 2 views
  • Added September 3, 2026
ai-agentsgobashnodegit

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill alex-banner-generation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Alex Banner Generation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Alex Banner Generation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fabioc-aloha-alex-banner-generation/badge)](https://www.skillsdirectory.com/skills/fabioc-aloha-alex-banner-generation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: alex-banner-generation
description: "Generate branded SVG banners for documents (READMEs, plans, changelogs, release artifacts) using a configurable Node.js muscle. Covers watermark selection, subtitle craft, and embedding. Requires the generate-banner.cjs muscle from Alex_ACT_Edition."
lastReviewed: 2026-04-30
---

# Alex Banner Generation

Generate visually consistent SVG banners for any document using the Alex — ACT Edition brand template.

## When to Use

- User asks for a banner, header image, or document decoration
- Creating a significant new document (README, PLAN, ROADMAP, CHANGELOG)
- User mentions adding a "header" or "branded image" to a doc

> **Looking for a lighter, hand-authored variant?** See `document-banner-pastel` — pastel 1200×240 banners with content-specific iconography. Use that for branding, education, or audience-facing docs; use this muscle for technical artifacts that need brand-stamped consistency.

## Prerequisites

This skill requires the `generate-banner.cjs` muscle from Alex_ACT_Edition at `.github/muscles/generate-banner.cjs`. The muscle handles SVG rendering; this skill handles the judgment calls (watermark selection, subtitle quality, placement).

## Brand Constants

| Element | Value |
| ------- | ----- |
| Dimensions | 1200 × 300 px |
| Background | `#0f172a` (Slate 900) |
| Accent bar | 4px wide, `#6366f1` (Indigo 500) |
| Series label | `ALEX · ACT EDITION` |
| Title | 56px / weight 700 / `#f1f5f9` |
| Subtitle | 18px / weight 600 / `#94a3b8` |
| Watermark | ~100px / weight 800 / `#f1f5f9` / 10% opacity |

## Watermark Categories

Pick the one that matches the document's role:

| Watermark | Use For |
| --------- | ------- |
| `ACT` | Critical-thinking content, ACT framework artifacts, manifestos |
| `EDITION` | Top-level repo identity (root README, ABOUT) |
| `DOCS` | User guides, tutorials, reference material |
| `RELEASE` | CHANGELOGs, release notes, version stamps |
| `PLAN` | Planning docs, roadmaps, milestone trackers |
| `NOTE` | Session notes, ad-hoc memos |

If no category fits, ask the user before inventing one — the muscle rejects unknown watermarks.

## Procedure

### Step 1 — Gather Inputs

Ask the user only for what's missing. Defaults:

- **Title** — the document's name. Keep ≤ 32 chars (the muscle enforces this).
- **Subtitle** — a single-line purpose statement, ≤ 80 chars. Lift it from the doc's first paragraph or its north-star sentence; don't invent.
- **Watermark** — pick from the table above based on doc role.
- **Filename** — defaults to `assets/banner-<title-slug>.svg`.

### Step 2 — Generate

```bash
node .github/muscles/generate-banner.cjs \
  --title "Document Title" \
  --subtitle "One-line purpose statement." \
  --watermark PLAN
```

| Flag | Purpose |
| ---- | ------- |
| `--force` | Overwrite an existing file |
| `--out path/to/banner.svg` | Non-default location |

Exit codes: 0 = success, 1 = validation error (length/watermark), 2 = filesystem error.

### Step 3 — Embed in the Document

Add this line just under the document's H1:

```markdown
![Banner](assets/banner-<slug>.svg)
```

The muscle prints the exact embed line; copy it verbatim.

## Subtitle Craft

The muscle takes whatever subtitle you pass — quality is your job. Good subtitles:

- State the document's **purpose**, not its contents ("Critical thinking made operational." not "This document explains ACT.")
- Are one clause, not a sentence list
- End with a period
- Avoid hype ("revolutionary", "ultimate") and meta language ("this document")
- Match the document's actual first paragraph — don't promise things the doc doesn't deliver

If uncertain, show two options to the user before generating.

## Validation Checklist

- [ ] File written under `assets/`
- [ ] Watermark matches the document's role
- [ ] Title ≤ 32 chars, subtitle ≤ 80 chars
- [ ] Embed line added under the document's H1
- [ ] Renders in VS Code preview without errors

## PNG Conversion (Optional)

GitHub renders SVG natively. If a downstream tool needs PNG:

```bash
npx svgexport assets/banner-foo.svg assets/banner-foo.png 1200:300
```

Don't ship PNGs unless required — they double asset weight and can drift from the SVG source.

## Boundaries

- The muscle never picks the watermark or writes the subtitle — that's skill judgment
- The muscle never edits source markdown — embedding is a separate step
- Custom colors/fonts/dimensions not supported — for non-template designs, generate raw SVG manually

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.