Community程式設計與開發github.com

choism4/oh-my-demo

建立真實、可重複的產品示範,直接在實際應用分支中運作。

oh-my-demo 是什麼?

Oh My Demo 是一個 AI 代理技能,旨在幫助開發者錄製真實、可重複的產品示範,無需後製。它將技能視為主機應用程式的排練與設定層,而非模擬應用產生器。透過準備起始狀態、操作提示、節奏、宣告的測試數據以及重置路徑,使用者可以一鏡到底錄製完整操作流程,無須事後剪輯失敗片段。此技能支援 Python CLI,可與任何主機應用程式整合,並強制要求專用示範分支、80% 以上的真實權重、人類觸發每個階段,以及嚴格的安全合約,防止副作用。它特別適用於需要展示產品真實行為的場合,例如銷售示範、教學或驗收測試。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add choism4/oh-my-demo

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

Oh My Demo

一鏡到底錄製真實應用。跳過後製。

將此技能視為主機應用程式的排練與設定層,而非模擬應用產生器。準備起始狀態、操作提示、節奏、宣告的測試數據以及重置路徑,讓使用者可以按下錄製並完成操作解說,無須在事後剪輯失敗片段。保留生產環境 UI、導航、指令、本地狀態以及可用的商業邏輯。僅替換最少量的緩慢、昂貴、遠端、不穩定或未完成的邊界,以確保錄製可靠。

預設流程

將 SKILL_ROOT 解析為包含此檔案的目錄,然後使用 python3 "$SKILL_ROOT/scripts/oh_my_demo.py" 執行捆綁的 CLI。

  1. 檢查儲存庫、其測試框架、現有測試數據以及要錄製的確實使用者可見路徑。在進行任何變更前,檢查 git 狀態及相關差異。

  2. 建立專用分支或隔離的工作樹。切勿將僅供示範使用的測試數據替換放在生產分支上。

  3. 初始化專案套件:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" init . --name product-tour
    
  4. 在 .oh-my-demo/manifest.json 中建立真實帳本。將每個宣稱分類為:

    • real:可見應用執行其生產實作。
    • simulated:宣告的邊界回傳確定的測試數據。
    • operator:錄製輔助功能,例如文字填入、節奏或重置;請勿將這些便利功能納入真實百分比。
  5. 保持加權真實份額在 80% 以上。當模擬的頭條功能會超出預算時,減少宣稱或實作更多真實路徑。請勿操作權重來隱瞞。

  6. 盤點每個輸入、參考、測試數據、結果和基準。將示範資源複製到 .oh-my-demo/ 或其他清單根目錄下,而不是綁定到操作者機器的特定絕對路徑。對於大型媒體,選擇 Git LFS 或經過校驗鎖定的驗證構件套件,並在預檢前將其在本機具體化。

  7. 為可見控制項提供穩定的語義目標。優先使用無障礙 ID、測試 ID 或主機註冊表,而非產生的 CSS 選擇器或座標。

  8. 僅新增最少量主機適配器來播種狀態、恢復基準或滿足生產邊界合約。將產品特定的名詞保留在可重複使用的清單執行時期之外。

  9. 將錄製建模為狀態感知、明確觸發的階段。集中管理打字間隔、可讀的載入時間、漸進式揭示以及視口調整。在沒有人類觸發的情況下,絕不推進到下一個敘述階段。

  10. 在開啟應用前執行診斷並失敗關閉:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" doctor .
    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" status .
    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" check . --record
    
  11. 以敘述速度排練通過真實的可見應用。在推進前,驗證待處理狀態、結果揭示、累積的變異、音訊/視訊連結以及視口反應。

  12. 重置並重複相同的錄製至少兩次。至少包含一次人工操作;僅靠自動化無法證明觀眾能感知行為。

  13. 將證據綁定到確切清單並進行驗證:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" prove .
    
  14. 執行聚焦的生產禁用檢查。確認示範啟動預設為關閉,且正常建置不會靜默解析測試數據。

  15. 報告三個獨立列表:真實行為、模擬邊界以及操作者便利功能。僅針對模擬的產品宣稱提交後續產品工作,而非示範控制項。

內建介面

將 CLI 用作確定性的主幹:

  • init:建立 .oh-my-demo/manifest.json、evidence.json 和 fixtures/。
  • doctor:診斷 Python、git 工作樹、分支、清單、媒體工具以及明確啟動。
  • status:顯示加權真實預算和模擬邊界。
  • check:預檢分支、基準修訂版、資產、雜湊、媒體持續時間、尾隨範圍、旋轉元資料、Unicode 路徑以及測試資料連結。
  • prove:需要兩次重置並重播、一次人類可見的操作者通行、清單摘要綁定以及生產禁用隔離。

使用技能的推理來檢查和修改主機應用。請勿假裝 CLI 可以自行實作框架特定的適配器。

執行時期合約

保持可重複使用的動作詞彙表簡潔:

focus、set-value、type-text、click、submit、navigate、wait、resolve-fixture、repeat、reset、assert 和 invoke-adapter。

將領域操作對應到主機擁有的適配器。畫布編輯、資料庫播種、時間軸插入、手機手勢或 TUI 指令仍然是 invoke-adapter;主機實作擁有其真實類型和行為。

對於文字欄位,解析宣告的文字目標或焦點符合條件的元素,拒絕敏感欄位,聚焦該欄位,透過框架的受控狀態路徑進行更新(當可用時),並且僅在明確要求時才提交。

安全合約

  • 需要明確的執行時期啟動和專用示範分支。
  • 每個錄製階段都需要人類觸發。
  • 禁止從階段流程中進行即時發布、傳訊、計費、收費或其他遠端副作用。
  • 絕不繞過身份驗證、授權、模型政策、令牌會計、簽署或發布檢查。
  • 絕不填入密碼、令牌、付款資料、恢復碼或類似秘密的欄位。
  • 僅重置清單宣告的狀態或主機擁有的版本化快照。絕不針對主目錄、儲存庫根目錄、未解析的變數、萬用字元或宣告根目錄之外的路徑。
  • 將測試數據視為僅證明消費者路徑,絕非證明其遠端生產者有效。
  • 僅在與產品宣稱無關時隱藏除錯 chrome。絕不隱藏與告訴觀眾的事實相關的資訊。

參考路由

在決定技能、CLI、專案套件和主機適配器如何分配責任時,請閱讀 references/distribution.md。

在建立或擴充 .oh-my-demo/manifest.json 時,請閱讀 references/manifest-schema.md。

在實作主機適配器、測試數據邊界、重置路徑或文字欄位整合之前,請閱讀 references/adapters-and-safety.md。

在第一次完整執行之前、錄製失敗之後或當變異成功但無法感知時,請閱讀 references/rehearsal.md。

在宣稱示範可重複或填入 .oh-my-demo/evidence.json 之前,請閱讀 references/evidence-schema.md。

完成閘門

在以下所有條件成立之前,請勿將設定標記為完成:

  • doctor、status 和 check 在專用示範分支上通過;
  • 加權真實份額至少為 80%;
  • 每個模擬宣稱都有來源、狹義的注入點、其生產等效項以及可見的斷言;
  • 重置能恢復兩次相同的初始狀態;
  • 至少一次人工操作的排練在敘述速度下是可感知的;
  • prove 通過最終清單摘要的驗證;
  • 確認示範模式在生產路徑中已停用。

相關技能