Communitygithub.com

AlemTuzlak/skills

當使用者執行 /prove-it 或要求驗證變更、在瀏覽器中顯示,或要求證明 UI/API 變更時使用。除非使用者明確要求,否則不要僅因為代理即將完成工作、僅處理類型變更、或僅有未涉及行為的文件而使用。

skills 是什麼?

「Prove It」技能強制 AI 代理透過實際操作來驗證 UI 或 API 變更,而非僅以測試通過或截圖作為證據。其目的在於確保開發人員獲得有意義的驗證,例如 Web UI 的點擊、輸入與導航流程,或透過 cURL 腳本與範例應用程式驗證 API 端點。此技能僅在使用者明確觸發(例如透過 /prove-it 命令或口頭指示)時才載入,不會自動在任務完成時觸發。支援多種平台,包括瀏覽器型驗證(使用現有開發指令)與 API/伺服器型驗證(使用 cURL 或現有範例)。實作內容包含詳細分類程序(UI、伺服器/API、或兩者)、嚴格的選項要求(不允許未經使用者同意新增套件或啟動全新應用程式),以及選用的截圖報告功能(寫入 .agent/scratch/prove-it.md)。定義多項硬性門檻,例如不允許僅以簡單截圖作為證明、結束前必須終止伺服器處理程序,以及若跳過驗證則不能宣稱變更成功。此技能包含完整的決策樹與常見錯誤處理防禦機制,非常適合需要嚴格、實證性變更驗證的工作流程。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AlemTuzlak/skills/tree/HEAD/skills/prove-it

在你喜歡的 AI 中提問

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

說明文件

請證明

以使用者實際使用的方式來證明變更。不要未經證明就宣稱它有效。

此技能不會在「完成」時自動載入。使用者必須提出要求。它不會載入其他技能。

使用時機

當使用者執行下列動作時載入:

  • 執行 /prove-it
  • 說出「證明它」、「證明變更」、「在瀏覽器中顯示」,或表達相同意圖(包括在第一則訊息中)

如果使用者未提出要求,請跳過。跳過僅處理類型變更、註解、鎖定檔案、以及不涉及行為的文件。

硬性門檻

  1. 使用者必須提出要求。 如果使用者沒有要求證明,則此技能不執行。
  2. 除非此技能實際驗證成功,否則不可宣稱「有效」、「已完成」或「已修復」。 跳過即表示未經證明。
  3. 單一畫面的截圖不構成證明。 必須進行點擊、輸入、提交、導航等操作。
  4. 不得新增任何套件、依賴項、範例應用程式或瀏覽器執行器,除非使用者自行選擇該選項並表示同意。
  5. 在此技能結束前,停止所有由此技能啟動的伺服器。 請勿讓 dev / preview 保持運行。

UI 與 伺服器

  • UI(頁面、元件、路由、表單、可視狀態):在瀏覽器中證明。
  • 伺服器 / API / 無畫面的函式庫: 詢問如何證明。請勿自行默默選擇。
  • 兩者兼具: 在瀏覽器中證明 UI,並詢問如何證明伺服器部分。

程序

程序 1:分類

  1. 列出所有表面:UI、伺服器/API,或兩者兼具。
  2. UI → 程序 2。
  3. 伺服器/API → 程序 3。
  4. 兩者兼具 → 先執行程序 2,再針對 API 執行程序 3。

程序 2:瀏覽器 (UI)

  1. 如果應用程式未在運行,僅啟動現有命令(dev、preview 或儲存庫文件中定義的啟動指令)。如果沒有任何現有命令,請表示無法證明 UI。提供跳過選項,或由使用者自行啟動應用程式。
  2. 像使用者一樣使用它:
    • 點擊、輸入、提交、導航
    • 檢查共用此狀態的每個路由/頁面
    • 如果此變更涉及空狀態或錯誤 UI,也需檢查
    • 如果佈局或 CSS 有變更,需檢查桌面與窄視口
  3. 不僅要找快樂路徑,更要尋找可能出現的錯誤。
  4. 在聊天中說明你做了什麼以及看到了什麼。請勿未列出步驟就說「看起來沒問題」。
  5. 如果此技能啟動了步驟 1 中的處理程序,請將其停止。
  6. 程序 4。

