Agent skill

Shell Scripter

by FerroxLabs in FerroxLabs/wayland

Shell scripting mastery. An agent skill from FerroxLabs/wayland.

Apache-2.0Auto-check passedDevelopment

Install Shell Scripter

skills CLI
$ npx skills add FerroxLabs/wayland --skill shell-scripter -a claude-code

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

GitHub CLI
$ gh skill install FerroxLabs/wayland shell-scripter --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/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/devops-cloud/shell-scripter .claude/skills/shell-scripter && 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-scripter
GitHub stars
608
Token cost
~3.3k tokens
SKILL.md length
348 words
Files
1
Skills in repo
1,194
Repo updated
First seen
Licence
Apache-2.0

At a glance

Shell scripting mastery. An agent skill from FerroxLabs/wayland.

  • Works in 5 steps: Fail fast, fail loudly - Use strict… → Shellcheck everything - Run shellcheck… → Quote your variables - Always use double… → …
  • The user asks about shell scripter
  • SKILL.md covers Core Principles, Script Template, Error Handling and Signal Handling, plus 10 more sections
  • Calls jq and shellcheck

What it does

Shell Scripter is an agent skill from FerroxLabs/wayland. Shell scripting mastery. shell scripting patterns, error handling (set -euo pipefail), argument parsing, signal handling, process management, text processing (awk, sed, jq), portable scripts, script testing, common utility scripts. Use when the user asks about shell scripter, shell scripter best practices, or needs guidance on shell scripter implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.

Its SKILL.md is about 3.3k 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 Error handling. It works with Bash. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.

When your agent uses it

  • The user asks about shell scripter
  • Shell scripter best practices
  • Needs guidance on shell scripter implementation
  • The user needs a different specialized skill

Example prompts

  • “/shell-scripter”

Requirements

  • Docker

Workflow steps

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

  1. Fail fast, fail loudly - Use strict mode. Never silently ignore errors.
  2. Shellcheck everything - Run shellcheck on every script before committing.
  3. Quote your variables - Always use double quotes around variable references.
  4. One script, one purpose - Small, composable scripts over monolithic ones.
  5. Portable when possible - Prefer POSIX shell-cmd for wide compatibility, shell for features.

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • jq
    • shellcheck

    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 Scripter loads about 3.3k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 348 words of instructions outside code blocks.

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

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 FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 348 words, ~3,260 tokens.

Download SKILL.mdSave it as .claude/skills/shell-scripter/SKILL.md (or your agent's skills folder).
name
shell-scripter
description
Shell scripting mastery. shell scripting patterns, error handling (set -euo pipefail), argument parsing, signal handling, process management, text processing (awk, sed, jq), portable scripts, script testing, common utility scripts. Use when the user asks about shell scripter, shell scripter best practices, or needs guidance on shell scripter implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
license
Apache-2.0
metadata.author
foundry-skills
metadata.version
1.0.0
metadata.tags
devops cloud shell-scripting
metadata.category
devops-cloud
metadata.subcategory
cloud-infrastructure
metadata.disclaimer
none
metadata.difficulty
intermediate

Shell Scripter

You are a shell scripting expert with deep knowledge of shell programming patterns, robust error handling, text processing, process management, and writing production-quality scripts.

Core Principles

  1. Fail fast, fail loudly - Use strict mode. Never silently ignore errors.
  2. Shellcheck everything - Run shellcheck on every script before committing.
  3. Quote your variables - Always use double quotes around variable references.
  4. One script, one purpose - Small, composable scripts over monolithic ones.
  5. Portable when possible - Prefer POSIX shell-cmd for wide compatibility, shell for features.

Script Template

shell
#!/usr/bin/env shell
#
# Script: deploy.shell-cmd
# Description: Deploy application to target environment
# Usage: deploy.shell-cmd [OPTIONS] <environment>

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

# Constants
readonly SCRIPT_NAME="$(basename "$0")"
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly LOG_FILE="/var/log/${SCRIPT_NAME%.shell-cmd}.log"
readonly LOCK_FILE="/tmp/${SCRIPT_NAME%.shell-cmd}.lock"
# ... (condensed) ...
    debug "Updating service..."
    info "Application deployed successfully"
}

main "$@"

Error Handling

The set Options
shell
set -e          # Exit on any command failure
set -u          # Exit on undefined variable reference
set -o pipefail # Pipe fails if any command in pipeline fails
set -x          # Print each command before execution (debugging)

# Combined (standard for production scripts)
set -euo pipefail
Error Handling Patterns
shell
# Explicit error handling for commands that may fail
if ! output=$(some_command 2>&1); then
    error "Command failed: ${output}"
    exit 1
fi

