mcpField
A
app-questions

app-questions

github.com/cribl-community開発469 回インストール10 週間前に更新
リポジトリ

app-questions について

Cribl アプリプロジェクト向けの対話型スキルで、`APP_DEFINITION.md` の作成や編集を案内します。問題、ワークフロー、範囲などを段階的に収集し、逐次保存と再開に対応します。

主な機能

  1. 01問題とワークフローの定義案内
  2. 02段階的なアプリ要件の収集
  3. 03回答の明確さの確認
  4. 04定義ファイルの対話型編集
  5. 05逐次保存とセッション再開

活用シーン

  1. 01新しい Cribl アプリの定義文書作成
  2. 02アプリのワークフロー追加や修正
  3. 03段階的なアプリ要件の整理

インストール

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

$npx skills add https://github.com/cribl-community/claude-cribl-app-plugins --skill app-questions

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

詳細

app-questions 新しい APP_DEFINITION.md を生成するか、既存のものを対話形式で編集します。初回実行時は、問題とワークフローの定義をガイドします。2 回目以降の実行時は、定義の各部分を表示、編集、追加、削除するメニューを表示します。 /app-questions

事前確認

続行する前に、Cribl アプリのスキャフォールド済みフォルダーにいることを確認してください。そうでない場合は、停止してユーザーに「このスキルは、Cribl アプリのスキャフォールド済みフォルダー内から実行する必要があります。」と伝えてください。

トリガー: Cribl アプリのプロジェクトディレクトリ内でこのスキルを実行します。

入力:

  • 初回実行時:アプリの目的、ワークフロー、解決する問題についての質問に回答します
  • 2 回目以降の実行時:定義セクションを表示/編集/追加/削除するメニュー項目を選択します

出力:

  • 初回実行時:回答をすべて記録したアプリ定義(APP_DEFINITION.md)
  • 2 回目以降の実行時:変更内容を反映した APP_DEFINITION.md

使用方法

初回実行(作成モード)
  1. Cribl でアプリをスキャフォールドします(Apps > Create App)
  2. スターターコードをローカルマシンにコピーします
  3. アプリのディレクトリに cd で移動します
  4. このスキルを実行します:/app-questions
  5. アプリの機能を説明します(解決する問題と利用者を具体的に記述してください)
  6. 必要に応じて、説明を明確にするための質問に回答します
  7. アプリに関する質問票にすべて回答します
  8. 生成されたアプリ定義を確認して編集します

💡 ヒント: 最初の説明には具体的な内容を含めてください。「監視ツール」ではなく、「顧客データのパイプラインが SLA に遅れているタイミングを、プラットフォームチームが把握できるようにする」と説明します。

2 回目以降の実行(編集モード)
  1. /app-questions を実行します(スキルが APP_DEFINITION.md の存在を検出します)
  2. 定義の各部分を編集するためのメニューが表示されます
  3. 更新する項目を選択します:
    • 問題の説明を表示/編集する
    • ワークフローを管理する(追加/編集/削除)
    • データと連携ポイントを更新する
    • 権限とアクセスルールを変更する
    • スコープ項目を変更する
    • UI の設定を更新する
  4. 対話形式で変更を加えます
  5. 更新された定義を確認します
  6. 完了したら終了します

ワークフローの例: /app-questions を実行して「Manage Workflows」を選択し、「Add」を選んで新しいワークフローを説明すると、新しいワークフローを追加できます。その後、/app-brief を実行してアプリ概要を更新し、/app-implement を実行して実装します。

スキルのワークフロー

ステップ 1:モードの検出

スキルを実行すると:

  • APP_DEFINITION.md が存在しない場合:「作成モード」に入ります(以下を参照)
  • APP_DEFINITION.md が存在する場合:「編集モード」に入ります(以下を参照)
作成モード:7 つのフェーズで情報を収集

スキルは 7 つのフェーズで情報を収集し、具体的で十分な回答を得られるよう、各ステップで明確さを検証します。

明確さの検証が行われるケース:

  • 回答が極端に短い、または 1 語のみの場合(2 文未満)
  • 重要な背景情報が欠けている、または表現が曖昧な場合
  • 具体的な詳細を伴わない抽象的な記述の場合
  • 質問に回答していない場合

明確さに問題があると判断された場合、次のフェーズに進む前に、回答をより明確にするための具体的な追加質問を行います。

フェーズ 1:問題を把握する

ガイド付きの情報収集 — 一度に質問は 1 つだけ行います:

  1. 「アプリ ID は何ですか?」と尋ねます。
    • 回答を待ち、必要に応じて明確化します
  2. 「このアプリが解決する主な問題は何ですか?」と尋ねます。
    • 回答を待ち、必要に応じて明確化します
  3. 「このアプリを利用するのは誰ですか?」と尋ねます。
    • 回答を待ち、必要に応じて明確化します
  4. 「現在、この問題をどのように解決していますか?」と尋ねます。
    • 回答を待ち、必要に応じて明確化します

