Agent skill
script-banner
Automatically add standardized info banners to all new scripts and tools. Use when creating new PowerShell scripts, Bash scripts, or any executable tools in this repository.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/script-banner
SKILL.md
Script Banner Generator Skill
This Skill ensures that every new script or tool created in this repository includes a standardized information banner that displays script metadata and requires user confirmation before execution.
Purpose
All scripts and tools in the tech-support-tools repository must include:
- An ASCII-formatted banner displaying script information
- User interaction requiring Enter key press to proceed
- Consistent branding with author information
When to Use This Skill
ALWAYS use this Skill when:
- Creating a new PowerShell script (
.ps1file) - Creating a new Bash script (
.shfile) - Creating any new executable tool or utility
- The user requests a new script or tool
DO NOT use this Skill when:
- Editing existing scripts (unless adding banner is specifically requested)
- Creating configuration files, documentation, or non-executable files
Required Banner Information
Every script banner must include:
- Tool Name: Descriptive name of the script/tool
- About: Brief description of what the script does
- Author: Mchael Poncardas
- Email: m@poncardas.com
- Version: Starting version number (default: 1.0 for new scripts)
- Last Updated: Current date in YYYY-MM-DD format
- Requires: Platform/version requirements (e.g., "PowerShell 5.1 or later", "Bash 4.0+")
Implementation Instructions
For PowerShell Scripts
-
Console Banner (before script execution):
- Use the PowerShell template from
templates/powershell-banner.ps1 - Place the banner code AFTER parameter declarations but BEFORE main script logic
- Include within an
if (-not $NoLogFile)or similar conditional for scripts with non-interactive modes - Always include
Read-Host -Prompt "Press 'Enter' key to run [Script Name]"
- Use the PowerShell template from
-
Log File Banner (if script generates logs):
- Use the same banner format with
Write-Logfunction - Place at the beginning of log file output
- Use the same banner format with
-
Banner Width:
- Total width: 79 characters (including border characters)
- Border characters:
+for corners/lines,|for sides - Content area: 77 characters (between the
|characters)
For Bash Scripts
-
Console Banner:
- Use the Bash template from
templates/bash-banner.sh - Place near the beginning of the script, after shebang and initial setup
- Always include
read -p "Press Enter to continue..." </dev/tty
- Use the Bash template from
-
Banner Width:
- Same as PowerShell: 79 characters total
Banner Template Structure
+-----------------------------------------------------------------------------+
| [SCRIPT NAME HERE] |
+-----------------------------------------------------------------------------+
| About : [Brief description of what the script does - can wrap] |
| Author : Mchael Poncardas |
| Email : m@poncardas.com |
| Version : [X.Y] |
| Last Updated : [YYYY-MM-DD] |
| Requires : [Platform/version requirements] |
+-----------------------------------------------------------------------------+
Formatting Rules:
- Script name should be CENTERED and UPPERCASE
- Field labels are left-aligned with consistent spacing
- Use
:(colon-space) separator after field labels - Maintain consistent column alignment for readability
- Pad with spaces to keep border alignment
Version Numbering
- New scripts: Start at
1.0 - Bug fixes: Increment patch (1.0 → 1.1)
- New features: Increment minor (1.0 → 2.0)
- Breaking changes: Increment major if needed
Date Format
- Always use ISO format:
YYYY-MM-DD - Example:
2025-12-26
Checklist for New Scripts
Before completing a new script, verify:
- ✅ Banner is present in console output
- ✅ Banner is present in log file output (if applicable)
- ✅ Banner displays script name (centered, uppercase)
- ✅ Banner displays brief description
- ✅ Banner shows author: "Mchael Poncardas"
- ✅ Banner shows email: "m@poncardas.com"
- ✅ Banner shows version number
- ✅ Banner shows last updated date (today's date)
- ✅ Banner shows platform requirements
- ✅ User must press Enter to proceed
- ✅ Banner width is exactly 79 characters
- ✅ All text is properly aligned
Examples
Example 1: PowerShell Diagnostic Script
# After parameters, before main logic:
if (-not $NoLogFile) {
Write-Host ""
Write-Host "+-----------------------------------------------------------------------------+"
Write-Host "| NETWORK DIAGNOSTICS TOOL |"
Write-Host "+-----------------------------------------------------------------------------+"
Write-Host "| About : Performs comprehensive network connectivity tests and |"
Write-Host "| generates a detailed diagnostic report. |"
Write-Host "| Author : Mchael Poncardas |"
Write-Host "| Email : m@poncardas.com |"
Write-Host "| Version : 1.0 |"
Write-Host "| Last Updated : 2025-12-26 |"
Write-Host "| Requires : PowerShell 5.1 or later |"
Write-Host "+-----------------------------------------------------------------------------+"
Write-Host ""
Read-Host -Prompt "Press 'Enter' key to run Network Diagnostics"
}
Example 2: Bash Backup Script
#!/bin/bash
# Display banner
echo ""
echo "+-----------------------------------------------------------------------------+"
echo "| BACKUP AUTOMATION TOOL |"
echo "+-----------------------------------------------------------------------------+"
echo "| About : Automates incremental backups using rsync with retention |"
echo "| policies and detailed logging. |"
echo "| Author : Mchael Poncardas |"
echo "| Email : m@poncardas.com |"
echo "| Version : 1.0 |"
echo "| Last Updated : 2025-12-26 |"
echo "| Requires : Bash 4.0 or later, rsync |"
echo "+-----------------------------------------------------------------------------+"
echo ""
read -p "Press Enter to start backup process..."
Integration with Comment-Based Help
For PowerShell scripts, the banner information should match the .NOTES section in comment-based help:
.NOTES
Author: Mchael Poncardas (m@poncardas.com)
Version: 1.0
Last Updated: 2025-12-26
Requires: PowerShell 5.1 or later
Keep both synchronized when updating versions or dates.
Reference Files
templates/powershell-banner.ps1- Complete PowerShell banner code templatetemplates/bash-banner.sh- Complete Bash banner code template
Notes
- The banner is part of the user experience and branding consistency
- Banners should display BEFORE any actual script operations begin
- For scripts with
-WhatIfor dry-run modes, still show the banner - For truly silent/automated scripts (e.g., scheduled tasks), consider making the banner conditional with a
-Silentparameter
Workflow
When the user requests a new script:
- Gather script requirements (name, purpose, platform)
- Immediately include the banner code in your implementation
- Populate banner fields with:
- Script name (from requirements)
- Description (from requirements)
- Version: 1.0 (for new scripts)
- Last Updated: Today's date
- Requires: Appropriate platform/version
- Ensure Enter key prompt is included
- Test banner width (should be exactly 79 characters)
IMPORTANT: Do not ask the user if they want a banner - it's mandatory for all new scripts in this repository.
Didn't find tool you were looking for?