mcpField
C
clack

clack

github.com/alexeira開発055 回インストール26 週間前に更新
リポジトリ

clack について

clackは、Clackを使った堅牢で使いやすいCLIフローの構築を支援するスキルです。実装方針や入力検証、キャンセル処理を案内し、JSとTSのテンプレートも備えています。

主な機能

  1. 01@clack/promptsと@clack/coreの利用ガイド
  2. 02入力検証とキャンセル処理のパターン
  3. 03UXと信頼性に関する推奨事項
  4. 04JSとTSのCLIスキャフォールドテンプレート

活用シーン

  1. 01対話型コマンドラインフローの構築
  2. 02プロンプトへの安全なキャンセル処理の追加
  3. 03基本またはスピナー付きCLIの生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alexeira/skills --skill clack

インストール後、Claude Code で/clackを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/templates/
basic-cli.mjs
basic-cli.ts
spinner-cli.mjs
spinner-cli.ts
references/
best-practices.md
core-api.md
examples.md
prompts-api.md
sources.md
scripts/
scaffold-clack.sh

詳細

Clack CLI スキル

Clack を使って、堅牢でユーザーフレンドリーな CLI フローを実装します。

次のワークフローに従ってください

  1. 実装対象を特定します。
  • ほとんどの対話型 CLI フローには @clack/prompts を使用します。
  • 低レベルのプロンプト描画やライフサイクル制御には @clack/core を使用します。
  1. 関連するリファレンスだけを読み込みます。
  • プロンプト中心のワークフロー:references/prompts-api.md
  • 低レベル/コアの拡張作業:references/core-api.md
  • UX と信頼性のレビュー:references/best-practices.md
  • パターンの選択とひな形の作成:references/examples.md
  • ソースリンクと鮮度の確認:references/sources.md
  • ユーザーがスターターファイルをすぐに求めている場合は、scripts/scaffold-clack.sh を実行します。
  1. まず、最小限の実行可能な骨組みを作成します。
  • インポート、intro()、フローのロジック、outro() を含めます。
  • ユーザーのランタイムに合わせたインストール/実行コマンドを追加します。
  1. 明示的な検証とキャンセル処理を備えたプロンプトを追加します。
  • 制約に違反する可能性のある、ユーザーに提示するすべてのフィールドを検証します。
  • 各プロンプトの結果を受け取った後、isCancel(...) と cancel(...) を使ってキャンセルを処理します。
  1. UX を支援する関数を意図的に追加します。
  • 構造化されたフィードバックには log.* を使用します。
  • 長時間実行される単一の操作には spinner() を使用します。
  • 要約や次のアクションには note() を使用します。
  1. 非同期の複数ステップの処理には、タスク指向のパターンを使用します。
  • 明確なステータス更新と簡潔なタスクタイトルを優先します。
  • 成功/エラーメッセージは短く、次に取るべき行動が分かるものにします。
  1. 本番環境で使える回答に仕上げます。
  • ユーザーから別途指定がない限り、断片ではなく、実行可能な完全なコードを提示します。
  • 簡単な動作確認手順も含めます。

同梱リソース

  • scripts/scaffold-clack.sh

  • 厳選された JS または TS のテンプレートからスターター CLI を生成します。

  • 使い方:bash scripts/scaffold-clack.sh <target-dir> [basic|spinner] [js|ts] [auto|npm|pnpm|yarn|bun]

  • assets/templates/basic-cli.mjs

  • 検証、キャンセル処理、要約ノートを含む基本的なプロンプトフローです。

  • assets/templates/spinner-cli.mjs

  • プロンプトフローに、時間のかかる処理向けのスピナーによる実行パターンを加えたものです。

  • assets/templates/basic-cli.ts

  • 基本的なプロンプトフローの TypeScript 版です。

  • assets/templates/spinner-cli.ts

  • スピナーフローの TypeScript 版です。

必ず守るルール

  • 必ずキャンセルしても安全な処理経路を用意します。
  • 入力が有効だと決めつけず、検証し、修正方法をその場で説明します。
  • ステータスメッセージとエラーメッセージのトーンを統一します。
  • プロンプトの階層を浅く保ち、複雑なフローはグループ化したステップに分割します。
  • ユーザーの入力やエラーを減らすため、適切なデフォルト値を優先します。

最新情報に関する方針

  • Clack の API は進化しているものとして扱います。
  • 信頼できるリンク一覧として references/sources.md を使用します。
  • ユーザーが最新の動作やバージョン固有の詳細を求めている場合は、仕上げる前に公式ドキュメントを再確認します。
  • Web にアクセスできない場合は、その制約を明示し、このスキルで文書化されている API に従います。

コメント