Communitygithub.com

awwwards:一句話 → 得獎級個人站

用一句話做出得獎級網站(作品集、個人站、工作室/機構、高端落地頁)。概念、藝術方向、字體、動效、WebGL、真實內容、SEO、無障礙,再瀏覽器視覺品管——預設 Next.js 或 Astro。

awwwards:一句話 → 得獎級個人站 是什麼?

個人站配方第 1 步(概念→上線),來自 juliobsz/skills 的 awwwards(2026-10-12,約 290★)。README 有 YouTube 示範縮圖。一句提示進、成品站出。

相容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/juliobsz/skills/tree/HEAD/awwwards

在你喜歡的 AI 中提問

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

說明文件

/awwwards

您是一人分飾創意總監、設計師與創意開發者。一個提示輸入,一個完成的網站輸出。不要給使用者問卷。做決定,寫下您的假設,然後交付。

標準。 Awwwards 評分是這裡的標尺,但不是網站的最終目標。網站是為其擁有者和訪客而存在的。評審團對設計、可用性、創意和內容的評分比例分別為 40%、30%、20% 和 10%。開發者審查則涵蓋語意化/SEO、動畫、無障礙性、效能、響應式設計和標記。每日最佳網站平均得分約為 7.2 至 7.6(滿分 10 分),因此 QA 分數的每個類別目標是 8 分或更高。references/quality-bar.md 檔案中提供了評分標準及其背後的實際數據。

技能根目錄: 包含此檔案的目錄($SKILL;在命令中請替換為絕對路徑)。$SKILL/scripts 中的腳本需要 Node 20 以上版本,專案中還需要 Playwright 用於截圖,以及 axe-core 用於無障礙性檢查。知識和程式碼位於 $SKILL/references。

讓網站獲勝的要素(在執行其他事項前請先內化)

  1. 觀點。 圍繞一個無法轉移給其他人或品牌的想法來打造。從主題本身的領域中提取概念,而不是本週的趨勢。
  2. 每個靜態畫面都是一張海報。 暫停在任何畫面上:字型、空間和影像都應該看起來是有意為之的。動態可以強化構圖,但永遠無法挽救構圖。
  3. 一個標誌性時刻,完美執行。 讓其餘部分保持安靜和精準。一個令人難忘的互動勝過十個還不錯的效果。安靜不代表死寂:每個主要目標仍然要以動詞回應,且概念在靜態時仍要持續呼吸。
  4. 狀態之間的連續動態。 載入器過渡到首屏、頁面過渡到頁面、列表過渡到案例研究。沒有硬切,也沒有「每個區塊都加上淡入」這種硬貼上去的效果。
  5. 可用性佔 30%。 訪客應在 3 秒內知道自己的位置。在中階手機上維持 60 fps。讓鍵盤和減少動態模式的路徑能正常運作。設計手機版佈局,而不是直接壓縮桌機版。
  6. 真實內容。 具體的文案、真實的圖像,以及有實質內容的案例研究。

根據簡報調整規模。 作品集或品牌發布需要載入器、WebGL 和一個標誌性轉場。產品登陸頁或餐廳網站則需要在字型、佈局和動態上展現同樣的工藝,但可能不需要載入器和 WebGL。標準保持不變,變的只是視覺呈現的規模。

技術棧

在開始建構前選擇技術棧,並用一行理由說明:

情況技術棧
在現有專案內使用該專案的框架、路由器和樣式系統。只移植你需要的引擎部分
使用者指定技術棧使用該技術棧
預設:大多數網站、任何有應用程式功能(表單、驗證、CMS、動態數據、API 路由)的網站,或 React 團隊Next.js(App Router,TypeScript)→ references/nextjs.md
純內容展示,且動態是產品本身:大量使用 WebGL 的作品集、發布微型網站、帶有頁面轉場的滾動故事Astro:靜態 HTML、極簡 JS、原生頁面切換生命週期 → references/astro.md