# Retry with backoff
retry() {
    local max_attempts="$1"
    local delay="$2"
    shift 2
    local attempt=1

    while [[ ${attempt} -le ${max_attempts} ]]; do
        # ... (condensed) ...
    return 1
}

# Usage
retry 3 5 HTTP client request -sf [reference URL]
Trap and Cleanup
shell
# Ensure cleanup happens even on failure
cleanup() {
    rm -f "${TEMP_FILE:-}"
    rm -f "${LOCK_FILE:-}"
}

trap cleanup EXIT
trap 'die "Interrupted"' INT TERM

# Safe temporary files
TEMP_FILE="$(mktemp /tmp/myapp.XXXXXX)"
TEMP_DIR="$(mktemp -d /tmp/myapp.XXXXXX)"
chmod 600 "${TEMP_FILE}"

Signal Handling

shell
# Graceful shutdown pattern
SHUTDOWN=false

handle_shutdown() {
    info "Shutdown signal received, finishing current work..."
    SHUTDOWN=true
}

trap handle_shutdown SIGTERM SIGINT

while [[ "${SHUTDOWN}" != true ]]; do
    process_next_item
    sleep 1
done

info "Graceful shutdown complete"

Argument Parsing

Using getopts (POSIX-Compatible)
shell
while getopts ":v:nhV" opt; do
    case "${opt}" in
        v) VERSION="${OPTARG}" ;;
        n) DRY_RUN=true ;;
        V) VERBOSE=true ;;
        h) usage; exit 0 ;;
        :) die "Option -${OPTARG} requires an argument" ;;
        \?) die "Invalid option: -${OPTARG}" ;;
    esac
done
shift $((OPTIND - 1))
Using Manual Parsing (Supports Long Options)
shell
while [[ $# -gt 0 ]]; do
    case "$1" in
        -v|--version)
            [[ -z "${2:-}" ]] && die "Option $1 requires a value"
            VERSION="$2"; shift 2 ;;
        -v=*|--version=*)
            VERSION="${1#*=}"; shift ;;
        -n|--dry-run)     DRY_RUN=true; shift ;;
        -V|--verbose)     VERBOSE=true; shift ;;
        -h|--help)        usage; exit 0 ;;
        --)               shift; break ;;
        -*)               die "Unknown option: $1" ;;
        *)                POSITIONAL_ARGS+=("$1"); shift ;;
    esac
done

Text Processing

awk
shell
# Print specific column
awk '{print $2}' file.txt

# Filter and format
awk -F',' '$3 > 100 {printf "%-20s %s\n", $1, $3}' data.csv

# Sum a column
awk '{sum += $2} END {print sum}' file.txt

# Group by and count
awk '{count[$1]++} END {for (k in count) print k, count[k]}' access.log

# Extract between patterns
awk '/START/,/END/' file.txt

# Process access logs - top IPs
awk '{print $1}' [system-path] | sort | uniq -c | sort -rn | head -10
sed
shell
# Replace first occurrence per line
sed 's/old/new/' file.txt

# Replace all occurrences
sed 's/old/new/g' file.txt

# In-place edit (with backup)
sed -i.bak 's/old/new/g' file.txt

# Delete lines matching pattern
sed '/^#/d' file.txt              # Remove comments
sed '/^$/d' file.txt              # Remove empty lines

# Insert line before/after match
sed '/pattern/i\new line before' file.txt
sed '/pattern/a\new line after' file.txt

# Multiple operations
sed -e 's/foo/bar/g' -e 's/baz/qux/g' file.txt
jq (JSON Processing)
shell
# Pretty print
HTTP client request -s [reference URL] | jq '.'

# Extract field (raw output, no quotes)
jq -r '.name' data.json

# Filter array
jq '.[] | select(.status=="active")' data.json

# Transform objects
jq '.users[] | {name: .name, adult: (.age >= 18)}' data.json

# Create new JSON from variables
jq -n --arg name "$NAME" --arg ver "$VERSION" \
  '{name: $name, version: $ver, timestamp: now | todate}'

# Merge JSON files
jq -s '.[0] * .[1]' base.json supersede.json

# Count filtered items
jq '[.[] | select(.level == "error")] | length' events.json

Common Utility Functions

Confirmation Prompt
shell
confirm() {
    local message="${1:-Are you sure?}"
    local response
    read -rp "${message} [y/N] " response
    [[ "${response}" =~ ^[Yy]$ ]]
}

if confirm "Deploy to production?"; then
    deploy
else
    info "Cancelled"
fi
Color Output
shell
if [[ -t 1 ]]; then
    RED='\033[0;31m'
    GREEN='\033[0;32m'
    YELLOW='\033[0;33m'
    BLUE='\033[0;34m'
    NC='\033[0m'
else
    RED='' GREEN='' YELLOW='' BLUE='' NC=''
fi

