Skip to content
Agent Orchestration
Skill

/writing-bash-scripts

Create and refactor Bash scripts following conventions (strict mode, fct_ naming, quoting). Includes shellcheck linting. Use when creating shell scripts, refactoring existing scripts, debugging shell errors, or linting scripts.

BOOST
From plugin
dotfiles-opencode
10845 skills
Install
$ npx -y skills add archibate/dotfiles-opencode --skill writing-bash-scripts --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/writing-bash-scripts

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create and refactor Bash scripts following conventions (strict mode, fct_ naming, quoting). Includes shellcheck linting. Use when creating shell scripts, refactoring existing scripts, debugging shell errors, or linting scripts.

SKILL.md

writing-bash-scripts.SKILL.md
name: writing-bash-scripts
description: Create and refactor Bash scripts following conventions (strict mode, fct_ naming, quoting). Includes shellcheck linting. Use when creating shell scripts, refactoring existing scripts, debugging shell errors, or linting scripts.

Bash

Use this skill whenever the user asks to create/update/refactor a Bash script (`.sh`) or lint shell scripts.

Defaults

  • Shebang: `#!/usr/bin/env bash`
  • Strict mode: `set -Eeuo pipefail`
  • Functions: `fct_<descriptive_snake_case>() { ... }`
  • Variables: quote expansions like `"${var}"`, prefer `printf`, use `readonly` for constants and `local` inside functions

Workflow

Creating/Refactoring Scripts

1. Copy `scripts/pref_bash_script_template.sh` to the target path and rename it. 2. Update the SCRIPT INFO / USAGE header blocks. 3. Implement behavior in `fct_execute_this`, keep `fct_main` + `trap` structure. 4. Follow the detailed conventions in `references/pref_bash.md`. 5. Run shellcheck linting (see below).

Linting Scripts

Run shellcheck on scripts using the provided wrapper:

# Lint all scripts in scripts/ directory (default)
.opencode/skill/bash/scripts/run_shellck.sh

# Lint specific files or directories
.opencode/skill/bash/scripts/run_shellck.sh path/to/script.sh
.opencode/skill/bash/scripts/run_shellck.sh scripts/ other/dir/

The linting script:

  • Automatically detects shell scripts by extension (`.sh`, `.bash`, `.zsh`) or shebang
  • Exits non-zero on shellcheck failures
  • Defaults to scanning `scripts/` when no arguments provided

See `references/pref_bash.md` section 14 for shellcheck integration details.

Read more
Ships withdotfiles-opencode

小彭老师现在改用claude code的开源替代opencode,满足了开源人士旺盛的定制需求x(其实opencode中也可以继续用claude的闭源模型,只是换成了开源的opencode客户端) 安装方法:SETUP.md

Get the whole plugin

Other skills on dotfiles-opencode.