app-questions について
Cribl アプリプロジェクト向けの対話型スキルで、`APP_DEFINITION.md` の作成や編集を案内します。問題、ワークフロー、範囲などを段階的に収集し、逐次保存と再開に対応します。
主な機能
- 01問題とワークフローの定義案内
- 02段階的なアプリ要件の収集
- 03回答の明確さの確認
- 04定義ファイルの対話型編集
- 05逐次保存とセッション再開
活用シーン
- 01新しい Cribl アプリの定義文書作成
- 02アプリのワークフロー追加や修正
- 03段階的なアプリ要件の整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cribl-community/ claude-cribl-app-plugins --skill app-questionsインストール後、Claude Code で/app-questionsを入力して読み込まれたか確認します。
詳細
事前確認
続行する前に、Cribl アプリのスキャフォールド済みフォルダーにいることを確認してください。そうでない場合は、停止してユーザーに「このスキルは、Cribl アプリのスキャフォールド済みフォルダー内から実行する必要があります。」と伝えてください。
トリガー: Cribl アプリのプロジェクトディレクトリ内でこのスキルを実行します。
入力:
- 初回実行時:アプリの目的、ワークフロー、解決する問題についての質問に回答します
- 2 回目以降の実行時:定義セクションを表示/編集/追加/削除するメニュー項目を選択します
出力:
- 初回実行時:回答をすべて記録したアプリ定義(
APP_DEFINITION.md) - 2 回目以降の実行時:変更内容を反映した
APP_DEFINITION.md
使用方法
初回実行(作成モード)
- Cribl でアプリをスキャフォールドします(Apps > Create App)
- スターターコードをローカルマシンにコピーします
- アプリのディレクトリに
cdで移動します - このスキルを実行します:
/app-questions - アプリの機能を説明します(解決する問題と利用者を具体的に記述してください)
- 必要に応じて、説明を明確にするための質問に回答します
- アプリに関する質問票にすべて回答します
- 生成されたアプリ定義を確認して編集します
💡 ヒント: 最初の説明には具体的な内容を含めてください。「監視ツール」ではなく、「顧客データのパイプラインが SLA に遅れているタイミングを、プラットフォームチームが把握できるようにする」と説明します。
2 回目以降の実行(編集モード)
/app-questionsを実行します(スキルがAPP_DEFINITION.mdの存在を検出します)- 定義の各部分を編集するためのメニューが表示されます
- 更新する項目を選択します:
- 問題の説明を表示/編集する
- ワークフローを管理する(追加/編集/削除)
- データと連携ポイントを更新する
- 権限とアクセスルールを変更する
- スコープ項目を変更する
- UI の設定を更新する
- 対話形式で変更を加えます
- 更新された定義を確認します
- 完了したら終了します
ワークフローの例: /app-questions を実行して「Manage Workflows」を選択し、「Add」を選んで新しいワークフローを説明すると、新しいワークフローを追加できます。その後、/app-brief を実行してアプリ概要を更新し、/app-implement を実行して実装します。
スキルのワークフロー
ステップ 1:モードの検出
スキルを実行すると:
APP_DEFINITION.mdが存在しない場合:「作成モード」に入ります(以下を参照)APP_DEFINITION.mdが存在する場合:「編集モード」に入ります(以下を参照)
作成モード:7 つのフェーズで情報を収集
スキルは 7 つのフェーズで情報を収集し、具体的で十分な回答を得られるよう、各ステップで明確さを検証します。
明確さの検証が行われるケース:
- 回答が極端に短い、または 1 語のみの場合(2 文未満)
- 重要な背景情報が欠けている、または表現が曖昧な場合
- 具体的な詳細を伴わない抽象的な記述の場合
- 質問に回答していない場合
明確さに問題があると判断された場合、次のフェーズに進む前に、回答をより明確にするための具体的な追加質問を行います。
フェーズ 1:問題を把握する
ガイド付きの情報収集 — 一度に質問は 1 つだけ行います:
- 「アプリ ID は何ですか?」と尋ねます。
- 回答を待ち、必要に応じて明確化します
- 「このアプリが解決する主な問題は何ですか?」と尋ねます。
- 回答を待ち、必要に応じて明確化します
- 「このアプリを利用するのは誰ですか?」と尋ねます。
- 回答を待ち、必要に応じて明確化します
- 「現在、この問題をどのように解決していますか?」と尋ねます。
- 回答を待ち、必要に応じて明確化します
明確さの確認: 回答にはアプリ ID、問題、ユーザーの役割、現在のワークフローを含める必要があります。曖昧な場合や背景情報が不足している場合は、追加で質問します。現在の回答が明確で十分になるまで、次の質問に進んではいけません。
フェーズ 2:ユーザーワークフローと主要タスクの把握
ガイド付きワークフローの把握:
- ワークフロー 1について質問し、ユーザーが行う作業を手順ごとに説明してもらいます
- 各ワークフローについて、次の点を明確にします:
- ユーザーは具体的にどのような手順を、どのような順序で行いますか?
- 何を作成、変更、削除しますか?
- 何を見たり、確認したりしますか?
- 判断が必要なポイントや分岐はありますか?
- 内容が明確になったら、ワークフロー 2、続いて 3 へと進みます
- 空欄または「done」と入力すると、ワークフローの収集を終了できるようにします
**明確さの確認:**各ワークフローが具体的で、順序立てられており、特定のオブジェクト/データと操作を含んでいることを確認します。現在のワークフローが明確になるまでは、次のワークフローに進みません。
フェーズ 3:データと連携ポイントの確認
ガイド付きの把握 — 一度に質問は 1 つだけ:
- 次のように質問します:「アプリにはどのようなデータが表示されますか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「アプリは何を作成または変更しますか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「アプリは外部サービス(Slack、OpenAI など)を呼び出しますか?」
- 回答を待ち、必要に応じて確認します
**明確さの確認:**回答では、データソースと連携先の名前を明示する必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。
フェーズ 4:権限とアクセスの検討
ガイド付きの把握 — 一度に質問は 1 つだけ:
- 次のように質問します:「ユーザーによって表示されるデータを変える必要がありますか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「ユーザーに権限がない場合、アプリはどのように動作するべきですか?」
- 回答を待ち、必要に応じて確認します
**明確さの確認:**回答では、ユーザーのロールとアクセスルールを定義する必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。
フェーズ 5:状態とシークレットについて質問
ガイド付きの把握 — 一度に質問は 1 つだけ:
- 次のように質問します:「アプリは状態を保存する必要がありますか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「全般的な設定はありますか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「ユーザーごとの設定はありますか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「アプリはセキュアなシークレットを扱いますか?」
- 回答を待ち、必要に応じて確認します
**明確さの確認:**回答では、保存する状態とその保存場所を明示する必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。
フェーズ 6:スコープを絞り込む
ガイド付きの把握 — 一度に質問は 1 つだけ:
- 次のように質問します:「最小限の実用可能な製品(MVP)は何ですか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「後から追加できるとよいものは何ですか?」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「明らかにスコープ外のものはありますか?」
- 回答を待ち、必要に応じて確認します
**明確さの確認:**MVP は現実的で、実現可能なものである必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。
フェーズ 7:好みを確認
ガイド付きの把握 — 一度に質問は 1 つだけ:
- 次のように質問します:「全体的な構成はどのようなものですか?(ウィザード、ダッシュボード、フォーム、テーブルなど)」
- 回答を待ち、必要に応じて確認します
- 次のように質問します:「見た目や雰囲気について、具体的な好みはありますか?」
- 回答を待ち、必要に応じて確認します
**明確さの確認:**回答が、特定したワークフローとタスクに沿っている必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。
再入可能性:中断した箇所から再開
このスキルは完全に再入可能です。/app-questionsを実行すると:
APP_DEFINITION.mdが存在しない場合、スキルはフェーズ 1 から開始しますAPP_DEFINITION.mdが存在する場合、スキルはその内容を読み取り、最初の未完了フェーズから再開します- すでに回答済みで完了しているフェーズの質問はスキップします
- 質問への回答を完了するたびに、回答は
APP_DEFINITION.mdに段階的に書き込まれるため、途中で終了してもデータは失われません
これにより、スキルを段階的に実行できます。今日は問題を定義し、明日はワークフローを整理し、来週スコープと好みを仕上げることができます。すべての回答が保持されます。
永続化:APP_DEFINITION.md
各質問を進めるたびに、スキルは回答をアプリディレクトリ内の APP_DEFINITION.md に段階的に保存します。このファイルは、次の両方の役割を果たします。
- 入力: 再開時に、スキルはこのファイルを読み取り、どのフェーズから続けるかを判断します
- 出力: すべてのフェーズが完了した後の、アプリの完全な定義です
# App Definition
## App ID
[User's answer for the app id]
## Problem
[User's answer about what problem this solves]
## Target Users
[Who uses this and why]
## Workflows
### Workflow 1: [Name]
[Full description]
### Workflow 2: [Name]
[Full description]
[+ Additional workflows]
## Data & Integration Points
### Data Display
[User's answer]
### Create/Modify/Delete
[User's answer]
### External Integrations
[User's answer or "None"]
## Permissions & Access
### Different Users See Different Data?
[User's answer]
### Permission-Denied Behavior
[User's answer]
## State & Secrets
### Saved State
[User's answer or "None"]
### General-settings
[User's answer or "None"]
### User-Specific Settings
[User's answer or "None"]
### Secure Secrets
[User's answer or "None"]
## Scope
### Must-Have (MVP)
[User's answers]
### Nice-to-Have (Defer)
[User's answers]
### Out of Scope
[User's answers]
## UI Preferences
### Overall Structure
[User's answer]
### Look/Feel
[User's answer]
ユーザーはエディターでこのファイルを直接編集することも、スキルを再実行して Q&A 形式で更新することもできます。
編集モード:インタラクティブな定義エディター
APP_DEFINITION.md がすでに存在する場合、スキルは編集モードになり、インタラクティブなメニューを表示します。
=== APP_DEFINITION.md Editor ===
1. View/Edit App ID
2. View/Edit Problem Statement
3. View/Edit Target Users
4. Manage Workflows (add, edit, delete, list)
5. View/Edit Data & Integration Points
6. View/Edit Permissions & Access
7. View/Edit Scope (must-have, nice-to-have, out-of-scope)
8. View/Edit UI Preferences
9. View entire definition (read-only)
10. Exit and save
Enter choice (1-10):
メニューオプションのワークフロー
オプション 1:アプリ ID の表示/編集
- 現在のアプリ ID を表示する
- 「編集しますか?(yes/no)」と尋ねる
- yes の場合:現在のテキストを表示し、新しいテキストを尋ねる
APP_DEFINITION.mdを更新してメニューに戻る
オプション 2:問題の説明の表示/編集
- 現在の問題の説明を表示する
- 「編集しますか?(yes/no)」と尋ねる
- yes の場合:現在のテキストを表示し、新しいテキストを尋ねる
APP_DEFINITION.mdを更新してメニューに戻る
オプション 3:対象ユーザーの表示/編集
- 現在の対象ユーザーを表示する
- 「編集しますか?(yes/no)」と尋ねる
- yes の場合:現在のテキストを表示し、新しいテキストを尋ねる
APP_DEFINITION.mdを更新してメニューに戻る
オプション 4:ワークフローの管理
サブメニューを表示します。
=== Manage Workflows ===
1. List all workflows
2. Add a new workflow
3. Edit a workflow
4. Delete a workflow
5. Back to main menu
Enter choice (1-5):
サブオプション 3.1:すべてのワークフローを一覧表示
- すべてのワークフロー名と説明を表示する
- サブメニューに戻る
サブオプション 3.2:新しいワークフローを追加
- 「ワークフロー名は?」と尋ねる
- 「ワークフローの説明は?」と尋ねる(複数行可)
- 既存の形式に従って
## Workflowsセクションに追加する APP_DEFINITION.mdを更新してサブメニューに戻る
サブオプション 3.3:ワークフローを編集
- すべてのワークフローを番号付きで一覧表示する
- 「編集するワークフローはどれですか?(1-N)」と尋ねる
- 現在のワークフローのテキストを表示する
- 「新しい説明は?」と尋ねる(複数行可)
APP_DEFINITION.mdを更新してサブメニューに戻る
サブオプション 3.4:ワークフローを削除
- すべてのワークフローを番号付きで一覧表示する
- 「削除するワークフローはどれですか?(1-N)」と尋ねる
- 「本当に削除しますか?(yes/no)」と尋ねる
APP_DEFINITION.mdから削除してサブメニューに戻る
オプション 5:データと連携ポイントの表示/編集
- 現在のセクションを表示する:
- データ表示
- 作成/変更/削除
- 外部連携
- サブメニューを表示する:
1. Edit Data Display 2. Edit Create/Modify/Delete 3. Edit External Integrations 4. Back to main menu - 各項目について、現在の内容を表示し、編集内容を尋ねてファイルを更新する
オプション 6:権限とアクセスの表示/編集
- 現在のセクションを表示する:
- ユーザーによって表示されるデータは異なりますか?
- 権限がない場合の動作
- 編集する項目を尋ね、更新を適用する
APP_DEFINITION.mdを更新してメニューに戻る
オプション 7:スコープの表示/編集
- 現在のセクションを表示する:
- 必須(MVP)
- あればよい(後回し)
- 対象外
- 各セクションのサブメニューを表示する:
- すべての項目を表示
- 項目を追加
- 項目を削除
APP_DEFINITION.mdを更新してメニューに戻る
オプション 8:UI の設定の表示/編集
- 現在のセクションを表示する:
- 全体構成
- 外観/雰囲気
- 編集する項目を尋ね、更新を適用する
APP_DEFINITION.mdを更新してメニューに戻る
オプション 9:定義全体を表示(読み取り専用)
APP_DEFINITION.mdの内容全体を表示する- メニューに戻る
オプション 10:終了して保存
- 今回のセッションでの変更内容の概要を表示する
- 保存を確認する(変更はすでに段階的に書き込まれています)
- 終了する
編集モードの UX 原則
- 段階的な保存:変更のたびに
APP_DEFINITION.mdに書き込む - 削除操作の確認:ワークフローまたはスコープ項目を削除する前に必ず確認する
- 現在の状態を表示:編集内容を尋ねる前に、必ず現在の内容を表示する
- 簡単に戻れること:確定せずに前のメニューへ戻れるようにする
- 複数行入力:ワークフローの説明、データ要件などに複数行のテキストを使用できるようにする
- 終了時の概要:終了時に変更内容を表示する
CLAUDE.md を生成する
APP_DEFINITION.md が完成したら、まだ存在しない場合に限り、アプリディレクトリに CLAUDE.md ファイルを作成します。
CLAUDE.md のテンプレート:
# CLAUDE.md
This file provides guidance to Claude Code when working with this Cribl app.
## App Context
This app is defined in `APP_DEFINITION.md` — read that for comprehensive problem statement, workflows, and scope.
## Key References
- `AGENTS.md` — How to build the app and navigate the app runtime environment
- `APP_DEFINITION.md` — Full app requirements and workflows
- `APP_BRIEF.md` — Implementation guide (generated from APP_DEFINITION)
## Workflows & Data
[If APP_DEFINITION.md has workflows, include a summary here, e.g.:]
**Main Workflows:**
- [Workflow 1 name and purpose]
- [Workflow 2 name and purpose]
**Key Data:**
- [What the app displays]
- [What the app creates/modifies]
- [External integrations]
## UI Structure
[Include from APP_DEFINITION if specified, e.g.:]
- Overall structure: [wizard/dashboard/form/table/etc]
- Key screens: [list main screens/pages]
## MVP Scope
**Must-have (Phase 1):**
- [Features from APP_DEFINITION MVP section]
**Nice-to-have (Defer):**
- [Features from APP_DEFINITION defer section]
**Out of scope:**
- [Features from APP_DEFINITION out-of-scope section]
## Additional Guidance
- Read the [Cribl Apps Builder Guide](https://docs.cribl.io/apps/builder-guide/) for patterns and best practices
- Check `/app-brief` and `/app-validate` skills for guidance before implementation
Claude への指示:
- アプリディレクトリに
CLAUDE.mdがすでに存在するか確認します - 存在する場合は、そこで終了します。上書きしないでください
- 存在しない場合は、次の手順で作成します。
- 上記のテンプレートをベースとして使用します
- 完成した
APP_DEFINITION.mdの具体的な詳細(ワークフロー、データ、スコープ、UI 構造)を反映します - 必ず
AGENTS.mdへの参照を含めます(すべてのアプリのスキャフォールドに含まれています) - アプリに適したその他の参照やガイダンスも含めます
リソース
- Cribl Apps ドキュメント: https://docs.cribl.io/apps/
- ビルダーガイド: https://docs.cribl.io/apps/builder-guide/
- GitHub のサンプル: https://github.com/criblapps and https://github.com/Cribl-Community