Language-specific super-code guidelines for bash. An agent skill from sickn33/agentic-awesome-skills.

MITAuto-check passedMobile

Install Bash

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill bash -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills bash --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/super-code/bash .claude/skills/bash && rm -rf skills-src

Use ~/.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/

Facts

Skill name
bash
GitHub stars
47k
Used in
1 other repo
Token cost
~1.5k tokens
SKILL.md length
210 words
Files
1
Skills in repo
1,394
Repo updated
First seen
Licence
MIT

At a glance

Language-specific super-code guidelines for bash. An agent skill from sickn33/agentic-awesome-skills.

  • Works in 7 steps: Quoting & Word Splitting {#quoting} → Conditionals & Tests {#conditionals} → Loops & Iteration {#loops} → …
  • Mobile work in your project
  • SKILL.md covers When to Use, Table of Contents, 1. Quoting & Word Splitting… and 2. Conditionals & Tests…, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Bash is an agent skill from sickn33/agentic-awesome-skills. Language-specific super-code guidelines for bash.

Its SKILL.md is about 1.5k 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 Mobile. It works with Bash. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Mobile work in your project

Example prompts

  • “/bash”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Quoting & Word Splitting {#quoting}
  2. Conditionals & Tests {#conditionals}
  3. Loops & Iteration {#loops}
  4. Pipes & Process Substitution {#pipes}
  5. Functions & Return Values {#functions}
  6. Error Handling {#errors}
  7. Anti-patterns specific to Bash {#antipatterns}

What it can do on your machine

Read from SKILL.md and the folder at commit 1e53ce2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bash loads about 1.5k tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 210 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~14
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit 1e53ce2, republished under its MIT licence (© sickn33). 210 words, ~1,478 tokens.

Download SKILL.mdSave it as .claude/skills/bash/SKILL.md (or your agent's skills folder).
name
bash
description
Language-specific super-code guidelines for bash.
risk
safe
source
community
date_added
2026-06-16

Bash / Shell: Idiomatic Efficiency Reference

When to Use

  • Use this skill when the task matches this description: Language-specific super-code guidelines for bash.

Table of Contents

  1. Quoting & Word Splitting
  2. Conditionals & Tests
  3. Loops & Iteration
  4. Pipes & Process Substitution
  5. Functions & Return Values
  6. Error Handling
  7. Anti-patterns specific to Bash

1. Quoting & Word Splitting {#quoting}

bash
# ❌ Unquoted variable (word splitting + globbing)
for f in $files; do rm $f; done

# ✅
for f in "${files[@]}"; do rm -- "$f"; done
bash
# ❌ Unquoted command substitution
path=$(find . -name config)
cat $path  # breaks on spaces

# ✅
path="$(find . -name config)"
cat "$path"
bash
# ❌ Using backticks for command substitution
result=`echo hello`

# ✅ — $() nests cleanly
result=$(echo hello)
bash
# ❌ String comparison without quotes
if [ $var = "hello" ]; then  # breaks if var is empty or has spaces

# ✅
if [[ "$var" = "hello" ]]; then

Rule: double-quote every $variable and $(command) unless you specifically need splitting.


2. Conditionals & Tests {#conditionals}

bash
# ❌ Single bracket test (POSIX but fragile)
if [ -f "$file" -a -r "$file" ]; then

# ✅ — [[ is safer, supports &&/||, no word splitting inside
if [[ -f "$file" && -r "$file" ]]; then
bash
# ❌ Testing command exit status with if [ $? -eq 0 ]
grep -q pattern file
if [ $? -eq 0 ]; then echo "found"; fi

# ✅ — test command directly
if grep -q pattern file; then echo "found"; fi
bash
# ❌ String equality with == outside [[
if [ "$a" == "$b" ]; then  # == not POSIX in [ ]

# ✅
if [[ "$a" == "$b" ]]; then  # Bash
# or POSIX:
if [ "$a" = "$b" ]; then
bash
# ❌ Arithmetic with [ ] and string comparison
if [ "$count" -gt 10 ]; then

# ✅ — (( )) for arithmetic
if (( count > 10 )); then

3. Loops & Iteration {#loops}

bash
# ❌ Parsing ls output
for f in $(ls *.txt); do process "$f"; done

# ✅ — glob directly
for f in *.txt; do
    [[ -e "$f" ]] || continue  # handle no-match
    process "$f"
done
bash
# ❌ Reading file line-by-line with for
for line in $(cat file.txt); do  # splits on words, not lines

# ✅
while IFS= read -r line; do
    process "$line"
done < file.txt
bash
# ❌ Seq for counting
for i in $(seq 1 10); do

# ✅ — brace expansion (Bash)
for i in {1..10}; do
# or C-style:
for (( i = 1; i <= 10; i++ )); do
bash
# ❌ Processing command output line-by-line with pipe (subshell trap)
count=0
cat file.txt | while read -r line; do
    (( count++ ))  # count resets after loop — subshell
done
echo "$count"  # always 0

# ✅ — redirect, not pipe
count=0
while IFS= read -r line; do
    (( count++ ))
done < file.txt
echo "$count"

4. Pipes & Process Substitution {#pipes}

bash
# ❌ Chained grep | grep for AND
grep "error" log.txt | grep "timeout"

# ✅ — single grep with pattern
grep -E "error.*timeout|timeout.*error" log.txt
# or awk for complex logic:
awk '/error/ && /timeout/' log.txt
bash
# ❌ cat + pipe (UUOC — Useless Use of Cat)
cat file.txt | grep pattern

# ✅
grep pattern file.txt
bash
# ❌ Temp file for diff between commands
cmd1 > /tmp/a.txt
cmd2 > /tmp/b.txt
diff /tmp/a.txt /tmp/b.txt
rm /tmp/a.txt /tmp/b.txt

# ✅ — process substitution
diff <(cmd1) <(cmd2)
bash
# ❌ Ignoring pipe failures (only last command's exit code)
false | true
echo $?  # 0 — false's failure hidden

# ✅
set -o pipefail
false | true
echo $?  # 1

5. Functions & Return Values {#functions}

bash
# ❌ Using return for string values
get_name() {
    return "Alice"  # return is for exit codes (0-255)
}

# ✅ — echo + capture
get_name() {
    echo "Alice"
}
name=$(get_name)
bash
# ❌ Global variables modified inside functions
result=""
compute() { result="done"; }

# ✅ — use local, return via stdout
compute() {
    local tmp
    tmp=$(do_work)
    echo "$tmp"
}
result=$(compute)
bash
# ❌ Function keyword (not POSIX)
function my_func {

# ✅
my_func() {

6. Error Handling {#errors}

bash
# ❌ No error handling — script continues after failure
cd /some/dir
rm -rf *  # if cd fails, deletes from wrong directory

# ✅
set -euo pipefail

cd /some/dir || { echo "cd failed" >&2; exit 1; }
rm -rf ./*
bash
# ❌ No cleanup on exit
tmpfile=$(mktemp)
# ... script might exit early, leaving tmpfile

# ✅ — trap for cleanup
tmpfile=$(mktemp)
trap 'rm -f "$tmpfile"' EXIT
bash
# ❌ Silencing errors blindly
command 2>/dev/null

# ✅ — redirect only when you know what you're suppressing
command 2>/dev/null || true  # explicit: we expect and accept failure

Start every script with set -euo pipefail. Remove selectively where needed.


7. Anti-patterns specific to Bash {#antipatterns}

Anti-patternPreferred
Parsing ls outputglob: for f in *.txt
cat file | grepgrep pattern file
Unquoted $var"$var" always
[ ] for complex tests[[ ]]
Backtick substitution$(command)
$? check after commandif command; then
echo for debugprintf '%s\n' (portable)
No set -euo pipefailalways set at script top
Temp files without cleanuptrap 'rm -f "$tmp"' EXIT
eval with user inputavoid; use arrays for dynamic commands
#!/bin/sh with Bash features#!/usr/bin/env bash
String math expr 1 + 1$(( 1 + 1 ))
test -z for number comparison(( )) for arithmetic

Limitations

  • These are language-specific guidelines and do not cover overall architectural decisions.
  • Over-compression might reduce readability; apply judgement.

© sickn33, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/super-code/bash of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit 1e53ce2

Used in 1 other repository

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Bash 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.

Bash compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bash this skillsickn33/agentic-awesome-skills47k1 repos~1.5kAutomated safety check: PassMIT
Sake Command Patternskattouf/Sake116—~1.1kAutomated safety check: PassMIT
Sake Macro Developmentkattouf/Sake116—~844Automated safety check: PassMIT
Composewebview Documentationparkwoocheol/compose-webview103—~1.5kAutomated safety check: PassMIT
Sake CLI Architecturekattouf/Sake116—~1.1kAutomated safety check: PassMIT
Green GateVeryGoodOpenSource/vgv-ai-flutter-plugin169—~4.7kAutomated safety check: NotesMIT

Similar skills

  • A skill your agent uses when writing or modifying Sake commands, CommandGroups, SakeApp files, or SakeApp/ directory code.

    116 GitHub stars~1.1k tokensUpdated 6 mo ago
    MobileAuto-check passed
  • A skill your agent uses when modifying the @CommandGroup macro in SakeMacros target — SwiftSyntax ExtensionMacro, code generation patterns, testing with assertMacroExpansion.

    116 GitHub stars~844 tokensUpdated 6 mo ago
    MobileAuto-check passed
  • Composewebview Documentation

    parkwoocheol/compose-webview

    Manages MkDocs documentation site and API references for ComposeWebView.

    103 GitHub stars~1.5k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • A skill your agent uses when working on SakeCLI or SakeCLILibrary targets — CLI entry point, config resolution, SakeAppManager build/run lifecycle, error handling, shell execution.

    116 GitHub stars~1.1k tokensUpdated 6 mo ago
    MobileAuto-check passed
  • Green Gate

    VeryGoodOpenSource/vgv-ai-flutter-plugin

    Drives a Dart or Flutter package fully green through a verify-fix-rerun loop across four gates: analyze, format, test, coverage.

    169 GitHub stars~4.7k tokensUpdated yesterday
    MobileAuto-check: notes
  • Scripting Adb For CI

    skydoves/android-testing-skills

    A skill your agent uses to wire adb reliably into CI — bash idioms, exit codes, parallel device fan-out with xargs -P, port forwarding (adb forward LOCAL REMOTE vs adb reverse REMOTE LOCAL —…

    333 GitHub stars~6.4k tokensUpdated 4 mo ago
    MobileAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,394 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Works with

Categories

Questions about Bash

What does Bash do?

Language-specific super-code guidelines for bash. An agent skill from sickn33/agentic-awesome-skills. Bash is an agent skill from sickn33/agentic-awesome-skills. Language-specific super-code guidelines for bash.

When should I use Bash?

Bash fits situations like: mobile work in your project.

How do I install Bash in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill bash -a claude-code`. Or copy the skill folder (skills/super-code/bash in sickn33/agentic-awesome-skills) into .claude/skills/bash in your project. Claude Code loads it when a task matches its description.

How do I install Bash in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill bash -a codex`. Or copy the skill folder (skills/super-code/bash in sickn33/agentic-awesome-skills) into .agents/skills/bash in your project. Codex loads it when a task matches its description.

Can I use Bash in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sickn33/agentic-awesome-skills --skill bash -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, .gemini/skills/bash, .github/skills/bash and .opencode/skills/bash in your project.

What does Bash need to run?

SKILL.md names no scripts, command-line tools or credentials: Bash is instructions for the agent only.

Does Bash access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Bash safe to install?

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.

What licence does Bash use?

Bash is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bash use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bash?

Skills that share tags, products or a category with Bash: Sake Command Patterns (kattouf/Sake, 116 stars), Sake Macro Development (kattouf/Sake, 116 stars), Composewebview Documentation (parkwoocheol/compose-webview, 103 stars) and Sake CLI Architecture (kattouf/Sake, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bash?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,304 GitHub stars. The repository holds 1,394 skills in this directory. The repository was last updated on October 6, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.