Communitygithub.com

網站升級

將公司、產品或個人網站全面升級為優質且真實的網站。它會審核真實內容、從品牌自身素材推導設計方向、建立一兩個標誌性時刻(動態、即時產品示範、可選 3D)、串接真正能送達的聯絡表單、部署 SEO、社交卡片和網路標準、在真實瀏覽器中驗證並給出評分自我批判,最後以可審查的 PR 形式交付。涵蓋行銷與產品網站、公司與

網站升級 是什麼?

「網站升級」是一套系統性方法,專門用於將拼湊而成的網站轉變為值得自豪的優質展示。此技能基於真實升級案例提煉而成,涵蓋行銷網站、B2B 雲端公司網站以及從零建置的幫助中心。其核心原則是「真相優先於設計」:每一項功能、數字、價格都必須有可追溯的來源,絕不虛構。設計方向完全從品牌自身素材(標誌、名稱、產品 UI、影片)衍生,確保獨特性。產品本身是主角,真實的 UI 和成品勝於抽象圖示。工作流程分為八個階段,從啟動、探索、方向制定、靜態建構、動態與標誌性時刻、聯絡與轉換、SEO 與標準,到驗證與批判,最後以可審查的 PR 交付。支援的行銷模式包括「說服」(產品/行銷網站)、「閱讀」(說明中心/文件)和「體驗」(作品集/展示)。此技能提供多種實用腳本,用於掃描生成痕跡、審核 SSR、準備影片以及使用 Playwright 進行瀏覽器驗證。它支援 Next.js、React、Tailwind 和 GSAP 等主流技術棧,但方法論本身不依賴特定框架。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vvhybe/skills/tree/HEAD/skills/site-upgrade

在你喜歡的 AI 中提問

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

說明文件

網站升級 是做什麼的?

這是一套將看起來像拼湊而成的網站,轉變為其擁有者樂於展示的優質網站的方法。它源自真實的升級案例,這些案例已成功交付並獲得業主及其團隊的高度評價:一個行動應用程式的行銷網站、一個 B2B 雲端公司網站(經歷了兩種完整方向),以及一個從零建立的幫助中心。請重複使用其方法、配方和陷阱。切勿重複使用其外觀:每個網站都應從其自身的品牌、產品和受眾出發,決定其設計方向。

「完成」的定義

當所有以下條件都滿足時,升級才算完成,在此之前都不算:

  • 網站上的每一項聲明都能追溯到一個你所能指出的來源:產品程式碼、法律文本、計費系統或業主的書面答覆。
  • 設計來自品牌自身的素材,且其核心理念能通過競爭對手測試(請參閱 direction.md)。
  • 訪客會看到或體驗到一兩個標誌性時刻;除此之外的所有部分都保持嚴謹與節制。
  • 無需依賴動畫即可看見所有內容。在啟用減少動畫的設定下,應顯示最終狀態。
  • 已在真實瀏覽器中以 1440、1920×710、390 和 320 px 的寬度、每個佈景主題、啟用減少動畫的設定下,針對生產環境建置進行檢查。
  • 您的書面批判評分達到 9/10 或更高,或者您的報告清楚說明不足之處(請參閱 critique.md)。
  • 它以團隊可審查的 PR 形式交付,並附上一份可供團隊直接貼上的簡短更新。

基本規則

  1. 真相優先於設計。 每一項功能、數字、價格、上市日期和任何形式的社交證明都必須有來源。產品的入門引導和付費牆文案常常過度承諾:請在程式碼中驗證。「未知」是有效答案:將該欄位設為可選並提問,切勿填入一個看似合理的數字。移除虛構的證明。
  2. 品牌決定外觀。 從品牌自身的素材(標誌、名稱、產品 UI、影片、地理位置)推導出調色板、字型和標誌性裝置。一個被認為是生成式 AI 產物的裝置(請參閱 tells.md),只有在品牌素材或業主將其置入,且方向合約明確命名時,才允許使用。
  3. 產品是主角。 真實的 UI 和真實的成品勝過圖示、庫存 3D 和抽象概念。示範應看起來像真實的東西:一張真實的 A4 發票、一個真實的渲染模板、一份真實的商品目錄。
  4. 一個網站,而非投影片。 避免堆疊一排排置中並帶有淡入動畫的標題加圖片區塊。應運用構圖、固定滾動敘事、分層深度、互動式示範和狀態驅動的動畫。
  5. 絕不將內容隱藏在動畫之後。 一個從未觸發的顯現效果會留下空白頁面。請尊重 prefers-reduced-motion 設定,顯示最終狀態。
  6. 業主在流程中,而非障礙。 在全面建置之前,先展示設計方向。先完成首頁,待批准後再擴展到其他頁面。每個未決問題只問一次,並提供選項,同時持續圍繞它進行建置。
  7. 設定值由配置持有。 環境變數應承載 URL、ID 或令牌,而不是開關或硬編碼的常數。從環境變數推導出依賴值。僅提交 .env.example。
  8. 遵循目標儲存庫的規範。 閱讀其 README、CONTRIBUTING、AGENTS.md 和 commitlint 配置。使用其套件管理器。匹配其框架版本(Next 14 還是 16、Tailwind 3 還是 4、React 18 還是 19)。
  9. 避免洩漏機密和內部資訊。 絕不列印、提交或回顯業主貼上的令牌。公開的提交和 PR 不得包含客戶名稱、私人價格或未修補的安全漏洞。
  10. 評分低於 9/10 時,絕不宣告完成。 在報告之前,先根據螢幕截圖為自己的工作評分。在聲稱「完成」之後,若自我評分為 6 或 7 分,即是工作未完成的跡象。

