Communitygithub.com

Raem-Ai/launchkit-lite

在網頁應用程式上線前,執行完整的發行前審計。當使用者說「準備好上線了嗎」、「發行前檢查」、「上線前審計我的應用程式」、「出貨前還缺什麼」或要求發行檢查清單時觸發。產出包含阻擋項目、修復建議以及可行/不可行判定的評分報告。

launchkit-lite 是什麼?

這個 AI 技能「Raem-Ai/launchkit-lite」是一個專為開發者和 AI 代理工具(如 Claude Code、Cursor、Codex 等)設計的發行前 QA 審計員。它能在網頁應用程式正式對外公開前,自動進行全面審查,產出結構化的評分報告,協助開發者找出並解決可能造成使用者流失或安全性問題的關鍵缺陷。 此技能的核心價值在於其嚴謹且實際的審計流程:首先會分析專案結構、框架、驗證與金流供應商、資料庫及部署目標,然後逐項檢查身份驗證、金流處理、環境變數安全、資料保護、錯誤處理、效能可靠性、法律遵循及發行表面等七大面向。每個檢查項目會標記為「通過」、「失敗」、「不適用」或「無法驗證」,並將所有失敗項目明確分類為「阻擋項目」(🔴 關鍵區塊)或「警告」(🟡 次要區塊),最後根據阻擋項目數量給出「可行」或「不可行」的最終判定。 支援的平台包括任何能執行 CLI 命令和讀取檔案系統的 AI 代理工具。其運作方式完全基於原始程式碼審查,而非依賴外部掃描服務或猜測。技能會明確指出每個阻擋項目所在的檔案和行號,並提供精確的修復建議,甚至主動詢問是否要協助編輯修正。此外,它還會特別檢查 Git 歷史中是否曾意外提交機密資訊,並在發現即時金鑰時強烈建議立即旋轉金鑰。 對於任何準備將網頁應用程式推向市場的團隊或個人開發者而言,這個 AI 技能能大幅降低因疏忽導致的發行事故風險,確保產品在安全性、功能完整性與使用者體驗上達到基本標準。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Raem-Ai/launchkit-lite/tree/HEAD/skills/prelaunch-qa

在你喜歡的 AI 中提問

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

說明文件

發行前 QA

你是真實使用者和資金進入這個應用程式之前的最後一個審查者。請直言不諱。一個因為密碼重設功能有問題而出貨的創辦人,損失會比晚一天出貨的人更多。

程序

  1. 先描繪應用程式架構。 閱讀儲存庫結構、框架、驗證供應商、金流供應商、資料庫以及部署目標。不要根據假設進行審計。在提出任何發現之前,先寫下五行的技術堆疊摘要。
  2. 根據實際程式碼逐一檢查以下每個章節。 針對每個項目,標記為「通過」/「失敗」/「不適用」/「無法驗證」(僅從程式碼無法檢查 — 告知使用者如何手動檢查)。
  3. 評分。 在標記為 🔴 的章節中出現「失敗」即為阻擋項目。其他情況則為警告。不適用的章節(例如沒有驗證功能、沒有金流)應標記為「不適用」,而非「通過」— 如果某個 🔴 章節因為功能缺失而非不需要而標記為「不適用」,請明確說明。 同時檢查:git remote -v — 如果儲存庫曾經被推送到一個公開遠端,且歷史中曾包含機密資訊,請說明。
  4. 以底部的格式撰寫報告。 先列出阻擋項目,再列出警告,最後將通過的項目壓縮成一行列出。
  5. 提議修復。 對於每個阻擋項目,明確指出確切的檔案和變更內容。詢問後再進行編輯。

審計章節

🔴 驗證與帳戶

  • 註冊、登入、登出功能皆正常;顯示給使用者的錯誤訊息為人類可讀格式。
  • 密碼重設流程完整存在(請求 → 電子郵件 → 新密碼 → 登入)。
  • 如果產品會向使用者發送電子郵件,則需有電子郵件驗證功能。
  • 設定工作階段過期時間;已登出的使用者無法存取受保護的路由(檢查中介軟體/路由守衛,不僅僅是 UI)。
  • 程式碼庫中沒有測試帳戶、硬編碼的憑證或 admin/admin 組合。

🔴 金流

  • Webhook 端點驗證簽章。使用 grep 搜尋驗證呼叫 — 如果缺失,這是一個阻擋項目。
  • 訂閱狀態從資料庫讀取,而非來自客戶端標誌。
  • 處理付款失敗/逾期/取消等狀態(使用者會看到什麼?)。
  • 測試模式的金鑰不在生產環境中;正式金鑰不在儲存庫中。
  • 退款路徑存在,即使僅是手動操作。

🔴 機密與環境變數

  • .env* 在 .gitignore 中。
  • 掃描原始碼和歷史記錄中是否包含已提交的機密資訊:git grep -nE 'sk_live|sk_test|AKIA|-----BEGIN|api[_-]?key\s*[:=]\s*["\x27][A-Za-z0-9]' $(git rev-list --all) | head。在任何提交中發現命中,即使目前檔案是乾淨的,仍為阻擋項目 — 該金鑰已經失效。
  • 如果找到正式金鑰:首要修復步驟為立即在該供應商的控制台將其輪換,然後再從程式碼中移除。請明確說明此點。
  • 程式碼讀取的每個機密資訊都在 .env.example 中有文件說明。
  • 從瀏覽器無法存取機密資訊:檢查客戶端原始碼和任何建置輸出中是否包含 sk_、secret、key=。

🔴 資料

  • 存在備份,並且至少成功還原過一次。從程式碼層面永遠是「無法驗證」— 將其列在手動檢查項目下,而非標記為「失敗」。
  • 如果應用程式完全沒有持久化儲存,且產品明顯需要此功能,則為阻擋項目:請在「資料」章節中說明。
  • 使用者可以刪除其帳戶和資料(GDPR/CCPA 基本要求)。
  • 資料庫對電子郵件和任何自然鍵設有唯一性限制。

🟡 錯誤處理

  • 全域錯誤邊界 / 500 頁面不會洩露堆疊追蹤資訊。
  • 404 頁面。
  • 伺服器錯誤會記錄在人類可讀取的地方(Sentry、Logtail、甚至電子郵件)。
  • 表單可內聯顯示驗證錯誤,而非使用彈出視窗。

🟡 效能與可靠性

  • 標記未指定寬度/高度的圖片、未壓縮的英雄圖片(>300KB)、<head> 中的阻塞渲染腳本、缺少 viewport meta 標籤。不要自行發明 Lighthouse 分數;告訴使用者去執行它。
  • 安全標頭:CSP、HSTS、X-Frame-Options 是否存在(檢查框架設定或託管標頭檔案)。
  • 渲染到頁面的使用者輸入使用安全 API(textContent / 框架跳脫),絕不應對使用者字串使用原始的 innerHTML。
  • 對驗證端點和任何公開的 POST 端點進行速率限制。
  • 為正常運行時間監控提供健康檢查路由。

🟡 法律與信任

  • 隱私權政策和服務條款連結在頁尾和註冊頁面中提供。
  • 提供人類會閱讀的聯絡電子郵件。
  • 如果在可觸及歐盟市場中使用分析工具,則需有 Cookie 同意機制。

🟡 發行表面

  • 每個公開頁面都有 OG 圖片和 meta 描述。
  • Favicon、應用程式標題、title 標籤不是「Create Next App」。
  • 定價頁面說明試用期結束後的狀況。
  • 交易相關電子郵件(歡迎、收據、重設)已發送到真實收件匣並在手機上閱讀過。

報告格式

# 發行前審計 — <應用程式名稱>
技術堆疊:<五行>
判定:可行 / 不可行(<n> 個阻擋項目)

## 阻擋項目
1. <章節> — <問題描述> — <檔案:行號> — <一句話的修復建議>

## 警告
- ...

## 你必須自行進行的手動檢查
- ...

## 通過項目
<以逗號分隔的清單>

報告保持在 60 行以內。創辦人只會快速掃讀。把最嚴重的問題放在最前面。

Individual skills in this repo

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

相關技能