Agent Skills by ALSEL
OpenAIソフトウェア開発⭐ リポ 0品質スコア 65/100

cli-design

コマンドラインツールを人間中心の設計で構築するためのガイドです。適切なコマンド構造、出力フォーマット、エラーハンドリング、設定、拡張性を備えた使いやすいCLIツールの開発に活用できます。CLIツールの構築、サブコマンドの追加、CLI出力の設計、CLIのエラー処理、またはCLIコードのUX問題のレビューが必要な場合に使用してください。

description の原文を見る

Guide for building delightful, human-first command-line tools with proper command structure, output formatting, error handling, configuration, and extensibility. Use when creating CLI tools, adding subcommands, designing CLI output, handling errors in CLIs, or reviewing CLI code for UX issues.

SKILL.md 本文

CLI Design

Unix エコシステムと良好に組み合わせることができる、堅牢で明確に通信し、 しっかりとした感覚のコマンドラインツールを構築します。

使用する場面

  • 新しい CLI ツールを作成する、またはサブコマンドを追加する
  • 出力フォーマット(人間向け、JSON、LLM 向け)を設計する
  • エラーハンドリングと終了コードを実装する
  • 認証、設定、またはプラグインシステムを追加する
  • ユーザビリティの問題について CLI コードをレビューする

コア哲学

  1. 人間中心で機械互換 -- 人間向けに設計し、その後に機械が出力を消費できることを確認する
  2. 対話であって尋問ではない -- 各呼び出しは対話のターン。修正を提案し、次のステップを示す
  3. 革新性よりも一貫性 -- 規約に従う(--help-v--output json、終了コード)
  4. 必要十分な情報を伝える -- デフォルトで簡潔に、フラグで詳細表示
  5. 堅牢さは感覚 -- 高速な起動、明確なフィードバック、ハング無し、謎めいたスタックトレース無し

ルール索引

ルールはドメインと影響度別に整理されています。 完全な詳細とサンプルについては、リンク先のリファレンスを参照してください。

#ドメインルール影響度リファレンス
1コマンドマルチリソース CLI には tool <noun> <verb> [flags] を使用CRITICALcommand-structure
2コマンドサブコマンドのネストは最大 2 レベルまでHIGHcommand-structure
3コマンド位置指定引数よりもフラグを優先(自己説明的、順序非依存)HIGHcommand-structure
4コマンドすべてのフラグに長形式があり、一般的なフラグには短形式も付与MEDIUMcommand-structure
5コマンドグローバルフラグをサポート: --help--version--verbose--output--no-color--quietCRITICALcommand-structure
6出力TTY を検出 -- ターミナルとパイプの出力を適応させるCRITICALoutput-design
7出力stdout はデータ用、stderr はメッセージ/進捗/エラー用CRITICALoutput-design
8出力--output json を安定したスキーマで サポートCRITICALoutput-design
9出力エージェント向けの消費のため --output llm をサポートHIGHoutput-design
10出力スキャン性のために色を使用し、装飾ではなく; NO_COLOR を尊重MEDIUMoutput-design
11出力長時間操作のため stderr にスピナー/進捗を表示HIGHoutput-design
12ヘルプ引数なし実行時に簡潔なサマリーを表示; --help で完全なヘルプを表示CRITICALhelp-system
13ヘルプヘルプテキストで例を最初に表示HIGHhelp-system
14ヘルプタイプミスの修正提案とアクション後の次のステップを提案HIGHhelp-system
15ヘルプbash、zsh、fish、powershell のシェル補完を提供MEDIUMhelp-system
16エラーすべてのエラーに答える: 何が起こったか、なぜか、何をすべきかCRITICALerror-handling
17エラー名前空間付きエラーコード(AUTH-003NET-001)を使用HIGHerror-handling
18エラー明確な終了コードマッピングを定義(0=成功、1=一般、2=使用法など)HIGHerror-handling
19エラー生のスタックトレースは決して表示しない; デバッグファイルに記録HIGHerror-handling
20インタラクティブ標準入力が TTY の場合のみ不足している引数をプロンプト; --no-input で失敗HIGHinteractivity
21インタラクティブ破壊的なアクションを確認; --yes でバイパス可能にするCRITICALinteractivity
22設定すべてのプラットフォームで XDG Base Directory(~/.config/mycli/)に従うHIGHconfiguration
23設定優先順位: フラグ > 環境変数 > プロジェクト設定 > ユーザ設定 > デフォルトHIGHconfiguration
24認証フラグ、環境変数、保存済み認証情報、インタラクティブログイン経由のトークンをサポートHIGHauthentication
25拡張プラグインに mycli-<name> 実行ファイルパターンを使用MEDIUMextensibility
26パフォーマンス100ms以下のコールドスタートを目指す; 必要になるまで処理を遅延HIGHperformance
27パフォーマンス100ms以内に何か出力する; 応答性 > 生のスピードHIGHperformance
28配布可能な限り単一の静的バイナリを配布HIGHdistribution
29配布--version でバージョン、コミットハッシュ、ビルド日付をサポートMEDIUMdistribution
30テスト完全な CLI 呼び出し(stdout、stderr、終了コード)を統合テストするHIGHtesting
31堅牢性SIGINT(終了コード 130)、SIGTERM(終了コード 143)、SIGPIPE(静かに終了)を処理HIGHtesting
32堅牢性入力を早期に検証し、状態変更前にベイルアウトHIGHerror-handling
33堅牢性クラッシュのみ設計: 終了時のクリーンアップ要件を回避MEDIUMtesting
34セキュリティシークレットをフラグ経由で受け入れない(ps、シェル履歴に見える)CRITICALconfiguration
35将来変更を加算的にする; 削除する前に廃止予定にするHIGHdistribution

ワークフロー

CLI ツールを構築またはレビューする際:

  1. 作業しているドメインの関連リファレンスファイルを読む
  2. 影響度別にルールを適用 -- CRITICAL 優先、次に HIGH、次に MEDIUM
  3. 出荷前にチェックリストを使用

その他のリファレンス

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

詳細情報

作者
magarcia
リポジトリ
magarcia/pylon-sync
ライセンス
MIT
最終更新
2026/4/13

Source: https://github.com/magarcia/pylon-sync / ライセンス: MIT

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