Shell Scripting
ancoleman/ai-design-components
Write robust, portable shell scripts with proper error handling, argument parsing, and testing.
Master of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities.
$ npx skills add promovaweb/setupvibe --skill bash-pro -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install promovaweb/setupvibe bash-pro --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/promovaweb/setupvibe.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/bash-pro .claude/skills/bash-pro && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bash-pro" agent skill from https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-pro into .claude/skills/bash-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bash-pro", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-proType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add promovaweb/setupvibe --skill bash-pro -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install promovaweb/setupvibe bash-pro --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/promovaweb/setupvibe.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/bash-pro .agents/skills/bash-pro && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bash-pro" agent skill from https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-pro into .agents/skills/bash-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bash-pro", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add promovaweb/setupvibe --skill bash-pro -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install promovaweb/setupvibe bash-pro --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/promovaweb/setupvibe.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/bash-pro .cursor/skills/bash-pro && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bash-pro" agent skill from https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-pro into .cursor/skills/bash-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bash-pro", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/promovaweb/setupvibe.git --path .codex/skills/bash-pro--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add promovaweb/setupvibe --skill bash-pro -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install promovaweb/setupvibe bash-pro --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/promovaweb/setupvibe.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/bash-pro .gemini/skills/bash-pro && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bash-pro" agent skill from https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-pro into .gemini/skills/bash-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bash-pro", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install promovaweb/setupvibe bash-proInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add promovaweb/setupvibe --skill bash-pro -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/promovaweb/setupvibe.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/bash-pro .github/skills/bash-pro && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bash-pro" agent skill from https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-pro into .github/skills/bash-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bash-pro", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add promovaweb/setupvibe --skill bash-pro -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install promovaweb/setupvibe bash-pro --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/promovaweb/setupvibe.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/bash-pro .opencode/skills/bash-pro && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bash-pro" agent skill from https://github.com/promovaweb/setupvibe/tree/main/.codex/skills/bash-pro into .opencode/skills/bash-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bash-pro", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bash-proMaster of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities.
Bash Pro is an agent skill from promovaweb/setupvibe. Master of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities. Expert in safe, portable, and testable shell scripts.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Shell scripting and CI/CD. It works with Bash. The repository describes itself as: O script definitivo de configuração de ambiente de desenvolvimento multiplataforma. The licence is GPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e86a16d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitbashshellcheckjqFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comgoogle.github.iowiki.bash-hackers.orgkfirlavi.combashly.dannyb.coFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bash Pro loads about 4.7k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 2,234 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from promovaweb/setupvibe at commit e86a16d, republished under its GPL-3.0 licence (© promovaweb). 2,234 words, ~4,740 tokens.
.claude/skills/bash-pro/SKILL.md (or your agent's skills folder).This is the Codex version of the skill.
rg, sed, and git diff.apply_patch.bash -n, ShellCheck when available, and targeted script runs through exec_command..claude/skills/bash-pro.set -Eeuo pipefail and proper error trappingfor f in $(ls)[[ ]] for Bash conditionals, fall back to [ ] for POSIX compliancegetopts and usage functionsmktemp and cleanup trapsprintf over echo for predictable output formatting$() instead of backticks for readabilityshopt -s inherit_errexit for better error propagation in Bash 4.4+IFS=$'\n\t' to prevent unwanted word splitting on spaces: "${VAR:?message}" for required environment variables-- and use rm -rf -- "$dir" for safe operations--trace mode with set -x opt-in for detailed debuggingxargs -0 with NUL boundaries for safe subprocess orchestrationreadarray/mapfile for safe array population from command outputSCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"find -print0 | while IFS= read -r -d '' file; do ...; done#!/usr/bin/env bash shebang for portability across systems(( BASH_VERSINFO[0] >= 4 && BASH_VERSINFO[1] >= 4 )) for Bash 4.4+ featurescommand -v jq &>/dev/null || exit 1case "$(uname -s)" in Linux*) ... ;; Darwin*) ... ;; esacsed -i vs sed -i '')--verbose instead of -vvalidate_input_file not check_filefunction_name() {readonly to prevent accidental modificationlocal keyword for all function variables to avoid polluting global scopetimeout for external commands: timeout 30s curl ... prevents hangs[[ -r "$file" ]] || exit 1<(command) instead of temporary files when possible[[ $num =~ ^[0-9]+$ ]]eval on user input; use arrays for dynamic command construction(umask 077; touch "$secure_file")-- to separate options from arguments: rm -rf -- "$user_input": "${REQUIRED_VAR:?not set}"trap to ensure cleanup happens even on abnormal exitwhile read instead of for i in $(cat file)[[ ]] instead of test, ${var//pattern/replacement} instead of sedsed with multiple expressions)mapfile/readarray for efficient array population from command output$(( )) instead of expr for calculationsprintf over echo for formatted output (faster and more reliable)xargs -P for parallel processing when operations are independent--help and -h flags showing usage, options, and examples--version flag displaying script version and copyright informationshdoc from special comment formatsshellman for system integration${var@U} uppercase conversion, ${var@L} lowercase${parameter@operator} transformations, compat shopt options for compatibilityvarredir_close option, improved exec error handling, EPOCHREALTIME microsecond precision[[ ${BASH_VERSINFO[0]} -ge 5 && ${BASH_VERSINFO[1]} -ge 2 ]]${parameter@Q} for shell-quoted output (Bash 4.4+)${parameter@E} for escape sequence expansion (Bash 4.4+)${parameter@P} for prompt expansion (Bash 4.4+)${parameter@A} for assignment format (Bash 4.4+)wait -n to wait for any background job (Bash 4.3+)mapfile -d delim for custom delimiters (Bash 4.4+)shellcheck-problem-matchers for inline annotations.pre-commit-config.yaml with shellcheck, shfmt, checkbashismsshellcheck *.sh && shfmt -d *.sh && bats test/gitleaks or trufflehog to prevent credential leakslogger command for system log integrationlog_info() { logger -t "$SCRIPT_NAME" -p user.info "$*"; echo "[INFO] $*" >&2; }--help and provide clear usage informationenable=all and external-sources=true configuration-i 2 -ci -bn -sr -kp)for f in $(ls ...) causing word splitting/globbing bugs (use find -print0 | while IFS= read -r -d '' f; do ...; done)set -e without proper error trapping in complex flowsecho for data output (prefer printf for reliability)readarray/mapfile instead of command substitution)basher or bpkg for installing shell script dependenciesbasher install username/repo@version or bpkg install username/repo -gtrap 'echo "Error at line $LINENO: exit $?" >&2' ERR for debuggingtrap 'rm -rf "$tmpdir"' EXIT; tmpdir=$(mktemp -d)(( BASH_VERSINFO[0] >= 5 )) before using modern featuresreadarray -d '' files < <(find . -print0)declare -g result for returning complex data from functionsdeclare -A config=([host]="localhost" [port]="8080") for complex data structures${filename%.sh} remove extension, ${path##*/} basename, ${text//old/new} replace alltrap cleanup_function SIGHUP SIGINT SIGTERM for graceful shutdown{ cmd1; cmd2; } > output.log share redirection, ( cd dir && cmd ) use subshell for isolationcoproc proc { cmd; }; echo "data" >&"${proc[1]}"; read -u "${proc[0]}" result for bidirectional pipescat <<-'EOF' with - strips leading tabs, quotes prevent expansionwait $pid to wait for background job, jobs -p list background PIDscmd1 && cmd2 run cmd2 only if cmd1 succeeds, cmd1 || cmd2 run cmd2 if cmd1 failstouch file{1..10}.txt creates multiple files efficientlydeclare -n ref=varname creates reference to another variable (Bash 4.3+)set -Eeuo pipefail; shopt -s inherit_errexit for comprehensive error handlingxargs -P $(nproc) -n 1 command for parallel processing with CPU core countjq -n --arg key "$value" '{key: $key}' for JSON generationtime -v for detailed resource usage or TIMEFORMAT for custom timingAo criar ou modificar qualquer arquivo .md, você DEVE invocar a skill /markdown-format antes de concluir a tarefa. As regras de formatação estão em MARKDOWN.md. Esta regra é inegociável e se aplica a qualquer skill, independente do seu escopo.
© promovaweb, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .codex/skills/bash-pro of promovaweb/setupvibe.
Open the folder on GitHubat commit e86a16d
We found 19 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 9 other GitHub owners. This page covers the copy in promovaweb/setupvibe, which our catalogue first saw on October 7, 2026.
Bash Pro next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bash Pro this skillpromovaweb/setupvibe | 101 | 9 repos | ~4.7k | Automated safety check: Pass | GPL-3.0 | |
| Shell Scriptingancoleman/ai-design-components | 526 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Shellpproenca/dot-skills | 214 | — | ~1.9k | Automated safety check: Pass | MIT | |
| ShellCheck Configurationwshobson/agents | 40k | 10 repos | ~403 | Automated safety check: Pass | MIT | |
| Bats Shell Testing Patternswshobson/agents | 40k | 11 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Headless Codex CLI AutomationXiaomiMiMo/MiMo-Code | 14k | — | ~2.7k | Automated safety check: Pass | MIT |
ancoleman/ai-design-components
Write robust, portable shell scripts with proper error handling, argument parsing, and testing.
pproenca/dot-skills
Shell scripting best practices for writing safe, portable, and maintainable bash/sh scripts.
wshobson/agents
Master ShellCheck static analysis configuration and usage for shell script quality. Use when setting up linting infrastructure, fixing code issues, or…
wshobson/agents
Writes unit tests for shell scripts with Bats: error-condition tests, fixtures and mocks, cross-shell checks, parallel runs, helper files and CI integration.
XiaomiMiMo/MiMo-Code
Runs OpenAI Codex CLI as a non-interactive worker for CI, Docker, Kubernetes or remote servers, with sandbox modes and JSONL-friendly output.
Azure/sap-automation
Review pull requests in the SAP Deployment Automation Framework.
promovaweb/setupvibe
Master defensive Bash programming techniques for production-grade scripts.
promovaweb/setupvibe
Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.
promovaweb/setupvibe
Enforce and apply SetupVibe Markdown formatting standards when creating or editing any .md file in the repository.
promovaweb/setupvibe
Workflow mestre para gestão de documentação do SetupVibe. An agent skill from promovaweb/setupvibe.
promovaweb/setupvibe
Workflow mestre para gestão de documentação do SetupVibe. An agent skill from promovaweb/setupvibe.
promovaweb/setupvibe
Gerencia entradas no CHANGELOG.md seguindo Keep a Changelog.
Works with
Categories
Master of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities. Bash Pro is an agent skill from promovaweb/setupvibe. Master of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities.
Bash Pro fits situations like: tasks that involve Shell scripting; tasks that involve CI/CD.
Run `npx skills add promovaweb/setupvibe --skill bash-pro -a claude-code`. Or copy the skill folder (.codex/skills/bash-pro in promovaweb/setupvibe) into .claude/skills/bash-pro in your project. Claude Code loads it when a task matches its description.
Run `npx skills add promovaweb/setupvibe --skill bash-pro -a codex`. Or copy the skill folder (.codex/skills/bash-pro in promovaweb/setupvibe) into .agents/skills/bash-pro in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add promovaweb/setupvibe --skill bash-pro -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bash-pro, .gemini/skills/bash-pro, .github/skills/bash-pro and .opencode/skills/bash-pro in your project.
Going by SKILL.md and its folder, Bash Pro needs the command-line tools its instructions call (git, bash, shellcheck and jq). Our summary lists: Docker.
SKILL.md names 5 domains. As links in the text: github.com, google.github.io, wiki.bash-hackers.org, kfirlavi.com and bashly.dannyb.co. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Bash Pro is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Bash Pro: Shell Scripting (ancoleman/ai-design-components, 526 stars), Shell (pproenca/dot-skills, 214 stars), ShellCheck Configuration (wshobson/agents, 40k stars) and Bats Shell Testing Patterns (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
promovaweb (a GitHub organization) maintains it in promovaweb/setupvibe, which has 101 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on August 21, 2026.
Source: promovaweb/setupvibe on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.