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 template - •
templates/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.