程序 3:詢問(伺服器 / API)

  1. 暫停。提出 2–3 個選項。將最合理的第一個選項放在最前面。始終包含跳過。
    • 現有的範例 / 練習場 / 示範
    • 使用新 API 的範例應用程式(僅在使用者確認位置及任何新的套件/依賴項之後)
    • 針對運行中伺服器的 curl 或小型指令碼
    • 跳過
  2. 等待。在他們做出選擇之前,請勿建置或執行。
  3. 如果是跳過: 表示未經證明。請勿宣稱有效。停止(不執行程序 4)。
  4. 如果是現有練習場: 執行它,然後如果它包含 UI,在瀏覽器中證明;如果是指令碼,則顯示命令輸出。
  5. 如果是範例應用程式: 詢問位置。優先使用現有範例。除非使用者同意,否則不要新增套件或依賴項。然後執行並證明。
  6. 如果是 curl/指令碼: 執行它。引用退出碼以及輸出中能夠證明主張的部分。
  7. 程序 4。

程序 4:可選報告

  1. 在實際證明之後,詢問:是否要撰寫截圖報告?預設為否。
  2. 如果否:停止。聊天記錄中已有證據。
  3. 如果是:寫入 .agent/scratch/prove-it.md(覆蓋)。如果缺少 .agent/scratch/,將其加入 .gitignore(與其他暫存檔案相同)。包含點擊了什麼以及截圖。開啟該檔案。請勿提交它。
  4. 跳過證明 → 不產生報告。

程序 5:停止

在證明或跳過之後,停止。請勿從此技能開始與證明無關的工作。

決策樹

  • 使用者未要求證明 → 此技能不適用。
  • UI → 程序 2 → 4 → 5。
  • 伺服器/API → 程序 3 → 4 → 5(跳過則在程序 3 結束)。
  • 兩者兼具 → 先執行 2 再執行 3,然後執行 4 → 5。
  • 沒有啟動指令且應用程式未運行 → 表示無法證明 UI。使用者選擇跳過或自行啟動。
  • 使用者選擇跳過 → 未經證明。不得宣稱成功。

紅旗信號

信號意義應採取的行動
因為測試通過而說完成此技能未被要求,或證明被跳過僅在執行程序 2 或 3 後才能宣稱已證明。
一張截圖,沒有點擊非使用者路徑程序 2 步驟 2。
在他們選擇之前就建置 examples/foo未經詢問的應用程式程序 3。等待。
新增 Playwright / 新伺服器新的依賴項僅使用現有啟動指令。
讓 pnpm dev 持續運行監視器未被關閉硬性門檻 5。
「跳過,但有效」將跳過轉變為主張表示未經證明。
將報告檔案放在 docs/產品文件.agent/scratch/prove-it.md。
在使用者說不時開啟報告未經詢問的檔案程序 4 預設為否。
僅證明新公開 API 的頁面默默跳過伺服器部分對 API 執行程序 3。

錯誤處理

  • 沒有瀏覽器工具: 表示此處無法證明 UI。提供跳過選項,或由使用者在等待 URL 時自行點擊。請勿偽造截圖。
  • 啟動指令失敗: 引用錯誤訊息。請勿宣稱 UI 有效。提供跳過或修復選項,然後再次證明。
  • 證明失敗(點擊出現錯誤行為,curl 未回傳 200):表示未經證明。指出失敗的項目。請勿宣稱完成。
  • 使用者選擇範例應用程式但拒絕新增套件: 使用 curl、現有範例或跳過。請勿仍擅自新增套件。
  • 寫入暫存檔案失敗: 將證明保留在聊天記錄中。表示報告檔案未被寫入。

無須參考其他內容。聊天記錄為預設證據。Markdown 檔案為可選項。

Individual skills in this repo

This repo contains 14 individual skills — each has its own dedicated page.

AlemTuzlak/skills

Use when the user wants to write a blog post about a feature, product change, PR, git diff, or any technical topic - accepts marketing briefs, PRs, git refs, codebase paths, or freeform descriptions as input

