Communitygithub.com

ooiyeefei/ccc

為個人或公司網站添加可篩選的、基於專案的展示目錄 — 每個專案都是一張卡片,點擊可開啟詳細頁面,訪客可依專案類型(已發布產品、黑客松作品、研發實驗)進行篩選。

ccc 是什麼?

此技能協助開發者在個人或公司網站上建立一個可篩選的專案展示目錄,專注於「專案類型」作為主要篩選維度,而非技術堆疊。它遵循「一張卡片一個專案」的原則,每個專案以卡片形式呈現,點擊後進入詳細頁面。在撰寫任何程式碼之前,技能會引導使用者進行訪談,以了解網站架構(Next.js、Astro、SvelteKit 等)、現有專案資料、專案類型(如產品、黑客松、研發)、每個專案的詳細程度,以及卡片的主要行動呼籲。它支援多種平台(React、Astro、SvelteKit 或純 HTML),並提供參考文件(schema.md 和 patterns.md)來定義資料模型和 UI 模式,確保與現有設計風格一致。此技能特別適合希望建立作品集、專案展示頁面,或需要為現有展示添加新專案的使用者。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ooiyeefei/ccc/tree/HEAD/skills/project-showcase

在你喜歡的 AI 中提問

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

說明文件

專案展示

將一堆專案變成一個訪客可以篩選和瀏覽的目錄。每個專案一張卡片,每張卡片開啟一個詳細頁面,並按專案類型分組。讓它運作的框架:類別是主要軸線 — 訪客不在乎你用了什麼技術堆疊,他們在乎的是這是一個真正的產品、一個比賽作品,還是一個實驗室實驗。先以此排序,其他一切其次。

在整個過程中,請始終牢記兩個主導想法:

  • 一張卡片,一個專案。 每個專案都是一張卡片。卡片是鉤子;詳細頁面是證明。
  • 先訪談,再建構。 永遠不要假設技術堆疊、類別或已存在的內容。先問,然後再建構。

步驟 1 — 訪談(在撰寫任何程式碼之前)

暫停。在獲得答案之前,不要設計架構或撰寫元件。提出問題,並根據他們已經說過的內容進行調整:

  1. 這個網站是用什麼建構的? 框架(Next.js / React、Astro、SvelteKit、純 HTML)以及專案資料會存放在哪裡 — 資料檔案、CMS 還是資料庫?這將決定下面所有內容的建構方式。
  2. 是否已經有專案頁面或專案資料? 如果有,請先閱讀它並擴展它 — 不要取代它。符合其現有的欄位名稱和視覺風格。
  3. 你有哪幾類的專案? 合理的預設類別拆分是產品 / 黑客松 / 研發,但請確認它。有些人可能想要「客戶作品」、「寫作」或「開源專案」。類別是主要的篩選條件,所以請務必設定正確 — 這是使用者的決定,而不是你的。
  4. 每個專案,你有哪些資訊? 一句話簡介、較長的「它是什麼」、線上網址、儲存庫、展示影片、圖表或截圖、簡報?這將決定每張卡片和每個頁面使用哪些選填欄位和媒體。
  5. 每張卡片的主要行動是什麼? 開啟應用程式、觀看展示、閱讀儲存庫、檢視簡報。這就是卡片的行動呼籲。

用一兩句話反映他們回答的內容,然後再繼續。如果他們只想添加一個專案到現有的展示中,請跳過架構設計 — 讀取他們現有的資料格式,並撰寫一個與之相符的條目。

步驟 2 — 資料模型

請閱讀 references/schema.md 以了解逐欄位的模型和 trackOf() 推導技巧(這樣當你添加篩選功能時,現有條目就不需要全部編輯)。基本要素:一個扁平的項目列表,每個項目包含 slug、name、一行 description、更詳細的 whatItIs、一個 track(主要篩選條件)、一個 status、stack[]、links[] 和一個 cta。媒體欄位為選填。

步驟 3 — 建構它

請閱讀 references/patterns.md 以了解卡片與詳細頁面的拆分、篩選列、媒體區塊和撰寫規則。結構如下:

  • 一個展示區:篩選列(類別優先,然後是次要篩選,如種類/層級/狀態)+ 響應式卡片網格。
  • 一張卡片:簡潔 — 名稱、狀態、一行描述、幾個標籤、一個行動呼籲。簡潔,不是長篇大論 — 卡片說明一個東西是什麼;它不是一篇冗長的文章。
  • 一個詳細頁面,每個 slug 一個:較詳細的 whatItIs、選填的嵌入式影片(附帶海報圖片,以免開啟時畫面全黑)、選填的封面圖片/圖表,以及以按鈕形式呈現的連結。

與網站現有的設計標記和元件保持一致。不要發明新的視覺語言。

步驟 4 — 驗證

建構或進行型別檢查。然後確認三件事確實能夠運作,而不僅僅是聲稱它們能運作:類別篩選能夠縮小網格範圍、卡片能夠開啟其詳細頁面,以及任何嵌入式媒體能夠正確呈現(影片能播放、圖片能載入)。向使用者展示。

護欄(確認,不要假設)

  • 類別是用戶的 — 提供預設值,但讓他們決定類別。
  • 擴展現有的展示,絕不暗中取代它。
  • 保持卡片文案簡潔;詳細內容放在詳細頁面上。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能