首先,選擇模式

訪客來訪的目的決定了設計可以走多遠。一個專案可以包含不同模式的多個頁面;請為每個頁面指定其模式。

模式適用頁面訪客行為主導設計參考資料
說服 (Persuade)產品、行銷、公司、活動、價目決定並採取行動產品自我證明;首屏即呈現真實操作building-blocks.md
閱讀 (Read)幫助中心、文件、更新日誌、部落格理解某件事讀者的問題;品牌擁有框架,但絕不佔據閱讀欄位read-mode.md
體驗 (Experience)作品集、展示、畫廊探索作品作品本身,從第一個視口開始building-blocks.md § 體驗

即使產品行銷網站展示了應用程式,它仍然是「說服」模式。即使幫助中心設計精美,它仍然是「閱讀」模式。

工作流程

請按順序完成各個階段。僅在到達該階段時才閱讀對應的參考資料。

階段執行事項參考資料
0. 啟動 (Kickoff)從預設分支建立新分支,啟動開發伺服器(記下實際埠號),為報告擷取「改版前」的畫面verification.md § 1
1. 探索 (Discovery)審核網站,尋找真相來源,建立聲明日誌和主題清單,收集品牌素材,報告發現discovery.md
2. 方向 (Direction)找出核心理念並通過競爭對手測試,設定調色板和字型,選擇標誌性時刻,撰寫方向合約,展示給業主direction.md, tells.md
3. 靜態建構 (Build it still)設計令牌、英雄區、每個幕(使用真實內容)、內頁。在腦中關閉動畫building-blocks.md, media.md, read-mode.md
4. 動態與標誌性時刻 (Motion and signature)一個編排過的入場動畫、狀態驅動的時刻、標誌性設計。僅在真正需要時才使用 3Dmotion.md, three-d.md
5. 聯絡與轉換 (Contact and conversion)共享驗證、表單、邊緣路由、設計過的通知郵件、預約或潛在客戶預填contact-email.md
6. SEO 與標準 (SEO and standards)伺服器端渲染、後設資料、社交卡片、結構化資料、爬蟲檔案、HTTP 標頭。作為一個獨立的 PR 提交seo-standards.md
7. 驗證與批判 (Verify and critique)在每個寬度和佈景主題下進行瀏覽器測試、執行腳本檢查、進行生產環境建置,然後進行評分批判,最多三輪verification.md, critique.md
8. 交付 (Ship)提交、PR、團隊更新、改版前/後報告、DESIGN.md、記憶筆記delivery.md

當遇到奇怪的行為時,請查閱 gotchas.md。每當業主提出反饋時,請閱讀 feedback.md:它能將業主說的話(「不夠刺激」、「顏色失衡」、「像廉價複製品」)轉化為需要修改的具體項目。

如果安裝了設計方向相關的技能(如 frontend-design、impeccable、taste-skill),請在第 2 階段載入它們以獲取額外的設計靈感。此技能在沒有它們的情況下也能獨立運作。

技術棧。 這些配方曾在 Next.js、React、Tailwind 和 GSAP 上交付,並託管於 Cloudflare Pages,而程式碼片段也展示了此技術棧。然而,其方法論、檢查項目和大多數腳本並不依賴於此:在 Astro、SvelteKit、Nuxt 或純 HTML 上工作時,請保留規則,並將配方轉換為目標專案自身的框架和版本。

腳本