AlemTuzlak/skills

Use when the user wants to generate a changelog, release notes, or document what changed between versions, tags, or PRs

AlemTuzlak/skills

Use when writing, editing, or organizing documentation, when planning what docs a feature needs, and whenever planning or implementing a new feature or change in a repo (docs ship with the code). Also use when tempted to write docs without showing the discovered readers to the user, without asking for tone, or without loading simple-english and i-have-adhd. Triggers on "write docs for X", "document this feature", "add a guide", "update the docs", "reorganize the docs", "plan feature X", "implement X", or /docs.

AlemTuzlak/skills

Use when a bug is in play: a test fails, CI is red, an API returns the wrong result, a stack trace appears, or the user says it is broken or fix this. Don't use for a new feature with no failure, for types-only work, or for docs.

AlemTuzlak/skills

Use when the user invokes /i-have-adhd, says they have ADHD, or asks for ADHD-friendly output. Also used as a required writing filter by the docs skill. Don't use for marketing copy or after the user says "stop adhd mode" or "normal mode".

AlemTuzlak/skills

Use when a settled change must be turned into an ordered stack of small blocks before anyone implements. Don't use for unsettled intent, typos, comments, formatting, docs-only work, or writing the implementation itself.

AlemTuzlak/skills

Use when the user wants to write a product update email, feature announcement newsletter, or digest email for users or subscribers

AlemTuzlak/skills

Use when the user wants to turn a raw talking-head / screen-share recording into a finished, edited, annotated video plus a full content package. Removes silences, flags mistakes for the user to cut, transcribes, adds transcript-synced overlays (code, on-screen code highlights, word highlights, lists, comparisons, diagrams, section labels, punch-in zooms), renders with original audio, then generates blog/socials/YouTube content. Triggers on "produce a video", "edit my video", "annotate my recording", "/produce-video".

AlemTuzlak/skills

Use when the user wants to write, draft, or author an RFC (Request for Comments) / technical design doc for a feature, change, or architectural decision. Interactively interviews the user, grounds the proposal in the actual codebase, presents 2-3 concrete API/code-snippet approaches to choose from, then writes a review-ready RFC. Triggers on "write an RFC", "draft an RFC", "RFC for X", "design doc for X", or /rfc.

AlemTuzlak/skills

Use when the user wants to deeply learn a new topic from scratch. Runs a pre-interview (current knowledge, end-goal proficiency, depth, practice load, background, scope), researches online (articles, niche-influencer blogs, canonical docs, subtopic landscape), then produces a structured markdown course with mandatory visual diagrams, evidence-based learning-science features (retrieval practice, spaced callbacks, worked-example fading, concept ledger, jargon gate, analogy hygiene), and a self-contained interactive HTML mini-course. Triggers on /teach-me, "teach me about X", "I want to learn X", "deep dive on X", "create a course on X", "study X with me".

AlemTuzlak/skills

Use when the change intent is already settled and the agent must map what a behavior change touches before an implementation plan or any code. Use for new features, bug fixes, and refactors that move a boundary. Don't use for typos, comments, formatting, lockfile-only diffs, docs with no code, or while the user is still deciding what they want.

AlemTuzlak/skills

Use when the user wants to transcribe a video or audio file to text with word-level timestamps — spins up a self-contained local Whisper (whisper.cpp) Docker service bundled in this skill and returns transcript.txt, transcript.srt, and word-level transcript.words.json. Also used as a building block by /produce-video. Triggers on "transcribe this video", "get a transcript", "transcribe-video".

AlemTuzlak/skills

Use when the user wants to write a video script for a product demo, feature walkthrough, launch video, or social media video about a feature or product change

AlemTuzlak/skills

Use when the user wants YouTube metadata for a video — a click-worthy title, an SEO/above-the-fold description, tags, and timestamped chapters. Accepts a transcript (ideally timestamped SRT), a topic, a PR, or a freeform description. Used standalone and by /produce-video. Triggers on "youtube title", "youtube description", "youtube chapters", "youtube tags", "youtube metadata", "youtube-copy".

相關技能