明確さの確認: 回答にはアプリ ID、問題、ユーザーの役割、現在のワークフローを含める必要があります。曖昧な場合や背景情報が不足している場合は、追加で質問します。現在の回答が明確で十分になるまで、次の質問に進んではいけません。

フェーズ 2:ユーザーワークフローと主要タスクの把握

ガイド付きワークフローの把握:

  • ワークフロー 1について質問し、ユーザーが行う作業を手順ごとに説明してもらいます
  • 各ワークフローについて、次の点を明確にします:
    • ユーザーは具体的にどのような手順を、どのような順序で行いますか?
    • 何を作成、変更、削除しますか?
    • 何を見たり、確認したりしますか?
    • 判断が必要なポイントや分岐はありますか?
  • 内容が明確になったら、ワークフロー 2、続いて 3 へと進みます
  • 空欄または「done」と入力すると、ワークフローの収集を終了できるようにします

**明確さの確認:**各ワークフローが具体的で、順序立てられており、特定のオブジェクト/データと操作を含んでいることを確認します。現在のワークフローが明確になるまでは、次のワークフローに進みません。

フェーズ 3:データと連携ポイントの確認

ガイド付きの把握 — 一度に質問は 1 つだけ:

  1. 次のように質問します:「アプリにはどのようなデータが表示されますか?」
    • 回答を待ち、必要に応じて確認します
  2. 次のように質問します:「アプリは何を作成または変更しますか?」
    • 回答を待ち、必要に応じて確認します
  3. 次のように質問します:「アプリは外部サービス(Slack、OpenAI など)を呼び出しますか?」
    • 回答を待ち、必要に応じて確認します

**明確さの確認:**回答では、データソースと連携先の名前を明示する必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。

フェーズ 4:権限とアクセスの検討

ガイド付きの把握 — 一度に質問は 1 つだけ:

  1. 次のように質問します:「ユーザーによって表示されるデータを変える必要がありますか?」
    • 回答を待ち、必要に応じて確認します
  2. 次のように質問します:「ユーザーに権限がない場合、アプリはどのように動作するべきですか?」
    • 回答を待ち、必要に応じて確認します

**明確さの確認:**回答では、ユーザーのロールとアクセスルールを定義する必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。

フェーズ 5:状態とシークレットについて質問

ガイド付きの把握 — 一度に質問は 1 つだけ:

  1. 次のように質問します:「アプリは状態を保存する必要がありますか?」
    • 回答を待ち、必要に応じて確認します
  2. 次のように質問します:「全般的な設定はありますか?」
    • 回答を待ち、必要に応じて確認します
  3. 次のように質問します:「ユーザーごとの設定はありますか?」
    • 回答を待ち、必要に応じて確認します
  4. 次のように質問します:「アプリはセキュアなシークレットを扱いますか?」
    • 回答を待ち、必要に応じて確認します

**明確さの確認:**回答では、保存する状態とその保存場所を明示する必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。

フェーズ 6:スコープを絞り込む

ガイド付きの把握 — 一度に質問は 1 つだけ:

  1. 次のように質問します:「最小限の実用可能な製品(MVP)は何ですか?」
    • 回答を待ち、必要に応じて確認します
  2. 次のように質問します:「後から追加できるとよいものは何ですか?」
    • 回答を待ち、必要に応じて確認します
  3. 次のように質問します:「明らかにスコープ外のものはありますか?」
    • 回答を待ち、必要に応じて確認します

**明確さの確認:**MVP は現実的で、実現可能なものである必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。

フェーズ 7:好みを確認

ガイド付きの把握 — 一度に質問は 1 つだけ:

  1. 次のように質問します:「全体的な構成はどのようなものですか?(ウィザード、ダッシュボード、フォーム、テーブルなど)」
    • 回答を待ち、必要に応じて確認します
  2. 次のように質問します:「見た目や雰囲気について、具体的な好みはありますか?」
    • 回答を待ち、必要に応じて確認します

**明確さの確認:**回答が、特定したワークフローとタスクに沿っている必要があります。現在の回答が明確かつ完全になるまでは、次の質問に進みません。


再入可能性:中断した箇所から再開

このスキルは完全に再入可能です。/app-questionsを実行すると:

  1. APP_DEFINITION.mdが存在しない場合、スキルはフェーズ 1 から開始します
  2. APP_DEFINITION.mdが存在する場合、スキルはその内容を読み取り、最初の未完了フェーズから再開します
  3. すでに回答済みで完了しているフェーズの質問はスキップします
  4. 質問への回答を完了するたびに、回答は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 への指示:

  1. アプリディレクトリに CLAUDE.md がすでに存在するか確認します
  2. 存在する場合は、そこで終了します。上書きしないでください
  3. 存在しない場合は、次の手順で作成します。
    • 上記のテンプレートをベースとして使用します
    • 完成した APP_DEFINITION.md の具体的な詳細(ワークフロー、データ、スコープ、UI 構造)を反映します
    • 必ず AGENTS.md への参照を含めます(すべてのアプリのスキャフォールドに含まれています)
    • アプリに適したその他の参照やガイダンスも含めます

リソース

コメント