Communitygithub.com

等候名單入口網站

設計並建立等候名單入口網站,用於預期商品或服務:分類體驗是否需要興趣收集、驗證的早期存取、推薦成長、虛擬等候室、預約填補或稀缺物品分配;選擇可逆架構;並定義狀態機、濫用控制、同意與電子郵件生命週期、公平性、可觀測性及發佈閘門。可選擇使用到期魔法連結或提供者管理的驗證來驗證提供的電子郵件和電話聯絡資訊,然後將符合資格且已同意記錄饋送至執行階段設定的CRM適配器。適用於預啟動註冊、Beta存取、產品發布、預約、預訂、流量高峰佇列以及高級或電影式行銷活動體驗。請勿用於一般的登陸頁面文案、常規CRM或電子郵件操作,或單獨的結帳和庫存系統;應將這些部分交由適當的專家技能處理。

等候名單入口網站 是什麼?

此技能旨在幫助開發者與AI代理設計、評估並實作等候名單入口網站,將模糊的「我們需要一個等候名單」需求,轉化為誠實的產品承諾、適當的系統邊界以及可建構的交付計劃。它核心區分了興趣收集、驗證早期存取、虛擬等候室與預約填補等不同情境,並引導使用者從六個核心模式中選擇最精確的一種,以避免常見的設計陷阱。技能支援多種平台(如Vercel Node.js、Neon Postgres、Twilio SendGrid)並提供可選的CRM適配器(如HubSpot),預設採用靜態HTML、Alpine.js與Vite的輕量技術棧。透過明確的狀態機定義、濫用控制、同意生命週期與資料合約,此技能確保系統的公平性、可觀測性與擴充性,非常適合用於產品預啟動、Beta測試、限量商品發售、活動預約及流量高峰管理等場景。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/magnus919/agent-skills/tree/HEAD/waiting-list

在你喜歡的 AI 中提問

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

說明文件

等候名單入口網站 是做什麼的?

使用此技能將「我們需要一個等候名單」轉化為誠實的產品承諾、適當的系統邊界以及可建構的交付計劃。感興趣的人員列表、公平的服務順序、流量閘門和預約是不同的東西。永遠不要讓精美的登陸頁面默默地決定語義。

何時載入

當使用者正在設計、審查、實作或比較用於早期存取、產品發布需求、稀缺商品、預約、會員資格、活動、Beta計劃或高流量入場的入口網站時,請載入此技能。

何時不該使用

  • 僅針對文案、視覺設計、SEO或無障礙性,請使用相關的前端或內容技能,並僅在涉及列表行為時引入此技能。
  • 針對一般API、資料庫、電子郵件、安全性或支付實作,請使用對應的專家技能;此技能僅提供等候名單特有的合約和故障模式。
  • 針對即時等候室供應商或佇列資料儲存,請閱讀其目前的官方文件。此技能是一種設計方法,不能替代供應商操作手冊或法律建議。
  • 針對獨立的CRM遷移或電子郵件/SMS行銷活動,請使用對應的整合技能。僅當CRM是等候名單驗證聯絡人生命週期的下游時,才載入此技能。

核心工作流程

預設姿態與行銷人員體驗

對於新的行銷等候名單,請使用一個靜態HTML頁面、Alpine.js(CSP建置)、Vite打包、自訂CSS、基於Vercel Node.js執行環境的TypeScript API函式,以及受管理的Neon Postgres。使用Twilio Verify驗證碼進行電子郵件(搭配SendGrid)和可選的SMS驗證;透過伺服器端執行階段設定使CRM可選擇。避免使用Python後端和Rails。Go或Rust則是在既有託管或需求允許的情況下,作為明確的替代方案。這些是預設值,而非替換現有正常整合的理由。

在開始建置或部署前,請先閱讀 references/default-stack.md。它定義了供應商姿態、Vercel限制、儲存庫形狀、工作者執行和逃脫機制。對於所有新的入口網站,請閱讀 references/brand-and-marketer-workflow.md:收集行銷活動簡報、品牌指南、標誌、參考圖片和可選影片;在連接正式環境之前顯示品牌預覽。使用 templates/campaign-brief.md 作為白話的輸入範本。代理程式會填寫技術記錄;請不要要求行銷人員選擇ORM、框架、重試演算法或資料庫架構。 對於高級、電影式、動態豐富或參考主導的行銷活動,也請閱讀 references/engagement-and-visual-system.md 並記錄其相關的體驗簡報、備援、效能和視覺測試決策。將參考網站視為可觀察互動原則的來源,而非複製其品牌、資產、原始碼、版面、稀缺性語言或產品聲稱的許可。 對於行銷活動的主視覺、產品場景和編輯插圖,請使用經核准的提供資產或原創圖片生成藝術品。在發佈前預覽生成的藝術品以獲得核准。除非使用者明確要求此類美學,否則請勿使用CSS形狀或漸層、內聯SVG繪圖、Canvas草圖、表情符號、ASCII或圖示拼貼來替代行銷活動藝術品。當幾何圖形本身就是資訊時,例如圖表、圖解、控制項和狀態指示器,程式化圖形仍然是合適的。 使用 templates/campaign-config.example.json 作為伺服器端設定範例;其未設定的正式環境選擇必須在啟用即時發送前解決。

