Skip to content
cccskills
FreePublished on GitHub

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md1.6 KB
  • references/pref_bash.md9.9 KB
  • references/requirements.md5.3 KB
  • scripts/pref_bash_script_template.sh10.4 KB
  • scripts/run_shellck.sh1.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Browser automation CLI for AI agents. Use when needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. TRIGGER when user requests to "open a website", "fill out a form", "click a button", "take a screenshot", "debug this in browser", "scrape data from a page", "test this web app", "login to a site", "frontend UI/UX aesthetics", "automate browser actions", or any task requiring programmatic web interaction.

The English summary is being prepared. Showing the original description.

archibate/dotfiles-opencode108Updated Apr 29, 2026

Review common AI slops of defensive programming patterns, avoid silent errors. TRIGGER when reviewing code for defensive anti-patterns, writing fail-fast code, or auditing error handling quality.

The English summary is being prepared. Showing the original description.

archibate/dotfiles-opencode108Updated Apr 29, 2026

Guide for writing ast-grep rules to perform structural code search and analysis. This skill should be used when users need to search codebases using Abstract Syntax Tree (AST) patterns, find specific code structures, or perform complex code queries that go beyond simple text search, or when a simple grep/glob search is insufficient for structural code pattern matching.

The English summary is being prepared. Showing the original description.

archibate/dotfiles-opencode108Updated Apr 29, 2026

Best practices for AI-driven English-to-Chinese translation. This skill should be used when the user asks to "translate to Chinese", "update the Chinese translation", "improve Chinese translation", "fix translation quality", "review Chinese translation", or when translating any English text into Chinese. Also applies when polishing an existing Chinese translation of English content.

The English summary is being prepared. Showing the original description.

archibate/dotfiles-opencode108Updated Apr 29, 2026

This skill should be used when the user asks to "use bilibili API", "download bilibili video", "get bilibili user info", "list bilibili favorites", "send bilibili danmaku", "upload video to bilibili", "monitor bilibili live room", "search bilibili", "get bilibili comments", or needs guidance on the bilibili_api Python library usage, authentication, API endpoints, or workflow patterns.

The English summary is being prepared. Showing the original description.

archibate/dotfiles-opencode108Updated Apr 29, 2026

This skill should be used when sending images, files, or notifications back to the user via messaging platforms (Discord, Feishu, Telegram, etc.) through cc-connect. TRIGGER when agent generates a plot/chart/screenshot and wants to show the user; agent creates a report/PDF/file the user should receive; agent needs to proactively notify the user (e.g. task completed, alert, reminder); user asks to "send image", "show me the chart", "notify me", "send the file", "send to Telegram", "show plot in Discord".

The English summary is being prepared. Showing the original description.

archibate/dotfiles-opencode108Updated Apr 29, 2026

See all skills by archibate

Report a problem with this skill