Skip to content

UI Branding

Standardized visual output branding across all GHS skills: banners, boxes, indicators, routing blocks. For data formats (tables, scores, status indicators), see Scoring.

Stage Banners

Use at the start of every major skill phase. Width: 53 chars of .

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 GHS ► {STAGE NAME}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Stage Names by Skill

SkillStage Name
ghs-repo-scanSCANNING
ghs-backlog-fixFIXING
ghs-issue-triageTRIAGING
ghs-issue-analyzeANALYZING
ghs-issue-implementIMPLEMENTING
ghs-review-prREVIEWING
ghs-merge-prsMERGING
ghs-backlog-syncSYNCING
ghs-releaseRELEASING
ghs-orchestrateORCHESTRATING
ghs-dev-loopDEV LOOP
ghs-backlog-boardBOARD
ghs-project-initINITIALIZING
ghs-action-fixACTION FIX
ghs-repos-pullPULLING

Checkpoint Boxes

Use before pausing for human input or destructive actions. Box width: 62 chars inner.

╔══════════════════════════════════════════════════════════════╗
║  CHECKPOINT: {Type}                                          ║
╚══════════════════════════════════════════════════════════════╝
TypeWhen to Use
Verification RequiredAgent output needs human review before next step
Decision RequiredMultiple valid paths; human must choose
Action RequiredHuman must run a command or complete a step
Confirmation RequiredDestructive action (delete, force-push, drop)

Status Symbols

Use consistently --- never mix Unicode variants or emoji substitutes.

SymbolMeaning
Complete / Passed / Verified
Failed / Missing / Blocked
In Progress / Active
Pending / Not started
Warning / Needs attention
Auto-approved / Skipped

Usage:

✓ README.md --- present and non-empty
✗ CONTRIBUTING.md --- missing
⚠ LICENSE --- present but unrecognized SPDX identifier
○ SECURITY.md --- not yet checked
◆ Running health checks...
⚡ CI check skipped (no workflows directory)

Spawning Indicators

Use when launching subagents:

◆ Spawning agent: {description}...
✓ Agent complete: {result summary}
✗ Agent failed: {error summary}

Parallel batch:

◆ Spawning {N} agents in parallel...
  → {agent-1-desc}
  → {agent-2-desc}
  → {agent-3-desc}
✓ All agents complete (3/3)

Progress Display

Use for multi-step operations, waves, or item batches.

Progress: ████████░░ 80%
Items: 3/5 complete
Wave 2/3: ██████░░░░ 60%

Rules:

  • Bar width: 10 blocks ( filled, empty)
  • Always show numeric alongside bar
  • Label the unit (Items, Wave, Repos, Checks)

Error Box

Use when a skill cannot continue:

╔══════════════════════════════════════════════════════════════╗
║  ERROR                                                       ║
╚══════════════════════════════════════════════════════════════╝

{Error description --- one or two sentences, plain language}

**To fix:** {Concrete resolution steps, numbered if >1}

Next Up Block

Append at the end of every skill's output:

───────────────────────────────────────────────────────────────

## ▶ Next Up

**{Skill name}** --- {one-line description of what it does next}

  /ghs-{skill} {suggested-args}

───────────────────────────────────────────────────────────────

**Also available:**
- `/ghs-{alt-1}` --- {short description}
- `/ghs-{alt-2}` --- {short description}

───────────────────────────────────────────────────────────────

Standard Routing Table

After RunningPrimary Next UpAlternatives
ghs-repo-scanghs-backlog-boardghs-backlog-fix, ghs-backlog-sync
ghs-backlog-boardghs-backlog-fixghs-backlog-next, ghs-backlog-sync
ghs-backlog-fixghs-review-prghs-backlog-board, ghs-merge-prs
ghs-backlog-syncghs-backlog-boardghs-backlog-fix
ghs-issue-triageghs-issue-analyzeghs-issue-implement
ghs-issue-analyzeghs-issue-implementghs-review-pr
ghs-issue-implementghs-review-prghs-merge-prs
ghs-review-prghs-merge-prsghs-issue-implement, ghs-release
ghs-merge-prsghs-releaseghs-backlog-board
ghs-releaseghs-backlog-boardghs-orchestrate
ghs-orchestrateghs-backlog-boardghs-dev-loop

Dry-Run Indicator

Show immediately after the stage banner when --dry-run is active:

╔══════════════════════════════════════════════════════════════╗
║  DRY RUN --- No changes will be made                         ║
╚══════════════════════════════════════════════════════════════╝

All mutation descriptions in dry-run mode should be prefixed with [DRY RUN]:

[DRY RUN] Would create PR: "fix: add CONTRIBUTING.md"
[DRY RUN] Would apply label: priority/high
[DRY RUN] Would merge PR #38

Anti-Patterns

Do NOTDo InsteadWhy
Use random emojiUse the defined symbol set (✓ ✗ ⚠ ◆)Consistent terminal rendering
Vary box widths per skillAlways use 62-char inner widthVisual alignment across skill outputs
Skip Next Up blockAlways append Next Up at endUsers need guided continuation
Mix and as section separators for banners, for Next Up onlyVisual hierarchy is load-bearing
Omit [DRY RUN] prefix on mutationsPrefix every would-be mutationPrevents confusion about what ran
Print raw API errors verbatimWrap in Error Box with fix stepsRaw errors are unactionable

Released under the MIT License.