問題: 一律透過環境的提問工具向使用者提問 — 絕不要以純文字段落形式提問。一次只問一個問題,提供 2–4 個可點選的選項,等待回答。如果環境沒有提問工具,則以散文形式提出相同選項,一次一個。
網站上線檢查清單
用於發布新網站的上線前稽核與設定工作流程。專為 Cloudflare DNS + Vercel 託管 + PostHog + 法律情境進行最佳化。
互動風格(請先閱讀)
此技能刻意設計為互動式。主動提問而非假設。使用者會點選,而非輸入。
每次執行開始時,請務必依序詢問這些問題:
- 網站類型:
doc-site|marketing/lead-gen|SaaS-app|training/paid-course|personal-portfolio - 遷移:
greenfield-new-domain|migration-need-301-redirects|replacing-existing-on-same-domain - 多語言:
single-locale|en|fr+en|other-multi - PostHog 設定:
hogpost.samber.dev|set-up-new-proxy|skip-PostHog - AI 爬蟲政策:
use-default-for-site-type|customize-per-bot|block-all - 瀏覽器工具可用性:
claude-chrome-extension|playwright|neither-skip-browser-checks
在整個階段的每個決策點再次詢問,包含:
- 是否要安裝 Sentry / BetterStack / Crisp(取決於網站類型,明確詢問)
- www 與 apex 的偏好網域(大部分網站:apex;仍要詢問)
- 如果使用者選擇
customize-per-bot,要允許哪些 AI 機器人 - CSP 嚴格程度:
strict-default-src-none|balanced-allow-self|permissive-for-marketing - 是否要完全跳過某個階段(例如,非法國網站可跳過第三階段)
在沒有明確使用者輸入的情況下,絕不要越過決策點。充滿冗長清單而沒有檢查點的作法並非目標。
未經使用者明確確認,絕不要安裝任何 MCP 伺服器或技能。 在執行 npx skills add、claude mcp add 或任何等效的安裝指令之前,一律透過提問工具詢問,即使技能選擇流程提出了精選的子集。
如何使用此技能
- 執行上述的會話開始問題。
- 依序引導使用者完成第 1 到第 10 階段。對於每個階段:a. 列出項目,詢問是否有任何項目應被跳過。b. 對於每個剩餘項目,執行驗證指令(見下方「驗證工具」)。c. 報告通過/失敗。如果失敗,詢問使用者是要立即修復還是排入待辦清單。
- 以按階段分組的狀態報告結束,清楚區分「阻礙項目」、「建議修正」和「可選改進」。
配套技能
六個技能包對網站發布很有用。絕不要安裝完整的多重技能包。實際要安裝的子集是在執行時根據使用者確認的網站類型來決定。
技能包庫存
| 技能包 | 涵蓋範圍 | 通常適用於 |
|---|---|---|
AgriciDaniel/claude-seo | SEO + GEO + schema + hreflang + 站點地圖稽核,平行子代理 | 所有網站類型 |
addyosmani/web-quality-skills | Lighthouse、Core Web Vitals、可存取性、效能、最佳實踐 | 所有網站類型 |
trailofbits/skills | 安全稽核(OWASP、標頭、依賴項) | 所有網站類型 |
aaron-he-zhu/seo-geo-claude-skills | 20 個 SEO+GEO 技能,CORE-EEAT + CITE 框架,/seo: 斜線指令 | 內容密集型網站、競爭性利基市場 |
coreyhaines31/marketingskills | ~30 個行銷技能(CRO、文案撰寫、廣告、彈出視窗、電子郵件、付費牆等) | marketing/lead-gen、SaaS-app、training/paid-course |
jonathimer/devmarketing-skills | 33 個開發者行銷技能(人物誌、以文件作為行銷、技術教學等) | doc-site、SaaS-app(針對開發者) |
技能選擇工作流程(在會話開始時執行)
在使用者確認網站類型後,針對與該網站類型相關的每個技能包:
- 列出可用的子技能:
npx skills add owner/repo --list - 根據網站類型以及此技能將執行的階段,提出一個精選子集。將每個階段的需求與清單中傳回的特定子技能進行匹配。
- 與使用者確認。當建議清單包含超過 3 個項目時使用多選,否則使用單選(
install-as-proposed|let-me-modify|skip-this-pack)。 - 批次安裝已同意的子集:
npx skills add owner/repo --skill A B C
規則:
- 子技能名稱存在於技能包中,而非此 SKILL.md。務必查詢
--list以取得最新狀態。技能包內容會變動。 - 絕不要執行沒有
--skill參數的npx skills add owner/repo(這會安裝所有內容)。 - 網站類型 → 技能包對應(要列舉哪些技能包,子技能仍按工作流程選擇):
doc-site:claude-seo、web-quality-skills、trailofbits、seo-geo-claude-skills、devmarketing-skillsmarketing/lead-gen:claude-seo、web-quality-skills、trailofbits、seo-geo-claude-skills、marketingskillsSaaS-app:全部六個training/paid-course:claude-seo、web-quality-skills、trailofbits、marketingskillspersonal-portfolio:claude-seo、web-quality-skills、trailofbits、seo-geo-claude-skills(輕量級子集)
- 如果使用者稍後要求某個階段需要尚未安裝的子技能,則針對該單一子技能再次執行工作流程,而不是重新安裝整個子集。
這可以避免匯入使用者不需要的 80 多個技能,避免子技能名稱過時,以及避免過度依賴單一技能包版本。
在階段期間委派工作時,不要重複此技能已協調的工作。以狹窄的範圍呼叫專家(例如「僅對 URL X 執行安全標頭子稽核」)。
第 0 階段:啟動就緒檢查點
在任何其他階段之前執行此檢查點。 產品不會自我行銷——但一個尚未準備好的產品也無法成功行銷。啟動機制只有在您推出的產品值得推出時才會有回報。
兩種失敗模式從兩個極端摧毀啟動:
- 隱身模式 — 啟動得太晚。「穿著華麗外套的拖延。」您在私底下不斷打磨,等待產品變得完美。它永遠不會發布,也沒有人知道您的存在。
- 「再一個功能就好」 — 從未啟動。每個預定的啟動日期都因為再一個功能而推遲。範圍不斷蔓延,啟動永遠不會到來。
中間路線是 SLC — 簡單、可愛、完整(Simple, Lovable, Complete)(Jason Cohen),這是發布一個雖最小但不可愛的裸版 MVP 的解毒劑。不要發布一個沒人想要的半成品,也不要等待一個臃腫的全功能應用程式。一個可發布的 v1 是:
- 簡單 — 它只做_一件事_。不是很多事情都做不好。一件明確的工作,要做好。
- 可愛 — 人們_想要_使用它,而不只是忍受它。MVP 要求使用者忍受一個被剝削的體驗「來提供回饋」。SLC 給他們一些他們會選擇的東西。如果沒有人會因為失去它而感到難過,那它還不夠可愛。
- 完整 — 對於那一件事來說,這是一個_完整的_體驗,而不是一個帶有明顯漏洞的半成品。在所選範圍內完整,而不是一個更大承諾的預告片。
檢查點: 如果它還不簡單、可愛且完整,那麼只有在增加範圍正是缺少的東西時,您才處於「再一個功能就好」的領域——否則您處於隱身模式,應該要發布。縮小範圍,直到一件事變得可愛且完整,然後發布它。SLC 給您一個馬上進行的真實發布,而不是一個永遠不會到來的完美發布。
在執行各階段前的快速檢查:
- 它是否執行一個明確定義的事情?(簡單)
- 目標使用者是否會_選擇_使用它,而不只是忍受它?(可愛)
- 那一件事是否是一個完整的體驗,沒有明顯的漏洞?(完整)
- 您是否在超越這個標準進行打磨? → 停止。您處於隱身模式。發布吧。
- 您是否仍在為範圍增加新東西? → 停止。您處於「再一個功能就好」模式。縮減到 SLC。
目錄提交就緒狀態(來自目錄提交技能): 詢問這 9 個問題。如果任何一個為「否」,表示它們還沒準備好——先幫助他們建立缺少的部分。
- 產品是否公開可訪問(無密碼牆)?
- 是否有定價頁面(即使是「測試版免費」)?
- 隱私政策 + 服務條款是否已上線?
- 圖示資源是否為 PNG + SVG + 正方形 + favicon 格式?
- 是否有 5–8 張真實截圖 + 60–90 秒的展示影片?
- 登陸頁面是否已準備好 GEO(單一 H1、順序層級、FAQ 結構化資料、結構化標記)?
- 是否有至少 3 個替代頁面和 3 個使用案例頁面已上線並被索引?
- 是否有範本庫或磁鐵式行銷資產(如果適用於該類別)?
- 是否有至少 20 位測試版/早期使用者可以在 G2 上留下評論?
任何 1–7 項的「否」是一個硬性阻礙。8–9 項的「否」是一個軟性阻礙:您可以啟動,但會損失第 2 層的評論價值和 Typeform 風格的複合效應。
ORB 渠道策略(來自啟動技能): 將您的啟動行銷結構化為三種渠道類型。所有內容最終都應導回自有渠道。
自有渠道
您擁有渠道(儘管沒有受眾)。直接訪問,不受演算法或平台規則限制。
- 電子郵件清單、部落格、播客、品牌社群(Slack、Discord)、網站/產品
- 根據受眾從 1-2 個開始: 產業缺乏優質內容 → 部落格;人們想要直接更新 → 電子郵件;互動很重要 → 社群
租用渠道
提供可見度但您無法控制的平台。演算法會變、規則會改、付費取得曝光會增加。
- 社群媒體(Twitter/X、LinkedIn、Instagram)、應用程式商店、YouTube、Reddit
- 如何正確使用: 選擇 1-2 個您的目標受眾活躍的平台;使用它們將流量導向自有渠道;不要將其作為唯一策略。
借用渠道
利用他人的受眾來繞過最困難的部分——被注意到。
- 客座內容(部落格文章、播客訪談、電子報專欄)
- 合作(網路研討會、聯合行銷、社群媒體接管)
- 演講機會(會議、座談會、虛擬高峰會)
- 意見領袖合作關係
- 主動出擊: 列出您的受眾追隨的產業領袖 → 提案雙贏的合作 → 使用 SparkToro 或 Listen Notes 等工具尋找受眾重疊
通過檢查點,然後執行以下階段。
文案語調與人性化處理
每個網站都有可見的行銷文案(主視覺、功能、CTA、中繼描述、OG 描述、部落格文章、404 頁面文字)。在上線前,必須進行兩層打磨:
1. 為每個網站定義一個 TONE.md
詢問使用者:「這個網站是否已經有 TONE.md?」(yes-already-exists | no-create-from-template | skip-use-default)。
如果要建立:將其寫入 .agents/TONE.md 或儲存庫根目錄 TONE.md。參閱 references/templates.md(「TONE.md 模板」章節)以了解結構。
TONE.md 指定:語調(簡潔、逆向思考等)、禁止的模式(例如「探討」、「至關重要」、「破折號」、「聽起來像 AI 寫的開場白」)、句子長度偏好、目標受眾閱讀程度、來自使用者自身寫作的好的和壞的句子範例。
2. 以匹配的語言執行人性化處理
在每個草稿步驟之後(無論是由文案技能、手動還是直接由 Claude 完成),執行人性化處理以去除 AI 模式。
在會話開始時詢問使用者網站的主要目標受眾語言(如果還不知道):
english-global→npx skills add https://github.com/blader/humanizer --skill humanizerfrench→ 使用samber/cc-skills@humaniseur-fr(自訂法語人性化處理)或等效的法語調校技能other→ 如果可用則安裝匹配的人性化處理工具;否則技能會內嵌撰寫一份簡短的語言特定反模式檢查清單
對以下內容套用人性化處理:主視覺文案、功能描述、CTA 按鈕、中繼描述、OG/Twitter 卡片描述、部落格文章、電子郵件註冊確認、404 頁面文字。跳過法律頁面(如法律聲明、一般銷售條款),因為它們有嚴格的措辭要求。
3. 呼叫文案技能時始終引用 TONE.md
當委派給任何文案或內容撰寫子技能(根據技能選擇工作流程在呼叫時選擇)時,在提示上下文中包含 TONE.md。明確傳遞語調限制:「遵循 .agents/TONE.md。避免列出的模式。在草稿後套用人性化處理。」
瀏覽器互動偏好
許多檢查需要真實的瀏覽器(Lighthouse 執行、securityheaders.com 掃描、opengraph.xyz 驗證、Twitter 卡片驗證器、行動裝置視口、螢幕閱讀器煙霧測試、Network 面板檢查)。
始終優先使用 Claude Chrome 擴充功能。 僅在 Chrome 擴充功能不可用時才回退到 Playwright。如果兩者都不可用,詢問使用者是要完全跳過瀏覽器檢查,還是等到啟用其中一個。
驗證工具
大多數檢查可以從命令列完成,無需第三方服務。在每個階段內嵌使用這些工具。不要只相信 Cloudflare/Vercel/Google 儀表板中的面板,請使用 curl 進行驗證。
DNS(第 1 階段):
dig +short A example.com # A 記錄
dig +short AAAA example.com # AAAA(IPv6)
dig +short MX example.com # MX(郵件)
dig +short TXT example.com # SPF + 驗證 TXT
dig +short TXT _dmarc.example.com # DMARC
dig +short TXT default._domainkey.example.com # DKIM(選擇器可能不同)
dig +short CAA example.com # CAA
dig +dnssec example.com | grep RRSIG # DNSSEC 啟用中
TLS / HTTPS(第 1 階段):
curl -sIL https://example.com | head # 追蹤重新導向
curl -sI https://www.example.com # 檢查 www 處理方式
openssl s_client -showcerts -connect example.com:443 < /dev/null 2>/dev/null | openssl x509 -noout -dates
標頭(第 4 階段):
curl -sI https://example.com | grep -iE 'content-security-policy|strict-transport-security|x-frame-options|x-content-type-options|referrer-policy|permissions-policy'
# 完整標頭轉儲:
curl -sI https://example.com
# 外部評分工具:
curl -s "https://api.securityheaders.com/?q=https://example.com&followRedirects=on&hide=on" -I | grep -i 'x-grade'
SEO 檔案(第 5 階段):
curl -s https://example.com/robots.txt
curl -sI https://example.com/sitemap.xml
curl -s https://example.com/llms.txt
標頭與狀態碼(通用):
curl -sI https://example.com/any-page | head -1 # HTTP 狀態碼
Lighthouse(第 6 階段):
npx lighthouse https://example.com --quiet --output json --chrome-flags="--headless" | jq '.categories.performance.score, .categories.accessibility.score, .categories."best-practices".score, .categories.seo.score'
多語言(第 7 階段):
curl -sI https://example.com/fr/ | grep -i 'content-language\|hreflang'
社交卡片(第 8 階段):
curl -s https://example.com | grep -iE 'og:|twitter:'
資源(第 9 階段):
curl -sI https://example.com/favicon.ico
curl -sI https://example.com/apple-touch-icon.png
curl -s https://example.com/manifest.json
階段
第 1 階段:DNS 與基礎設施
- DNS 記錄:A(IPv4)、AAAA(IPv6)、MX(郵件)、TXT(SPF/DKIM/DMARC)、CAA
- DNSSEC 已啟用
- HTTPS 已強制(自動從 HTTP 重新導向至 HTTPS)
- TLS 版本 ≥ 1.2,首選 1.3
- 憑證有效且未過期
- www 重新導向(www → apex 或 apex → www,取決於偏好)
第 2 階段:分析與監控
- PostHog 已設定(代理已部署,事件已設定)
- Google Analytics 4 已設定(如果適用)
- Google Search Console 已驗證
- Ahrefs 網站審查(如果訂閱)
- Sentry / BetterStack 已安裝(如果相關)
- Crisp 即時聊天已安裝(如果相關)
- 備份策略已就位(資料庫、檔案、設定)
第 3 階段:法律與合規
- 隱私政策已上線(CNIL/GDPR 合規)
- Cookie 同意橫幅已設定
- 法律聲明(Mentions Légales)已上線(法國強制要求)
- 一般銷售條款(CGV/CGU)已上線(如果適用)
- 資料處理協議(DPA)可用(如果適用)
- 資料保護影響評估(DPIA)已完成(如果適用)
第 4 階段:安全性
- 內容安全政策(CSP)已設定
- HTTP 嚴格傳輸安全(HSTS)已啟用
- X-Frame-Options:DENY 或 SAMEORIGIN
- X-Content-Type-Options:nosniff
- Referrer-Policy 已設定(例如 strict-origin-when-cross-origin)
- Permissions-Policy 已設定(限制 API 存取)
- OWASP Top 10 已審查(SQL 注入、XSS、CSRF 等)
- 依賴項已掃描(漏洞)
第 5 階段:SEO 與 GEO
- robots.txt 已存在且正確
- sitemap.xml 已存在且正確(靜態 + 動態)
- llms.txt 已存在(LLM AI 最佳化)
- hreflang 標籤正確(多語言網站)
- 結構化標記已存在(JSON-LD,適用:組織、網站、文章、FAQ、產品等)
- 關鍵字研究已完成
- 中繼標題與描述已最佳化
- 標題標籤(H1-H6)層級正確
- 替代文字已存在於圖片
- 301 重新導向已就位(如果是遷移)
第 6 階段:效能與可存取性
- Lighthouse 分數:效能 ≥ 90,可存取性 ≥ 90,最佳實踐 ≥ 90,SEO ≥ 90
- Core Web Vitals 通過(LCP < 2.5s,FID < 100ms,CLS < 0.1)
- 圖片已最佳化(WebP 或 AVIF,延遲載入)
- 字型已最佳化(woff2,字型顯示:swap)
- JavaScript 已最小化/分割
- 行動裝置友好(回應式設計)
- 鍵盤導航。(WCAG 2.1 AA)
- 螢幕閱讀器測試(VoiceOver、NVDA)
第 7 階段:多語言
- 翻譯完成且一致
- hreflang 標籤正確
- 語言特定的 sitemap
- 語言特定的中繼標籤
第 8 階段:社交預覽與品牌
- Open Graph 標籤已存在(og:標題、og:描述、og:圖片、og:url)
- Twitter 卡片標籤已存在(twitter:card、twitter:標題、twitter:描述、twitter:圖片)
- 社交預覽圖片已建立且最佳化
- favicon.ico 已存在
- apple-touch-icon.png 已存在
- Web Manifest(manifest.json)已存在與正確
第 9 階段:行銷與目錄
- Product Hunt 啟動已準備(清單、圖片、說明影片)
- G2 與 Capterra 資料已準備(至少 20 位 Beta 使用者)
- 目錄已提交(Crunchbase、BuiltWith、SimilarWeb 等)
- 登陸頁面已準備好(GEO 最佳化)
- 替代頁面與使用案例頁面已上線
- 範本庫或磁鐵式行銷資產已準備好(如果適用)
- 發布後文章/電子郵件已排程
第 10 階段:發布與監控
- 最後的「SLC」檢查點已通過
- DNS TTL 已降低(發布前)
- CDN 快取已清除
- 監控已啟用(正常運行時間、錯誤、效能)
- 警報已設定(Slack、電子郵件、SMS)
- 備份已驗證
- 發布後檢查清單已準備好(24 小時、1 週、1 個月)