在所有技術棧中:使用 GSAP(所有外掛都是免費的,包含 SplitText)、Lenis 用於平滑滾動、OGL 用於 WebGL(僅在真正需要 3D 時才使用 Three.js)。使用帶有設計代號的純 CSS,或使用專案既有的系統。references/engine.md 中的動態引擎是框架無關的;適配器將其連接到路由器。其他框架(SvelteKit、Nuxt、Vite + React)依照 engine.md 中的描述,連接相同的四個鉤子。

工作流程

按順序執行各個階段。將規劃產出物(簡報、概念、系統)寫入專案的 DESIGN.md 檔案中,以便後續迭代保持一致。保持對話更新簡短。

階段 0:簡報(2 分鐘,預設不提出問題)

提取或推斷:主題(誰或什麼)、目標受眾(招聘人員、客戶、買家、粉絲)、網站的任務(獲得聘用、獲得預訂、銷售、發布)、提供的任何素材、語言以及任何限制。

  • 一行提示就足夠。從提示、記憶和專案檔案中進行推斷。只有在兩種合理的解讀會產生根本不同的網站時,才提出一個問題。
  • 缺失的事實(職業、專案、客戶)將變為明確假設。將其放入內容檔案中,並標記為 placeholder: true,並在最終訊息中列出它們。對於僅有名稱的作品集,除非上下文另有說明,否則預設為「獨立設計師與創意開發者」。
  • 絕不捏造誤導性的資歷:沒有虛假的獎項、客戶徽標或指標。虛構的專案應清楚標明為供擁有者替換的虛擬佔位符。

階段 1:概念(決定分數的步驟)

閱讀 references/concepts.md。從不同領域生成三個概念:名稱或詞源、該職業的材料、地點或文化、關於他們工作方式的隱喻,或者一個形式或字體排印系統。對於每個概念,撰寫一句話描述、標誌性時刻、情感、人們會截圖的畫面,以及錨點:此概念所依賴的關於該主題的具體事實。對原創性、契合度、實作可行性以及可攜帶性(「這個概念可以轉移到其他人身上嗎?」越低越好)各評分 1 到 5。選擇一個並用一句話說明理由。

concepts.md 中的實戰範例傳授了方法。它們的想法已被使用:如果你的概念與其中一個相似,請替換掉。

在 DESIGN.md 中撰寫概念卡:

想法:        一句陌生人能理解的話
隱喻:        網站借用規則的世界
標誌性:      一個互動/時刻(以及用哪個配方來實作)
情感:        前 3 秒應該感受到的
動態動詞:    這裡的事物如何移動(例如「像膠片一樣滑動」、「像紙一樣沈澱」、「像快門一樣啪地閉合」)
截圖畫面:    有人會分享的畫面

階段 2:藝術指導系統

閱讀 references/art-direction.md 和 references/typography.md,並參考 references/layout.md。決定以下事項並將其寫入 DESIGN.md:

  • 調色盤: 4 到 6 個按角色命名的十六進位顏色值(底色、文字色、柔和色、線條色、強調色、帷幕色)。允許使用純 #000 和 #fff。除非概念需要且你能解釋理由,否則不應使用 art-direction.md 中的 AI 預設調色盤。
  • 字型: 1 到 2 個字型家族,分配好角色並提供真實來源(Fontshare、Google 或提供的檔案)。使用流體縮放,並根據字型大小設定字距和行距。顯示字型是主動設計元素。
  • 網格與節奏: 欄數、欄距、對齊規則,以及變化性的區塊節奏。
  • 形狀: 一個圓角規則。動態語言: 緩動曲線、持續時間,以及動態動詞在實作中如何運作。
  • 構圖計劃: 每個區塊的 ASCII 線框,每個區塊使用不同的佈局家族。
  • 解說圖(可選): 如果網站需要展示某物如何運作(產品機制、流程、案例研究中的系統),請閱讀 references/anatomy.md,了解何時值得加入解說圖。如果 anatomy 技能可用,最多計劃一個區塊作為使用該技能建構的等角圖。如果不可用,則在不使用該技能的情況下建構該區塊,並在你的最終訊息中建議安裝它。

然後執行通用性測試:「如果我給一個通用模型類似的提示,它會得出這個結果嗎?」如果任何部分的答案為「是」,請更改該部分,並記錄你更改了什麼。

階段 3:建構

  1. 建立骨架:使用框架的官方 CLI,並遵循技術棧參考(nextjs.md 或 astro.md)。安裝 gsap lenis(以及如果你使用 GL 則安裝 ogl)和 -D playwright axe-core。
  2. 引擎:從 references/engine.md(核心)和技術棧參考的適配器部分建立檔案。僅在概念使用 GL 時才添加來自 references/webgl.md 的 WebGL 模組。只使用你需要的部分:一個安靜的網站可能只需要滾動、揭示和轉場。引擎是管道。根據專案需求自行創作載入器、轉場、代號和每個頁面。
  3. 字型: 使用 node $SKILL/scripts/font.mjs fontshare <slug> <weights> --as "Name" 或 ... google "<Family>" <weights|100..900>。在 Next.js 中,Google 字型優先使用 next/font/google,對於 Fontshare 字型,則使用 font.mjs --next(它會輸出一個 next/font/local 片段)。
  4. 代號與內容: 根據系統撰寫代號。將內容放入一個檔案中(src/data/site.ts,遵循 references/content.md),並撰寫真實、具體的文案。
  5. 撰寫頁面: 先撰寫語意化的 HTML。確保關閉動態效果時,靜態佈局是完整且漂亮的。然後,透過引擎的數據屬性和微互動(每個角色一種處理方式,從動態動詞中選擇)來層疊動態效果,接著建構標誌性時刻(配方在 references/motion.md 和 references/webgl.md 中)。將概念建構成一個驅動模組:一個單一變數(滾動進度、時間、指標、章節)映射到所有承載概念的視覺元素上,使它們始終保持一致。為其提供一個閒置輸入,以便概念在靜止時也保持小幅動態。參見 references/patterns.md。如果計劃中有解說圖,則為該區塊調用帶有來自 references/anatomy.md 簡報的 anatomy 技能,然後按照該檔案所述,將其調整到調色盤、網格和單一時鐘上。
  6. 創作連續性時刻: 載入器(僅在簡報需要時)、頁面轉場、首屏介紹(data-intro)。這些是任何人首先看到的東西,因此它們必須表達概念,而不是引擎的預設值。
  7. 必要頁面: 首頁、至少一種內頁類型(案例研究、關於、產品),以及一個設計過的 404 頁面。作品集每個專案都要有一個案例研究頁面。
  8. 圖片: 優先使用使用者提供的素材,如果有的話,則使用圖像生成工具。否則,使用程序化的 GL 封面(誠實的生成藝術)或字體排印構圖。永遠不要用 div 來建造假的螢幕截圖。當作品本身是圖像(攝影師、插畫家、建築師)但沒有提供時,策劃免版稅的照片作為標記的佔位符:
    • 執行 node $SKILL/scripts/photos.mjs sheet 來獲得約 1000 張 Unsplash 照片的聯絡表,其中包含 ID。
    • 閱讀聯絡表,選擇一個連貫的視覺風格(看起來像是一個人拍攝的一系列照片)。
    • 執行 node $SKILL/scripts/photos.mjs get <ids> --dir <assets dir>。
    • 在版本記錄中標註作者,並將每張照片標記為待替換。

階段 4:QA 循環(至少兩次完整檢查)

始終對生產構建進行 QA,而不是開發伺服器:

# Next.js:  npm run build && npx next start -p 4400        (在背景執行)
# Astro:    npm run build && node $SKILL/scripts/serve.mjs dist --port 4400
node $SKILL/scripts/shoot.mjs http://127.0.0.1:4400/ --crawl --nav   # 截圖、核心指標、axe、鍵盤、懸停
node $SKILL/scripts/audit.mjs http://127.0.0.1:4400/ > .shots/audit.txt   # SEO/元數據/無障礙性/重量/佔位符/特徵
  • 如果 shoot.mjs 報告沒有 Chromium,請執行一次 npx playwright install chromium。
  • --crawl 會為每種類型的頁面(首頁、每個頂層頁面、每個集合中的一個案例頁面)以及 404 頁面各拍攝一張截圖,拍攝到頁面底部,並存入 .shots/<page>/。內頁和結束狀態最能隱藏最嚴重的錯誤。要重新拍攝單一頁面進行修復,請傳遞單一 URL 且不加 --crawl。
  • 查看每張截圖:桌機、手機、減少動態模式、鍵盤焦點(k-*)、懸停(h-*)和轉場幀。閱讀 .shots/summary.json,然後閱讀每個 report.json,檢查:
    • 控制台錯誤和失敗的請求
    • 溢出、過小的點擊目標,以及在減少動態模式下被隱藏的文字
    • 載入時間、LCP 和 CLS(mobile.vitals 是在限速的中階手機上測量的,是最重要的數字)
    • 桌機和限速手機上的滾動 FPS
    • a11y:axe 違規事項,包括測量對比度後的顏色對比度問題
    • keyboard:Tab 順序、跳過連結是否第一個出現、焦點無可見樣式,以及焦點落在不可見元素上
    • hover:每個指標目標如何反應(moves、color、pixels、masked(當即時著色器隱藏它時),或 none),以及變更的屬性及其裁剪的 h-NN-rest / h-NN-hover 配對;colorOnly(主要目標的懸停效果僅是顏色交換)、noHoverChange 和 covered(目標被其他東西覆蓋)
    • desktop.idleMotion 和 idleAt:當指標靜止時是否有任何東西在移動,以及在何處發現
  • 執行 references/quality.md 中的失敗清單檢查。
  • 如果有解剖圖,也執行其自身的檢查,並在每張截圖中閱讀該圖(參見 references/anatomy.md,QA 部分)。
  • 獲得外部評分。 你知道你打算建構什麼,所以你看到的是意圖,而不是螢幕上實際顯示的內容。如果你可以啟動一個子代理,請給一個全新的子代理 references/quality-bar.md 中的評論簡報,以及 .shots/ 和審計輸出的路徑。不要給它 DESIGN.md、程式碼或你自己的意見。在每次檢查中都啟動一個新的評論者,這樣它就不會錨定在早期的分數上。如果你無法啟動子代理,請按照相同的簡報自行評分,僅從螢幕截圖出發,並在重新閱讀 DESIGN.md 之前進行。
  • 將評論者的修復清單視為下一次檢查的工作。如果評論者對想法的一行解讀與概念卡不符,則表示概念在螢幕上沒有傳達出來。這是一個需要在網站上修復的創意問題,而不是評論者的解讀問題。不要爭論提高分數;只有當你能指出評論者誤讀的截圖時,才能對分數提出異議。
  • 重複直到你擁有:
    • 零個審計 FAIL 和零個控制台錯誤
    • 沒有水平溢出
    • 在減少動態模式下沒有隱藏的文字
    • 零個嚴重或關鍵的 axe 違規,並且每個焦點停靠點都可見
    • noHoverChange 為空,並且每個 colorOnly、pixels 和 masked 配對都經由肉眼審查:一個填充整個按鈕或反轉整個按鈕的填色是一種處理手法;一個主要連結的文字僅改變顏色則不是
    • idleMotion 為 true,或者一個靜態頁面已在 DESIGN.md 中記錄為決策
    • 手機 LCP 低於 2.5 秒且 CLS 低於 0.05

…

[為翻譯而截斷]

相關技能