info()  { printf "${GREEN}[INFO]${NC}  %s\n" "$*"; }
warn()  { printf "${YELLOW}[WARN]${NC}  %s\n" "$*" >&2; }
error() { printf "${RED}[ERROR]${NC} %s\n" "$*" >&2; }
Require Commands
shell
require_commands() {
    local missing=()
    for cmd in "$@"; do
        if ! command -v "${cmd}" &> output_file; then
            missing+=("${cmd}")
        fi
    done
    if [[ ${#missing[@]} -gt 0 ]]; then
        die "Missing required commands: ${missing[*]}"
    fi
}

require_commands docker kubectl jq HTTP client request ```

### Parallel Execution

```shell
parallel_run() {
    local max_jobs="$1"
    shift
    local items=("$@")
    local pids=()

    for item in "${items[@]}"; do
        process_item "${item}" &
        pids+=($!)

        while [[ $(jobs -rp | wc -l) -ge ${max_jobs} ]]; do
            sleep 0.1
        done
    done
# ... (condensed) ...
            ((failed++))
        fi
    done
    return "${failed}"
}

Portability

POSIX vs shell
shell
# POSIX-compatible (shell-cmd)
[ -f "$file" ]              # File test
$(command)                  # Command substitution
${var:-default}             # Default value
test "$a" = "$b"            # String comparison

# shell-only features
[[ -f "$file" ]]            # Extended test
[[ "$string" =~ regex ]]   # Regex matching
declare -A assoc_array      # Associative arrays
${var,,}                    # Lowercase
${var^^}                    # Uppercase
<(command)                  # Process substitution
Platform Detection
shell
detect_os() {
    case "$(uname -s)" in
        Linux*)     OS=linux ;;
        Darwin*)    OS=macos ;;
        MINGW*|MSYS*|CYGWIN*) OS=windows ;;
        *)          OS=unknown ;;
    esac

    if [[ "${OS}" == "linux" ]]; then
        if [[ -f [system-path] ]]; then
            DISTRO=debian
        elif [[ -f [system-path] ]]; then
            DISTRO=redhat
        elif [[ -f [system-path] ]]; then
            DISTRO=alpine
        fi
    fi
}

Script Testing

Testing with Bats
shell
#!/usr/bin/env bats
# test/deploy.bats

setup() {
    load 'test_helper/bats-support/load'
    load 'test_helper/bats-assert/load'
}

@test "shows usage with --help" {
    run deploy.shell-cmd --help
    assert_success
    assert_output --partial "Usage:"
}

# ... (condensed) ...
@test "accepts valid environment" {
    run deploy.shell-cmd --dry-run staging
    assert_success
    assert_output --partial "DRY RUN"
}
ShellCheck Integration
shell
# Run ShellCheck
shellcheck script.shell-cmd

# In CI pipeline
shellcheck --severity=warning --format=json scripts/*.shell-cmd

# Disable specific rules (inline)
# shellcheck disable=SC2034
UNUSED_VAR="intentionally unused"

Configuration File Loading

shell
load_config() {
    local config_file="${1:-${SCRIPT_DIR}/config.config}"

    # Defaults
    DB_HOST="${DB_HOST:-localhost}"
    DB_PORT="${DB_PORT:-5432}"
    LOG_LEVEL="${LOG_LEVEL:-info}"

    # Supersede from file if it exists
    if [[ -f "${config_file}" ]]; then
        while IFS='=' read -r key value; do
            [[ -z "${key}" || "${key}" =~ ^# ]] && continue
            key="$(printf '%s' "${key}" | tr -d '[:space:]')"
            value="$(printf '%s' "${value}" | sed -e 's/^"//' -e 's/"$//' -e "s/^'//" -e "s/'$//")"
            export "${key}=${value}"
        done < "${config_file}"
    fi
}

Anti-Patterns to Avoid

shell
# BAD: Parsing ls output (breaks on spaces, glob issues)
for file in $(ls *.txt); do
    process "$file"
done

# GOOD: Use globbing
for file in *.txt; do
    [[ -f "$file" ]] || continue
    process "$file"
done

# BAD: Unquoted variables (breaks if var is empty or has spaces)
if [ $var = "value" ]; then

# ... (condensed) ...
# evaluate "$user_input"

# GOOD: Use arrays for dynamic commands
cmd=("docker" "run" "--name" "${name}" "${image}")
"${cmd[@]}"

Checklist for Production Scripts

[ ] Starts with #!/usr/bin/env shell
[ ] set -euo pipefail at the top
[ ] All variables quoted
[ ] Functions documented with comments
[ ] Usage/help function implemented
[ ] Argument validation with clear error messages
[ ] Proper exit codes (0 success, 1 general error, 2 usage error)
[ ] Cleanup trap on EXIT
[ ] Logging to file and stderr
[ ] Lock file to prevent concurrent execution
[ ] ShellCheck passes with no warnings
[ ] Tested with bats or similar framework
[ ] No hardcoded credentials or paths
[ ] Works with readonly filesystem where possible

When to Use

Use this skill when:

  • Designing or implementing shell scripter solutions
  • Reviewing or improving existing shell scripter approaches
  • Making architectural or implementation decisions about shell scripter
  • Learning shell scripter patterns and best practices
  • Troubleshooting shell scripter-related issues

Do NOT use this skill when:

  • The question is about a fundamentally different technology domain
  • A more specific sibling skill covers the exact topic needed
  • The user needs a complete hands-on tutorial rather than expert guidance

Output Format

markdown
# Shell Scripter Analysis

## Context Assessment
[Situation summary and constraints]

## Recommended Approach
[Primary recommendation with rationale]

## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]

## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]

## Next Steps
- [Immediate action item]
- [Follow-up action item]

Example

Input: "Help me implement shell scripter for a medium-scale production application"

Output: A structured analysis covering current state assessment, recommended shell scripter approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.

Edge Cases

  • Legacy system integration: When shell scripter must coexist with legacy approaches, provide a gradual migration path rather than a complete rewrite
  • Scale mismatch: When the solution complexity exceeds the project scale, recommend a simpler approach and note when to revisit
  • Team skill gaps: When the team lacks experience with the recommended approach, include learning resources and simpler alternatives
  • Conflicting requirements: When constraints conflict (e.g., performance vs. maintainability), explicitly state the trade-off and recommend based on stated priorities

© FerroxLabs, Apache-2.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 src/process/resources/skills-library/bodies/skills/devops-cloud/shell-scripter of FerroxLabs/wayland.

Open the folder on GitHubat commit 4c030c7

Compare with similar skills

Shell Scripter 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 Scripter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shell Scripter this skillFerroxLabs/wayland608—~3.3kAutomated safety check: PassApache-2.0
Mole Bug Patternstw93/Mole69k—~2kAutomated safety check: PassGPL-3.0
Batch Filesgithub/awesome-copilot40k1 repos~4.3kAutomated safety check: PassMIT
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

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
  • Batch Files

    github/awesome-copilot

    Official

    Expert-level Windows batch file (.bat/.cmd) skill for writing, debugging, and maintaining CMD scripts.

    40k GitHub starsUsed in 1 repo~4.3k tokens
    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 5 days ago
    DevelopmentAuto-check passed

More from FerroxLabs/wayland

All 1,194 skills in this repo
  • Star Office Helper

    FerroxLabs/wayland

    Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.

    608 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Openclaw Setup

    FerroxLabs/wayland

    OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.

    608 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Tvcontrol Setup

    FerroxLabs/wayland

    Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.

    608 GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Ab Testing Specialist

    FerroxLabs/wayland

    End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.

    608 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Academic Writer

    FerroxLabs/wayland

    Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…

    608 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Accessibility Auditor

    FerroxLabs/wayland

    Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…

    608 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Shell Scripter

What does Shell Scripter do?

Shell scripting mastery. An agent skill from FerroxLabs/wayland. Shell Scripter is an agent skill from FerroxLabs/wayland. Shell scripting mastery.

When should I use Shell Scripter?

Shell Scripter fits situations like: the user asks about shell scripter; shell scripter best practices; needs guidance on shell scripter implementation; the user needs a different specialized skill.

How do I install Shell Scripter in Claude Code?

Run `npx skills add FerroxLabs/wayland --skill shell-scripter -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/devops-cloud/shell-scripter in FerroxLabs/wayland) into .claude/skills/shell-scripter in your project. Claude Code loads it when a task matches its description.

How do I install Shell Scripter in Codex?

Run `npx skills add FerroxLabs/wayland --skill shell-scripter -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/devops-cloud/shell-scripter in FerroxLabs/wayland) into .agents/skills/shell-scripter in your project. Codex loads it when a task matches its description.

Can I use Shell Scripter 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 FerroxLabs/wayland --skill shell-scripter -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-scripter, .gemini/skills/shell-scripter, .github/skills/shell-scripter and .opencode/skills/shell-scripter in your project.

What does Shell Scripter need to run?

Going by SKILL.md and its folder, Shell Scripter needs the command-line tools its instructions call (jq and shellcheck). Our summary lists: Docker.

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

Shell Scripter is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Shell Scripter use?

About 3.3k tokens (SKILL.md is roughly 13k 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 Scripter?

Skills that share tags, products or a category with Shell Scripter: Mole Bug Patterns (tw93/Mole, 69k stars), Batch Files (github/awesome-copilot, 40k stars), CLI Developer (Jeffallan/claude-skills, 12k stars) and JSON Processing with jq (charmbracelet/crush, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shell Scripter?

FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.

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