從目標儲存庫的根目錄執行。<skill> 代表此技能所在的資料夾。

  • node <skill>/scripts/slop-scan.mjs [dir] [--json] [--strict] [--allow <rules>] [--list-rules]:掃描原始碼以查找生成式網站的痕跡、虛構的證明、通用文案、失效連結、機密和已知陷阱。在出現錯誤時(或使用 --strict 時出現警告)退出並返回代碼 1。可以透過 site-upgrade-allow: <rule> <reason> 註解(涵蓋其下方直到第一個空行的所有行)或在儲存庫根目錄的 .site-upgrade-allow 檔案中命名一個合理的例外。需要 Node 18+,無其他依賴。
  • <skill>/scripts/ssr-audit.sh <base-url> [path]...:針對每個頁面(當未指定路徑時,為網站地圖中的每個頁面)檢查:狀態碼、<h1> 數量、JSON-LD 區塊、標準連結、社交圖片、客戶端渲染的退出點以及標題;然後檢查安全標頭和爬蟲檔案。當任何頁面失敗時退出並返回代碼 1。請針對生產環境伺服器執行。
  • <skill>/scripts/video-prep.sh <source> <out-dir> [name] [poster-second]:將場景切換點列印為章節候選,並在每個剪輯點寫入帶有關鍵影格的無聲網路編碼、一張海報圖片和一個方形預覽剪輯。若無 imageio_ffmpeg 二進位檔,則會降級使用。
  • <skill>/scripts/playwright/*.js:用於 Playwright MCP 的 browser_run_code_unsafe 工具。MCP 只能讀取工作區內的檔案,因此請先複製它們(mkdir -p .playwright-mcp && cp <skill>/scripts/playwright/*.js .playwright-mcp/),然後傳遞 filename: ".playwright-mcp/<name>.js"。請確保 .playwright-mcp/ 不包含在 Git 追蹤中。
    • reveal-scroll.js 會進行滾動,以便在截圖前觸發所有顯現效果,並列出之後仍隱藏的文字。
    • page-audit.js 測量框架:一個 <h1>、超過兩行的標題、小字型、小的點擊目標、未命名的控制項、缺少 alt 屬性的圖片、未命名的區段以及未設定主題的瀏覽器表面。
    • overflow.js 找出在 320 到 1440 px 寬度之間導致水平滾動的原因,並指出最外層的問題元素。
    • console-scan.js 訪問網站地圖中的每個 URL,並報告控制台錯誤、頁面錯誤、失敗的請求、4xx/5xx 狀態碼以及 CSP 違規。

資產與模板

複製到目標儲存庫或暫存區,並根據需要進行調整:

  • assets/render-email.ts:在不使用 react-dom/server 的情況下,將 React Email 模板渲染為 HTML,適用於邊緣路由。
  • assets/JsonLd.tsx:一個安全嵌入的 JSON-LD 腳本標籤。
  • assets/ScrollTriggerRefresh.tsx:每當頁面高度改變時,重新測量 GSAP 的滾動觸發器。
  • assets/templates/claims-ledger.md:已交付、未交付、未知以及數字,每個都附有來源(第 1 階段)。
  • assets/templates/direction-contract.md:論點、核心理念、獨特世界、首個視口、標誌性設計和品牌例外(第 2 階段)。
  • assets/templates/critique-round.md:評分批判,每輪一個區塊(第 7 階段)。
  • assets/templates/DESIGN.md:最終確立的設計系統,在最後撰寫,以便後續的代理程式能維持品牌一致性(第 8 階段)。
  • assets/templates/team-update.md:供團隊聊天室直接貼上的更新內容(第 8 階段)。

業主確認點

在發布任何依賴於以下事項的內容之前,請先取得業主確認。每個問題只問一次並提供選項;切勿因此延誤建置進度:

  • 上線狀態和商店可用性,需來自即時商店列表而非環境標誌
  • 價格和方案,以及它們的來源
  • 尚無人能提供來源的數據(如正常運行時間、資料中心、客戶數量):在獲得正式批准前,請將其移除
  • 聯絡收件匣,以及一個業主可用於測試的收件匣
  • 任何清單、目錄或輪播中尚未發布的項目
  • 法律實體名稱、地址和電話,需在出現的所有地方保持一致
  • 任何會接收訪客資料的第三方(如分析工具、嵌入內容、字型、電子郵件服務),以及其所需的隱私權政策條款
  • 任何吉祥物、3D 模型或影片的原始檔,在你重新建置之前
  • 每個上線步驟:網域、DNS、部署設定、資料庫遷移。業主負責執行或批准這些步驟

相關技能