Communityコーディング&開発github.com

tryaida/aida-demo-data

アプリの画面やAPIを介してウォークスルー用のデモデータを作成します。セットアップ手順と設定状態フックを使用し、エンジニアが明示的にシードスクリプトを要求した場合を除き、データベースへの直接書き込みは行いません。キャプチャ実行前にまだ存在しないデータ(競合他社、番組、クラスなど)が必要な場合や、クリーンな状態で2回キャプチャする必要がある場合に使用します。

aida-demo-data とは?

このスキルは、アプリケーションのウォークスルー(チュートリアルやデモ)を録画・再生する際に必要なデモデータを、安全かつ再現可能な方法で作成するためのものです。データの作成は、アプリケーション自体のUI操作やAPIを通じて行い、データベースへの直接書き込みは原則として行いません。これにより、データベースアクセス権限を必要とせず、データ作成の副作用を最小限に抑えます。主なデータ作成経路として、1つのウォークスルーでのみ使用するデータは、そのウォークスルー内の `setup:` ステップで定義します。複数のウォークスルーで共有されるデータや、ウォークスルー後も残す必要のあるデータは、設定ファイルの `states` エントリにフック(`setup` / `check` 関数)として定義し、アプリのAPI経由で投入します。これらのフックは冪等性を持ち、キャプチャのたびに実行されても安全です。データ作成には、`@example.com`メールアドレスや架空の電話番号など、安全なダミーデータを使用し、実際のデータを決してコピーしません。このスキルは、Claude Code, Cursor, CodexなどのAIエージェントが、アプリケーションのデモやテストのためのデータを自動的に準備する際に利用でき、手動でのデータ準備作業を大幅に削減します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tryaida/aida/tree/main/skills/aida-demo-data

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

aida-demo-data は何をしますか?

モデル階層: standard。小さなスクリプトや一連のアプリ操作の作成には注意が必要ですが、アウトラインファイルからデータの形状が分かっていれば、日常的な作業です。

デフォルトの経路: アプリ自体を通じて

  1. 1つのウォークスルーのみが使用するデータ(選択するための2番目の競合他社): 自身の setup: ステップで、do:/check:/actions: と同じ文法で定義します。キャプチャ前に実行され、録画されることはありません。setup: { as: admin, steps: [...] } とすることで、別のロールとしてサインインできます。

  2. 複数のウォークスルーが必要とする、またはどのウォークスルーも残さない開始データ(「アレックスは朝のブロックにいる」): 設定の states エントリにフックを定義し、アプリのAPI経由で投入します(決定事項15)。データベースは使用しません。

    states: {
      "alex-in-morning": {
        description: "アレックスは朝のブロックにいる",
        as: "admin",                                  // フック自身のサインイン済みセッション
        setup: "./states/alex-in-morning.mjs",        // その `setup` エクスポート。デフォルトがない場合
        check: "./states/alex-in-morning.mjs",        // その `check` エクスポート。デフォルトがない場合
      },
    },
    

    フックは ctx.request(サインイン済みセッションを保持するAPIクライアント。相対パスは baseUrl に対して解決されます)、ctx.page、ctx.runId、ctx.env を受け取ります。check は状態がすでに存在し、変更がない場合に true を返します。setup は冪等である必要があります(「必ずそうなっていることを確認する」)。状態が必要なキャプチャのたびに実行されるため、最初に以前の実行のコピーを削除する場合があります。as: がない場合、フックはウォークスルー自身のセッションを共有します。API経由でサインインするフックは、as: を別のロールに設定する必要があります。設定しないと、録画からサインアウトしてしまいます。

  3. セットアップが作成する、実行間で衝突してはならないレコード: setup データ内で {{run.id}} を使用して命名します(フック内では ctx.runId)。これが入力テキスト、ナレーション、キャプションに表示されないようにします。スクリーンショットが実行ごとに変わってしまうためです。

  4. すべての値は references/safety.md に従います。@example.com メールアドレス、予約済みの架空の電話番号、発明された名前。実際のレコードを名前を変更しただけでもコピーして開始点にしないでください。

  5. アプリが専用のデモアカウントまたはワークスペースをサポートしている場合はそれを使用し、本番アカウントは使用しないでください。クイックモード(専用のデモ環境がない場合)では、何かを保存する前にユーザーに確認を求めます。

シードスクリプト: エンジニアの明示的な要求がある場合のみ

  • エンジニアが名前を指定して要求した場合(例:「デモDB用のシードスクリプトを書いて」)にのみ、データベースに直接書き込むシードスクリプトを作成します。デフォルトユーザーやvibe coderは決して受け取りません。AIDAがデータベースアクセスを必要としないことが重要なポイントです。
  • シードスクリプトを作成する場合: それは、データベースキャプチャの安全性チェックが受け入れるもの(このマシン上、またはユーザが使い捨てとして指定したブランチ上。aida doctor で確認できます)のみを対象とし、同じ安全なデモデータ値を使用し、ウォークスルーファイル内ではなく、アプリ自身のシードツールと一緒に配置します。

ルール

  • ウォークスルーで読み取り専用とマークされたステップの副作用としてデータを作成しないでください。ウォークスルーがセットアップデータを必要とする場合、それを明示的に(needs、setup:)指定し、隠れた状態にしないでください。
  • 録画されたウォークスルーにクリーンアップステップを追加しないでください。データを削除するウォークスルーは clears でその旨を宣言します。再実行時は、冪等なセットアップフックまたはデータベースのリセットによって開始データが復元されます。

トークンルール

references/tokens.md を参照してください。小さく、ターゲットを絞ってください。スキーマやアプリ全体ではなく、1つのカードのデータ形状のみに焦点を当てます。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル