Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 50/100

shell

bash/sh スクリプトを安全・ポータブル・保守しやすく書くためのベストプラクティスを提供するスキル。シェルスクリプトの新規作成・レビュー・リファクタリングのほか、Dockerfile の RUN コマンド、Makefile のレシピ、CI パイプラインスクリプト、cron ジョブ、systemd の ExecStart ディレクティブを扱う際に活用できる。`set -euo pipefail` によるエラー処理、クォーティング、変数展開、POSIX 準拠、ShellCheck 対応などがトリガーとなる。

description の原文を見る

Shell scripting best practices for writing safe, portable, and maintainable bash/sh scripts. Use when writing, reviewing, or refactoring shell scripts, Dockerfile RUN commands, Makefile recipes, CI pipeline scripts, cron jobs, or systemd ExecStart directives. Triggers on bash, sh, POSIX, ShellCheck, error handling, quoting, variables, set -euo pipefail.

SKILL.md 本文

Shell スクリプトのベストプラクティス (Community)

AI エージェントと LLM 向けに設計されたシェルスクリプティングの包括的なベストプラクティスガイド。9つのカテゴリに分かれた49のルールを含み、重大度に応じて優先順位付けされています(セーフティ、ポータビリティなどの重大事項から、スタイルなどの段階的な改善まで)。各ルールには詳細な説明、間違った実装と正しい実装を比較した実例、および具体的な影響メトリクスが含まれています。

適用するべき場面

以下の場合にこのガイドラインを参照してください:

  • 新しい bash または POSIX シェルスクリプトを作成する
  • セキュリティ脆弱性についてシェルスクリプトを検査する
  • サイレント障害または予期しない動作をするスクリプトをデバッグする
  • Linux、macOS、コンテナ間でスクリプトを移植する
  • シェルスクリプトのパフォーマンスを最適化する
  • シェルスクリプトを使用して CI/CD パイプラインを構築する

ルールカテゴリの優先順位

優先度カテゴリ影響プレフィックスルール数
1セーフティ & セキュリティCRITICALsafety-6
2ポータビリティCRITICALport-5
3エラーハンドリングHIGHerr-8
4変数 & データHIGHvar-5
5クォーティング & 展開MEDIUM-HIGHquote-6
6関数 & 構造MEDIUMfunc-5
7テスト & 条件分岐MEDIUMtest-5
8パフォーマンスLOW-MEDIUMperf-6
9スタイル & フォーマットLOWstyle-3

クイックリファレンス

1. セーフティ & セキュリティ (CRITICAL)

  • safety-command-injection - ユーザー入力からのコマンドインジェクションを防ぐ
  • safety-eval-avoidance - 動的コマンドに eval を使用しない
  • safety-absolute-paths - 外部コマンドに絶対パスを使用する
  • safety-temp-files - セキュアな一時ファイルを作成する
  • safety-suid-forbidden - シェルスクリプトに SUID/SGID を使用しない
  • safety-argument-injection - ダブルダッシュで引数インジェクションを防ぐ

2. ポータビリティ (CRITICAL)

  • port-shebang-selection - ポータビリティのニーズに基づいて shebang を選択する
  • port-avoid-bashisms - POSIX スクリプトで Bash 固有の機能を避ける
  • port-printf-over-echo - ポータビリティのために echo の代わりに printf を使用する
  • port-export-syntax - ポータブルな export 構文を使用する
  • port-test-portability - ポータブルなテスト構造を使用する

3. エラーハンドリング (HIGH)

  • err-strict-mode - エラー検出用にストリクトモードを使用する
  • err-exit-codes - 意味のある終了コードを使用する
  • err-trap-cleanup - 終了時のクリーンアップに trap を使用する
  • err-stderr-messages - エラーメッセージを stderr に送信する
  • err-pipefail - パイプラインエラーをキャッチするために pipefail を使用する
  • err-check-commands - コマンド成功を明示的にチェックする
  • err-shellcheck - 静的解析に ShellCheck を使用する
  • err-debug-tracing - set -x と PS4 でデバッグトレーシングを使用する

4. 変数 & データ (HIGH)

  • var-use-arrays - 文字列の代わりにリストに配列を使用する
  • var-local-scope - 関数変数に local を使用する
  • var-naming-conventions - 変数命名規則に従う
  • var-readonly-constants - 定数に readonly を使用する
  • var-default-values - デフォルト値にパラメータ展開を使用する

5. クォーティング & 展開 (MEDIUM-HIGH)

  • quote-always-quote-variables - 変数展開を常にクォートする
  • quote-dollar-at - 引数渡しに "$@" を使用する
  • quote-command-substitution - コマンド代替をクォートする
  • quote-brace-expansion - 変数の明確化にブレースを使用する
  • quote-here-documents - 複数行文字列にヒアドキュメントを使用する
  • quote-glob-safety - グローブ展開を明示的に制御する

6. 関数 & 構造 (MEDIUM)

  • func-main-pattern - main() 関数パターンを使用する
  • func-single-purpose - 単一目的の関数を作成する
  • func-return-values - 戻り値を正しく使用する
  • func-documentation - ヘッダーコメントで関数を文書化する
  • func-avoid-aliases - エイリアスの代わりに関数を優先する

7. テスト & 条件分岐 (MEDIUM)

  • test-double-brackets - bash でテストに [[ ]] を使用する
  • test-arithmetic - 算術比較に (( )) を使用する
  • test-explicit-empty - 明示的な空/非空文字列テストを使用する
  • test-file-operators - 正しいファイルテスト演算子を使用する
  • test-case-patterns - パターンマッチングに case を使用する

8. パフォーマンス (LOW-MEDIUM)

  • perf-builtins-over-external - 外部コマンドより組み込みコマンドを使用する
  • perf-avoid-subshells - 不要なサブシェルを避ける
  • perf-process-substitution - 一時ファイルにプロセス代替を使用する
  • perf-read-files - ファイルを効率的に読む
  • perf-parameter-expansion - 文字列操作にパラメータ展開を使用する
  • perf-batch-operations - ループの代わりにバッチ操作を行う

9. スタイル & フォーマット (LOW)

  • style-indentation - 一貫性のあるインデントを使用する
  • style-file-structure - 一貫したファイル構造に従う
  • style-comments - 有用なコメントを書く

使い方

詳細な説明とコード例については、個別のリファレンスファイルを読んでください:

  • セクション定義 - カテゴリ構造および影響レベル
  • ルールテンプレート - 新しいルール追加用テンプレート

リファレンスファイル

ファイル説明
AGENTS.mdすべてのルールを含む完全なコンパイルガイド
references/_sections.mdカテゴリ定義と順序付け
assets/templates/_template.md新しいルール用テンプレート
metadata.jsonバージョンおよびリファレンス情報

主要出典

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
pproenca
リポジトリ
pproenca/dot-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/pproenca/dot-skills / ライセンス: MIT

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: pproenca · pproenca/dot-skills · ライセンス: MIT