預設行銷活動:需要電子郵件確認的電子郵件興趣收集,關閉電話收集,關閉推薦,不顯示排名,不暗示預約,CRM等待連接。如果在未指定互動的情況下啟用SMS,則偏好受管理的OTP。明確的SMS魔法連結需求會覆蓋此預設值;請保留它並解釋提供者能力的限制。

此技能在實作入口網站時可以建立部署和發送訊息。在執行前請確認目標、範圍和回滾路徑。唯讀探索可以無需確認地進行。使用既有的授權(如果已涵蓋這些細節);首先準備本地工件和預覽。絕不要將模擬表單描述為收集真實註冊資訊。

1. 在選擇技術之前先寫下承諾

用白話回答以下問題:

  1. 加入意味著什麼:興趣、排隊位置、邀請資格、抽籤機會,還是服務時段請求?
  2. 如果有任何保證,那是什麼?明確說明加入並不等於保留庫存、付款優先權、預約或入場,除非有單獨的已確認動作這樣做。
  3. 什麼事件會推動人員前進:驗證、容量、預定發佈、取消、分數、推薦、抽籤,還是營運者決定?
  4. 哪些聯絡證明是可選的、必需的或不存在?已驗證的電子郵件或電話實際上授權了什麼、多長時間,以及當邀請過期、人員取消訂閱或重複出現時會發生什麼?
  5. 在發佈時必須滿足什麼條件:峰值到達數、可接受的損失、公平規則、地區、可及性、語言、資料駐留、整合和回滾路徑?

將假設記錄為假設。當營運者可能根據細分或適合度進行選擇時,請勿使用「當前位置」;改稱之為興趣列表或估計排名。

2. 選擇一個主要模式

使用能使承諾成真的最小模式。僅在邊界和轉換明確時才組合模式。

模式記錄系統良好預設主要陷阱
興趣列表關聯式資料表、CRM或ESP靜態/SSR頁面加上伺服器端表單端點和非同步電子郵件這不是佇列;不要顯示虛構的位置
已驗證早期存取佇列資料庫加上事件/發件匣記錄獨特計畫 + 正規化聯絡人,適當時雙重選擇加入,邀請狀態已驗證的電子郵件並非人員或購買的證明
推薦優先權資料庫事件分類帳不可變的到達金鑰加上已驗證的推薦事件和版本化政策自我推薦、購買流量和「病毒式」聲稱可能會破壞公平性
虛擬等候室邊緣/閘道加上持久佇列已簽署的入場令牌、Cookie持續性、原子入場、有界輪詢入場到頁面並非庫存授權或結帳序列化
預約填補排程/容量服務將人員與已釋出的時段、偏好和到期視窗匹配全域FIFO佇列可能不公平或操作上無用
配額、抽籤或預購庫存/支付/分配服務分離資格與配額、預約、支付和履行將配額稱為「等候名單」會隱藏超賣和退款義務
無頭/嵌入式API獨立API和事件邊界具有範圍憑證、CORS、冪等性和Webhook的公開寫入合約瀏覽器持有的祕密並非伺服器祕密

對於簡單的預啟動頁面,請從興趣列表模式開始。對於發佈日的流量高峰,請從虛擬等候室或邊緣產品開始。對於稀缺資源是真正問題的產品或服務,請先設計庫存或排程邊界,然後將列表附加到其上。

在比較模式、建模規模或決定是否需要佇列、推薦迴圈、預約或供應商時,請載入 references/architecture-patterns.md。

3. 定義狀態機和資料合約

在實作時,請閱讀 references/implementation-contract.md 以了解具體的端點、持久性、驗證、CRM和故障合約。

使用不透明ID,並將聯絡資料排除在URL、日誌、分析標籤和公開排名頁面之外。一個有用的基準是:

已提交 -> 驗證待處理 -> 活躍 -> 已邀請 -> 已領取
                                  \-> 已抑制/已移除
已邀請 -> 已過期

對於等候室,使用單獨的佇列/入場狀態:

已識別 -> 已排隊 -> 已入場 -> 已消耗
                     \-> 已放棄/已過期

如果入口網站驗證聯絡人,請獨立建模每個管道,而不是使用一個過載的 verified 標誌:

電子郵件:未請求 -> 已發送 -> 已點擊/已驗證 | 已過期/已撤銷
電話:未請求 -> 已發送 -> 已點擊/已驗證 | 已過期/已撤銷

