Community程式設計與開發github.com

aida-demo-data

建立應用程式的展示資料,透過應用程式自身的畫面或 API 設定,用於逐步教學與驗證。

aida-demo-data 是什麼?

這個技能提供一個結構化方式來建立展示資料,供 AIDA 應用程式的逐步教學使用。它預設使用應用程式自身的 API 與設定步驟,而非直接寫入資料庫,以確保工具安全且易於撤回。技能分為兩種情境:單一教學所需的資料在相同的 `setup` 步驟中設定,於錄製前執行;跨教學共用的起始資料則透過帶有鉤子 (hooks) 的 `states` 配置來管理,這些鉤子會收到一個 API 用戶端 (`ctx.request`) 與頁面物件 (`ctx.page`),可安全地操作應用程式。所有資料必須遵循安全準則,使用虛構資訊,並在名稱中包含運行 ID 以避免衝突。僅在工程師明確要求「種子腳本」時,才允許直接寫入資料庫,且僅限於可拋棄的測試環境。此技能支援所有 AIDA 執行環境,且其設計強調設定步驟的冪等性與清晰度。

相容平台~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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

aida-demo-data 是做什麼的?

模型層級:標準。撰寫小腳本或一系列應用程式操作需要謹慎,但在從輪廓卡片得知資料結構後,這是常規任務。

預設路徑:透過應用程式本身

  1. 僅供單一逐步教學使用的資料(例如要從中挑選的第二個競爭者):在其自身的 setup: 步驟中定義,使用與 do:/check:/actions: 相同的語法,於錄製前執行且永不錄影。setup: { as: admin, steps: [...] } 表示以其他角色登入來執行設定。

  2. 多個逐步教學需要的起始資料,或任何教學都不會留下的資料(例如「Alex 在早上的時段」):使用帶有鉤子 (hooks) 的 states 配置項目,透過應用程式自身的 API 設定(決策 15),絕不透過資料庫:

    states: {
      "alex-in-morning": {
        description: "Alex 在早上的時段",
        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. 錄製設定所建立的資料不得跨執行衝突:在設定資料中使用 {{run.id}} 命名(在鉤子中使用 ctx.runId)。絕不讓它出現在輸入文字、旁白或字幕中:否則螢幕截圖每次執行都會改變。

  4. 所有值必須遵循 references/safety.md:使用 @example.com 電子郵件、保留的虛構電話號碼範圍、虛構姓名。絕不複製真實記錄,即使更改姓名,也不得作為起點。

  5. 如果應用程式支援專用展示帳戶或工作區,則使用該帳戶,絕不使用生產帳戶。快速模式(無專用展示環境)會在儲存任何內容前詢問使用者。

種子腳本:僅依工程師明確要求

  • 僅在工程師明確要求時(例如「為展示資料庫寫一個種子腳本」)才撰寫直接寫入資料庫的種子腳本。預設使用者與 vibe 編碼者永遠不會得到這種腳本——重點在於 AIDA 不需要資料庫存取權限。
  • 如果確實要撰寫:它只能針對資料庫錄製的安全性檢查所接受的目標(本機機器,或使用者命名為可拋棄的分支;aida doctor 會顯示哪些),使用相同的安全展示資料值,且應放在應用程式自身的種子工具中,而非逐步教學檔案內。

規則

  • 絕不在標記為唯讀的逐步教學步驟中,以副作用方式建立資料。如果逐步教學需要設定資料,請明確表示(使用 needs、setup:),而非隱藏狀態。
  • 絕不在已錄製的逐步教學中加入清理步驟。會移除資料的逐步教學需使用 clears 標示;重新執行時,其起始資料會透過冪等設定鉤子或資料庫重置恢復。

Token 規則

請參閱 references/tokens.md。小且精確:僅涵蓋該張卡片的資料結構,而非整個 schema 或應用程式。

Individual skills in this repo

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

相關技能