Agent skill

Shell Scripting

by einverne in einverne/dotfiles

Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices.

GPL-3.0Auto-check passedDevelopment

Install Shell Scripting

skills CLI
$ npx skills add einverne/dotfiles --skill shell-scripting -a claude-code

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

GitHub CLI
$ gh skill install einverne/dotfiles shell-scripting --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/einverne/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude/skills/shell-scripting .claude/skills/shell-scripting && 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
shell-scripting
GitHub stars
121
Token cost
~957 tokens
SKILL.md length
248 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
GPL-3.0

At a glance

Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices.

  • Works in 4 steps: Script Structure → Best Practices → Common Patterns → …
  • The user needs to write
  • SKILL.md covers Core Competencies, Safe Script Template, Common Patterns and Zsh-Specific Features, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Shell Scripting is an agent skill from einverne/dotfiles. Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices. Use when the user needs to write, debug, or optimize shell scripts or work with command-line tools.

Its SKILL.md is about 960 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. It works with Bash. The repository describes itself as: my personal dotfiles managed by dotbot, zinit. The licence is GPL-3.0.

When your agent uses it

  • The user needs to write
  • Optimize shell scripts
  • Work with command-line tools

Example prompts

  • “/shell-scripting”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Script Structure
  2. Best Practices
  3. Common Patterns
  4. Modern Tools

What it can do on your machine

Read from SKILL.md and the folder at commit c6c0686. 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

Shell Scripting loads about 957 tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 248 words of instructions outside code blocks.

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

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 einverne/dotfiles at commit c6c0686, republished under its GPL-3.0 licence (© einverne). 248 words, ~957 tokens.

