useuser
macOSのネイティブダイアログと通知を使用して、ユーザーに質問を行うことができます。チャットではなくシステムレベルのダイアログを通じて、ユーザーからの明確化、確認、または直接入力が必要な場合に使用します。テキスト入力、複数選択、はい/いいえの確認、情報表示、システム通知に対応しています。
description の原文を見る
Ask humans questions via native macOS dialogs and notifications. Use when you need clarification, confirmation, or direct input from the user through system-level dialogs rather than chat. Supports text input, multiple choice, yes/no confirmation, information display, and system notifications.
SKILL.md 本文
Useuser
このスキルを使用すると、ネイティブな macOS システムダイアログを通じてユーザーに質問を投げかけることができます。ユーザーからの直接的な入力、アクション実行前の確認、または確認応答が必要な重要情報の表示が必要な場合に使用します。
このスキルを使う場面
- 確認が必要: 要件が不確かであったり、さらなるコンテキストが必要な場合
- 承認が必須: 破壊的または取り消し不可能なアクションを実行する前
- ユーザーの選好: ユーザーがどのオプションを優先するかを知る必要がある場合
- 重要な通知: ユーザーに重要な事項について警告する必要がある場合
- 必須の質問: ユーザー入力なしに先に進めない場合
利用可能なダイアログタイプ
1. テキスト入力ダイアログ
ユーザーが応答を入力する、オープンエンドな質問を投げかけます。
scripts/ask_text.sh "What is the database connection string?" "postgresql://localhost:5432/mydb" 300
パラメータ:
$1- 質問テキスト(必須)$2- デフォルト値(オプション、デフォルトは空)$3- タイムアウト(秒)(オプション、デフォルトは300)。タイムアウトなしの場合は0またはnoneを使用します。
返り値: ユーザーが入力したテキスト、キャンセルされた場合は "CANCELLED"、タイムアウトした場合は "TIMEOUT"。
タイムアウトなしの例:
scripts/ask_text.sh "What is your preferred username?" "" 0
2. 複数選択ダイアログ
ユーザーが選択するためのオプションリストを提示します。
scripts/ask_choice.sh "Which authentication method should I use?" "OAuth2" "JWT" "Session-based" "API Keys"
パラメータ:
$1- 質問/プロンプトテキスト(必須)$2+- 利用可能な選択肢(最低2つ必須)
返り値: 選択されたオプションのテキスト、キャンセルされた場合は "CANCELLED"。
3. はい/いいえ確認ダイアログ
シンプルなはい/いいえ の回答を取得します。
scripts/ask_confirm.sh "Should I delete the old migration files?" "no" 300
パラメータ:
$1- 質問テキスト(必須)$2- デフォルトボタン: "yes" または "no"(オプション、デフォルトは "no")$3- タイムアウト(秒)(オプション、デフォルトは300)。タイムアウトなしの場合は0またはnoneを使用します。
返り値: "YES" または "NO"、キャンセルされた場合は "CANCELLED"、タイムアウトした場合は "TIMEOUT"。
4. 情報ダイアログ
ユーザーの確認応答が必要な情報を表示します。
scripts/show_info.sh "Migration completed successfully! 47 records updated." 300
パラメータ:
$1- 表示するメッセージ(必須)$2- タイムアウト(秒)(オプション、デフォルトは300)。タイムアウトなしの場合は0またはnoneを使用します。
返り値: 確認応答時は "OK"、キャンセルされた場合は "CANCELLED"、タイムアウトした場合は "TIMEOUT"。
5. システム通知
macOS 通知を送信します(非ブロッキング)。
scripts/notify.sh "Build completed successfully" "Development Server" "Ready for testing" "yes"
パラメータ:
$1- 通知メッセージ(必須)$2- タイトル(オプション、デフォルトは "Useuser")$3- サブタイトル(オプション)$4- 音を再生: "yes" または "no"(オプション、デフォルトは "no")
返り値: 成功時は "OK"。
使用例
例1: ユーザーの選好を取得する
新しいプロジェクトをセットアップするとき:
# 使用するフレームワークを質問
framework=$(scripts/ask_choice.sh "Which framework should I use for this project?" "React" "Vue" "Svelte" "Angular")
if [ "$framework" != "CANCELLED" ]; then
echo "User selected: $framework"
fi
例2: 破壊的なアクションを確認する
ファイルを削除する前:
confirm=$(scripts/ask_confirm.sh "This will permanently delete 15 files. Are you sure?" "no")
if [ "$confirm" = "YES" ]; then
# 削除を進める
echo "Deleting files..."
else
echo "Operation cancelled by user"
fi
例3: 設定値を取得する
特定の入力が必要な場合:
api_key=$(scripts/ask_text.sh "Please enter your API key:" "" 120)
if [ "$api_key" != "CANCELLED" ] && [ "$api_key" != "TIMEOUT" ]; then
echo "API key received"
fi
例4: 長時間実行される操作について通知する
バックグラウンドタスクが完了したとき:
scripts/notify.sh "Database backup completed" "Backup Tool" "All 3 databases backed up successfully" "yes"
エラーハンドリング
すべてのスクリプトはエラーを適切に処理します:
- ユーザーがキャンセル: "CANCELLED" を返す
- タイムアウト: "TIMEOUT" を返す(対応しているダイアログ)
- AppleScriptエラー: "ERROR: <message>" を返す
常に返り値をチェックしてから処理を進めます:
result=$(scripts/ask_confirm.sh "Continue with deployment?")
case "$result" in
"YES")
echo "Deploying..."
;;
"NO")
echo "Deployment cancelled by user"
;;
"CANCELLED")
echo "Dialog was dismissed"
;;
"TIMEOUT")
echo "No response received, timing out"
;;
ERROR*)
echo "An error occurred: $result"
;;
esac
ベストプラクティス
- 具体的に: 明確で、実行可能な答えが得られる質問をします
- コンテキストを含める: 質問に関連するコンテキストを含めます
- 適切なダイアログタイプを使用: はい/いいえ は確認、複数の選択肢は選択、オープンエンドな質問はテキスト入力を使用します
- 合理的なタイムアウトを設定: ユーザーを無限に待たせないが、十分な時間を与えます
- すべてのケースを処理: キャンセルとタイムアウトのシナリオは常に処理します
- 割り込みを最小化: 本当に人間の入力が必要な場合のみ質問します
- 通知は控えめに: 重要で非ブロッキングの更新のために通知を予約します
プラットフォーム要件
- macOS のみ: このスキルは AppleScript を使用して
osascriptで実行され、macOS でのみ動作します - ターミナル権限: ターミナルアプリがダイアログを表示するために権限が必要な場合があります(システム設定 > プライバシーとセキュリティ > アクセシビリティ)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- diegosouzapw
- ライセンス
- MIT
- 最終更新
- 2026/3/2
Source: https://github.com/diegosouzapw/awesome-omni-skill / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。