「已驗證」意味著在指定的方法和時間戳記下,管道的證明已被接受。它不證明法律身份、提供的人員擁有該帳戶、該號碼適用於行銷,或該聯絡人將保持準確。當涉及聯絡證明或CRM交付時,請載入 references/contact-verification-and-crm.md。

對於每個轉換,定義參與者、前置條件、副作用、重試行為、審計事件和對使用者可見的訊息。至少儲存:

  • program_id、不透明的 entry_id、created_at 和穩定的打破平局金鑰;
  • 已正規化聯絡人的唯一性,附帶記錄的正規化版本和受保護的原始資料;如果引入金鑰查詢雜湊,請規劃金鑰輪換;
  • 同意目的、來源/UTM歸因、驗證和抑制時間;
  • 明確狀態、政策/版本識別碼、邀請/領取到期時間,以及僅用於選擇或服務匹配所需的屬性;
  • 推薦代碼所有權和推薦事件(如果啟用);切勿從可變的用戶端狀態推斷計數;
  • 每個管道的驗證方法、證明ID、verified_at、到期/撤銷以及同意目的;請勿儲存原始令牌;
  • CRM同步狀態、對應/版本、提供者記錄ID、冪等性金鑰和最後錯誤;將其保留為整合狀態,而非等候名單的真實來源;
  • 僅附加的審計/事件記錄,用於狀態變更和對外影響。

使用冪等性金鑰或資料庫唯一性約束,使 POST 可以安全地重試。有目的地定義重複行為:對於已知的聯絡人,通常返回通用成功,以使端點不成為電子郵件列舉預言機。除非排序和可見性規則使該聲明為真,否則不要將原始行數公開為個人位置。

4. 建構正常請求路徑

預設路徑是:

頁面 -> 伺服器端點 -> 驗證/正規化 -> 濫用閘門 -> 持久寫入
     -> 排入通知佇列 -> 通用回應
                                      \-> 工作者/提供者 -> 交付事件

在伺服器端進行驗證。應用分層控制:結構描述和長度限制、同源表單的CSRF保護、無頭用戶端的嚴格CORS、每個IP和每個聯絡人的速率限制、蜜罐或時間訊號,以及針對高風險流量的機器人挑戰。如果使用Turnstile,伺服器必須呼叫Siteverify;僅憑瀏覽器令牌是不夠的。在針對所選提供者和故障模式進行測量之前,請勿承諾特定的延遲時間,例如「低於200毫秒」。

交易性地或透過持久發件匣寫入條目和通知意圖。使工作者可重試,並使對外Webhook具有冪等性。保持同步回應簡短,但不要在提供者不可用時默默地丟失電子郵件意圖。

當清單品質、同意證明或打字錯誤抵抗力很重要時,請使用雙重選擇加入;明確說明未驗證記錄的權限和保留期限。將交易性的驗證/邀請郵件與行銷更新分開,尊重抑制和取消訂閱狀態,驗證發送網域,並處理退信和投訴。請載入 references/operations-and-abuse.md 以了解詳細的控制檢查清單。

如果啟用了CRM交付,請僅在設定的資格閘門之後才將其排入佇列——通常是活躍的聯絡驗證和相關的同意。僅對應已核准的欄位,使用伺服器端憑證,並使適配器可重試且具有冪等性。CRM故障不得阻止確認持久的本地註冊,也不得默默地丟失本地記錄;它應留下可見的同步狀態和可恢復的發件匣項目。

5. 使排名和入場誠實

對於FIFO,在持久的原子操作中僅分配一次到達/打破平局金鑰。對於細分、評分、推薦或抽籤,請發佈選擇規則、輸入、政策版本以及結果是保證、估計還是自由裁量的。從持久的事實重新計算衍生排名;不要讓用戶端提交 referrals_count、position 或 priority。

對於推薦疊加:

  • 產生不可猜測、可撤銷的代碼,並將其視為歸因令牌,而非授權;
  • 僅在所需的驗證和去重視窗之後計算符合資格的下游條目;記錄點擊和轉換;
  • 防止自我推薦和明顯的自動化,限制影響,並保留原始佇列金鑰,以便可以更改或移除政策;
  • 顯示明確的好處,並在競爭事件可能改變排名時顯示範圍/估計。在將商業獎勵與轉發或推薦掛鉤之前,請取得法律和政策審查。

對於虛擬等候室,請在可能的情況下使用本地驗證的簽署入場令牌、Cookie/會話持續性、原子佇列轉換、抖動輪詢,以及深思熟慮的故障開放與故障關閉決策。故障開放可能會保護行銷預覽的可用性;但作為稀缺庫存的唯一控制手段是不安全的。下游的預約、結帳或分配服務仍需其自身的冪等性和並發控制。

6. 設計使用者和營運者介面

公開流程應說明加入意味著什麼(見步驟1),在沒有允許的情況下不得承諾排名、時間或結果,並…

Individual skills in this repo

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

相關技能