Download SKILL.mdSave it as .claude/skills/shell-scripting/SKILL.md (or your agent's skills folder).
name
shell-scripting
description
Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices. Use when the user needs to write, debug, or optimize shell scripts or work with command-line tools.

You are a shell scripting expert specializing in Bash and Zsh. Your role is to help users write robust, maintainable shell scripts and leverage command-line tools effectively.

Core Competencies

  1. Script Structure

    • Proper shebang usage (#!/bin/bash or #!/usr/bin/env bash)
    • Set safe defaults: set -euo pipefail
    • Organize code into functions
    • Include usage/help information
    • Add comments for complex logic
  2. Best Practices

    • Quote variables: "$variable" not $variable
    • Use [[ for conditionals (in Bash)
    • Check command success: if command; then
    • Handle errors gracefully
    • Use meaningful variable names
    • Avoid parsing ls output
    • Use arrays for lists of items
  3. Common Patterns

    • Command-line argument parsing
    • File and directory operations
    • Text processing (grep, sed, awk)
    • Process management
    • Environment variable handling
    • Signal handling and traps
  4. Modern Tools

    • ripgrep (rg) for fast searching
    • fd for fast file finding
    • fzf for interactive selection
    • jq for JSON processing
    • yq for YAML processing
    • bat for syntax-highlighted viewing
    • exa/eza for enhanced ls

Safe Script Template

bash
#!/usr/bin/env bash

# Script description
# Usage: script.sh [options] <args>

set -euo pipefail
IFS=$'\n\t'

# Constants
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly SCRIPT_NAME="$(basename "${BASH_SOURCE[0]}")"

# Functions
usage() {
    cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS] <command>

Description of what this script does.

OPTIONS:
    -h, --help      Show this help message
    -v, --verbose   Enable verbose output
    -d, --dry-run   Show what would be done

EXAMPLES:
    $SCRIPT_NAME --verbose command
EOF
}

main() {
    # Main script logic
    :
}

# Parse arguments
while [[ $# -gt 0 ]]; do
    case $1 in
        -h|--help)
            usage
            exit 0
            ;;
        -v|--verbose)
            VERBOSE=true
            shift
            ;;
        *)
            echo "Unknown option: $1"
            usage
            exit 1
            ;;
    esac
done

main "$@"

Common Patterns

Check if Command Exists
bash
if command -v git &> /dev/null; then
    echo "Git is installed"
fi
Loop Through Files
bash
while IFS= read -r -d '' file; do
    echo "Processing: $file"
done < <(find . -type f -name "*.txt" -print0)
Error Handling
bash
trap cleanup EXIT
trap 'echo "Error on line $LINENO"' ERR

cleanup() {
    # Cleanup code
    rm -f "$TEMP_FILE"
}
Colored Output
bash
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color

echo -e "${GREEN}Success${NC}"
echo -e "${RED}Error${NC}"
Read User Input
bash
read -rp "Continue? [y/N] " response
if [[ "$response" =~ ^[Yy]$ ]]; then
    echo "Continuing..."
fi

Zsh-Specific Features

  • Advanced globbing: **/*.txt (recursive)
  • Parameter expansion: ${var:u} (uppercase)
  • Array handling: array=(item1 item2)
  • Associative arrays (hash maps)
  • Powerful completion system

Performance Tips

  • Use built-in commands over external programs
  • Avoid unnecessary subshells
  • Use read instead of cat | while
  • Batch operations when possible
  • Consider parallel execution for independent tasks

Security Considerations

  • Never eval untrusted input
  • Validate and sanitize user input
  • Be careful with rm -rf
  • Use temporary files securely: mktemp
  • Check for race conditions (TOCTOU)
  • Avoid storing secrets in scripts

© einverne, 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

Files

Just SKILL.md in claude/skills/shell-scripting of einverne/dotfiles.

Open the folder on GitHubat commit c6c0686

Compare with similar skills

Shell Scripting 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.

Shell Scripting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shell Scripting this skilleinverne/dotfiles121—~957Automated safety check: PassGPL-3.0
Mole Bug Patternstw93/Mole69k—~2kAutomated safety check: PassGPL-3.0
CLI DeveloperJeffallan/claude-skills12k1 repos~1.2kAutomated safety check: PassMIT
JSON Processing with jqcharmbracelet/crush29k—~746Automated safety check: PassCustom licence
Shellm Architecture Referencelaude-institute/headlong1.2k—~2kAutomated safety check: NotesApache-2.0
Cppcrazyguitar/cppcheatsheet290—~1.8kAutomated safety check: PassMIT

Similar skills

  • A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.

    69k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • CLI Developer

    Jeffallan/claude-skills

    Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.

    12k GitHub starsUsed in 1 repo~1.2k tokens
    DevelopmentAuto-check passed
  • JSON Processing with jq

    charmbracelet/crush

    Explains the jq command built into Crush for querying, filtering and reshaping JSON, including its supported flags and where it differs from standard jq.

    29k GitHub stars~746 tokensUpdated today
    DevelopmentAuto-check passed
  • Shellm Architecture Reference

    laude-institute/headlong

    Explains how shellm's bash-based recursive LLM shell fits together - its core engine, identity system, memory, skills and trajectory log.

    1.2k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check: notes
  • Cpp

    crazyguitar/cppcheatsheet

    Comprehensive C/C++ programming reference covering everything from C11-C23 and C++11-C++23, system programming, CUDA GPU computing, debugging tools, Rust interop, and advanced topics.

    290 GitHub stars~1.8k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Bash Scripting

    promovaweb/setupvibe

    Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.

    101 GitHub starsUsed in 4 repos~1.2k tokens
    DevelopmentAuto-check passed

More from einverne/dotfiles

All 39 skills in this repo
  • DOCX

    einverne/dotfiles

    Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction.

    121 GitHub starsUsed in 34 repos~2.5k tokens
    Auto-check: notes
  • Chrome Devtools

    einverne/dotfiles

    Browser automation, debugging, and performance analysis using Puppeteer CLI scripts.

    121 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check: notes
  • PDF

    einverne/dotfiles

    Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.

    121 GitHub starsUsed in 46 repos~1.8k tokens
    Auto-check passed
  • Gemini Audio

    einverne/dotfiles

    Guide for implementing Google Gemini API audio capabilities - analyze audio with transcription, summarization, and understanding (up to 9.5 hours), plus generate speech with controllable TTS.

    121 GitHub starsUsed in 1 repo~2k tokens
    Auto-check: notes
  • Gemini Image Gen

    einverne/dotfiles

    Guide for implementing Google Gemini API image generation - create high-quality images from text prompts using gemini-2.5-flash-image model.

    121 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Gemini Vision

    einverne/dotfiles

    Guide for implementing Google Gemini API image understanding - analyze images with captioning, classification, visual QA, object detection, segmentation, and multi-image comparison.

    121 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check: notes

Works with

Categories

Questions about Shell Scripting

What does Shell Scripting do?

Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices. Shell Scripting is an agent skill from einverne/dotfiles. Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices.

When should I use Shell Scripting?

Shell Scripting fits situations like: the user needs to write; optimize shell scripts; work with command-line tools.

How do I install Shell Scripting in Claude Code?

Run `npx skills add einverne/dotfiles --skill shell-scripting -a claude-code`. Or copy the skill folder (claude/skills/shell-scripting in einverne/dotfiles) into .claude/skills/shell-scripting in your project. Claude Code loads it when a task matches its description.

How do I install Shell Scripting in Codex?

Run `npx skills add einverne/dotfiles --skill shell-scripting -a codex`. Or copy the skill folder (claude/skills/shell-scripting in einverne/dotfiles) into .agents/skills/shell-scripting in your project. Codex loads it when a task matches its description.

Can I use Shell Scripting 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 einverne/dotfiles --skill shell-scripting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shell-scripting, .gemini/skills/shell-scripting, .github/skills/shell-scripting and .opencode/skills/shell-scripting in your project.

What does Shell Scripting need to run?

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

Does Shell Scripting 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 Shell Scripting 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 Shell Scripting use?

Shell Scripting 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.

How many tokens does Shell Scripting use?

About 957 tokens (SKILL.md is roughly 3.8k 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 Shell Scripting?

Skills that share tags, products or a category with Shell Scripting: Mole Bug Patterns (tw93/Mole, 69k stars), CLI Developer (Jeffallan/claude-skills, 12k stars), JSON Processing with jq (charmbracelet/crush, 29k stars) and Shellm Architecture Reference (laude-institute/headlong, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shell Scripting?

einverne (a GitHub user) maintains it in einverne/dotfiles, which has 121 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on September 9, 2026.

Source: einverne/dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.