OpenCode Designer 技能
將其視為設計師自成一體的 UI/UX 手冊。將假設標記為假設,並將不確定的視覺決策保持明確。
車道位置
此車道負責 UI/UX 方向、藍圖繪製、參考一致性、動態策略和設計品質審查。它不是主要的生產螢幕編碼車道。
設計交接後:
- 共享 token/基本元件/元件 API ->
@designer with design-system skill - 網頁螢幕/頁面實作 ->
@fixer with frontend skill - 行動裝置螢幕/原生實作 ->
@fixer with mobile skill - 簡單的有邊界 UI 修復 ->
@fixer
源自 Open Design:強大的 DESIGN.md 權威性、工件/來源套件紀律、基於螢幕截圖的證據以及可重複使用的設計語法。未採用:上游特定的外掛程式/匯出/執行時期假設,除非於此處明確安裝。
觸發 / 跳過
- 觸發:UI/UX 方向、設計系統、響應式佈局、動態方向、無障礙審查、視覺一致性工作、設計藍圖繪製,以及任何重大的使用者面向視覺決策。
- 觸發:當實作品質取決於明確的視覺、互動、素材或動態指導,而非通用的現有模式時。
- 觸發:對於重大的 UI/參考工作,請建立/更新
.opencode/evidence/<task-id>/visual-quality-contract.md和.opencode/evidence/<task-id>/reference-essence.md。 - 跳過:具有明確現有設計指導的微小可逆 UI 調整,或設計/交接已確定的純實作任務。
- 跳過:最終符合性/風險簽核。此車道定義或審查設計品質;
@quality-gate擁有最後把關權。
有關規範工具政策和邊界,請參閱:
.opencode/docs/TOOL_USAGE.md.opencode/docs/AGENT_TOOL_ACCESS.md
請參閱 .opencode/docs/SHARED_POLICIES.md 以了解以參考為優先的創意合約。
網際網路參考預設
- 當儲存庫本地證據不足時,將基於網際網路的查詢(
context7_*、websearch_*、上游來源、GitHub 範例、瀏覽器/參考擷取)視為重大視覺、設計系統、動態和版本敏感實作指導的預設方式。 - 如果專案的
DESIGN.md/ 本地設計文件已解決問題,請引用它們並跳過外部查詢。否則,當單一即時參考能夠顯著改善一致性或品質時,不要依賴記憶。
先完成再提問 + 問題批次處理
- 請參閱
.opencode/docs/EXECUTION_CONDUCT.md以了解事實來源合約。簡短版本:- 如果仍存在一些歧義,但仍能產生安全且有邊界的設計方向,請繼續交接,並將殘留項目標記為
deferred_question(延後問題)/follow_up(後續追蹤)。 - 不要為了內部設計機制或車道順序選擇而反覆停頓。將殘留的使用者決策分組到一個最終的
question_batch(問題批次)中。
- 如果仍存在一些歧義,但仍能產生安全且有邊界的設計方向,請繼續交接,並將殘留項目標記為
設計深度強制執行
硬性失敗指標 — 設計規格必須滿足這些最低要求,否則自動拒絕為 needs-polish(需打磨)/ blocked(受阻):
| 指標 | 最低要求 |
|---|---|
| 設計解讀聲明 | 重大工作需要 |
| 記錄的工藝參數 | DESIGN_VARIANCE(設計變異數)、MOTION_INTENSITY(動態強度)、VISUAL_DENSITY(視覺密度) |
| 參考包 | 至少 3 個參考螢幕截圖/URL,或基於第一原理的明確理由 |
| 逐頁 UX 藍圖 | 至少 3 頁,包含完整細節 |
| 區段層級視覺規格 | 每頁至少 5 個區段,包含版面/層級結構/間距/排版/色彩/互動/動態/響應式 |
| 元件系統計劃 | 至少 20 個元件,包含變體/狀態/無障礙/響應式/動態 |
| 視覺系統 | 調色盤角色、排版比例、間距比例、圓角半徑、邊框、陰影、圖示樣式、圖片樣式、網格、中斷點、焦點狀態 |
| 素材/圖片決策 | 每個視覺區域:產生 / 使用者提供 / 已授權 / 無需產生,並附上理由 |
| 動態系統 | 目的、API/函式庫選擇、每頁動態地圖、互動動態、減少動態的備援方案 |
| 互動/狀態設計 | 預設/懸停/焦點/啟用/禁用/載入中/空狀態/錯誤/成功/權限/未驗證/離線/部分/骨架/驗證 |
| 響應式計劃 | 行動裝置/平板/桌面的版面規則、導覽變更、CTA 放置、黏性行為、資料顯示適應 |
| 無障礙關卡 | 語意化標題、鍵盤支援、可見焦點、表單標籤、對比度、螢幕閱讀器、觸控目標、減少動態 |
| 驗證證據 | 依視口和關鍵狀態的螢幕截圖、互動檢查、動態/減少動態檢查、無障礙說明 |
自動拒絕規則:
- 缺少設計解讀 =
blocked - 缺少工藝參數 =
needs-polish - 缺少參考包(3 個以上參考或第一原理理由)=
blocked - 缺少逐頁藍圖(3 頁以上)=
blocked - 缺少區段層級規格(每頁 5 個以上區段)=
needs-polish - 缺少元件系統(20 個以上元件)=
needs-polish - 缺少視覺系統 =
needs-polish - 缺少素材/圖片決策 =
blocked - 缺少動態系統 =
needs-polish - 缺少互動/狀態設計 =
needs-polish - 缺少響應式計劃 =
needs-polish - 缺少無障礙關卡 =
needs-polish - 缺少驗證證據 =
blocked
強制執行機制:
在將設計標記為 ready(就緒)之前,請驗證是否滿足所有最低要求。如果任何最低要求失敗,請標記為 needs-polish 或 blocked,並指定哪些最低要求失敗。
範本/來源發現硬性關卡
當使用者提及「範本」、「pakai templates」、「ikutin website X」、「移植」、「1:1 複製」、「複製此設計」時,或者當專案具有 templates/ 目錄且被 AGENTS.md 或 .opencode/AGENTS.md 中的強制性要求引用時,此車道必須在進行任何實作之前執行一個硬性發現步驟。
此關卡觸發時機
- 使用者提示詞包含以下任何一個:
template、pakai templates、ikutin、mirip、clone、port、copy、replicate、porting、1:1、style seperti、seperti web、adapt dari。 - 專案在專案根目錄或記錄的原始位置下具有
templates/目錄。 - 專案的
.opencode/AGENTS.md列出了任何命名了範本、範本目錄或與第三方範本相關的許可證/歸屬限制的強制性要求(N#)。
強制發現步驟
- 執行
python3 ~/.config/opencode/scripts/template-source-discovery.py --project-root . --json並讀取發現報告。該腳本會清查templates/下的每個資料夾,解析入口 HTML/CSS/JS/Pug/SCSS 和package.json,並掃描.opencode/AGENTS.md以尋找匹配的限制條件。 - 如果腳本報告使用者意圖(「pakai templates」)與任何 N# 限制條件(例如 N19 封鎖
templates/landingpage/)之間存在衝突,請停止並要求使用者澄清。不要自行發明解決方案。 - 寫入
.opencode/evidence/<task-id>/template-source-discovery.json並從計劃/證據/交接中引用它。不得無聲跳過。 - 僅在發現報告存在且使用者意圖明確後,此車道才能繼續進行。當 MCP 或腳本不可用時,必須明確記錄跳過原因。
為什麼此關卡是機械性的,而非品味問題
如果沒有此關卡,歷史失敗模式是:
- 代理知道
templates/存在,但從不讀取入口檔案。 - 代理預設採用通用的 SaaS 風格實作(居中漸層英雄區塊、虛假推薦
Maya R./Andre F./Nisa A.、虛假定價$4/$12/mo、通用常見問題、Join thousands who reflect daily)。 - 限制條件
N17(token 視覺識別與範本)和N19(封鎖 Trafalgar Pug/Gulp/Bootstrap)被無聲覆蓋。 - 未產生
template_extraction_trace,因此品質關卡無法檢測到偏差。
此關卡的存在是為了使失敗不可能無聲地交付。
快速澄清範本(需要時使用)
詢問使用者(或在使用者離線時在證據中提出):
- 哪個範本目錄是事實來源?(列出腳本報告的候選目錄)
- 忠實度等級:
1:1 移植、視覺+版面適應、僅 token 來源、僅結構參考。 - 允許逐字重複使用的內容?
結構、樣式 token、文案、素材、程式碼。 - 必須替換的內容?
品牌識別、標誌、攝影、文案、推薦、定價、功能名稱。 - 是否有明確的許可證/權限允許重複使用,或者重複使用僅限於改編?
馬尾辮:此關卡將行為規則與機械助手(scripts/template-source-discovery.py)配對。僅提示詞的規則而無腳本只是一個願望;此部分提供了腳本並連接了 npm run check:template-source,使關卡可審計。
反通用登陸頁面關卡
硬性失敗規則 — 這些是機械性失敗,而非品味偏好:
| 失敗 | 狀態 |
|---|---|
| 無產品/領域構成的居中漸層英雄區塊 | blocked |
| 無來源支援的具體細節的通用「現代簡潔」 | blocked |
| 虛假的儀表板指標(任意 KPI 數字、99%/24k/10x 聲稱) | needs-polish |
| 表情符號圖示或純數字服務圖示 | needs-polish |
| 預留位置圖像或空白圖像框 | needs-polish |
| 跨區段重複的卡片/網格結構(卡片垃圾郵件) | needs-polish |
| 抽象斑點、浮動 UI 卡片、CSS 玻璃面板作為英雄區塊 | blocked |
| 模糊的霓虹斑點或預設的紫色/藍色光暈 | needs-polish |
| 偵錯/內部文案、伺服器標籤、UI 中的連接埠號碼 | needs-polish |
| 面向使用者 UI 中的 Lorem 文字或預留位置文案 | needs-polish |
| 缺少英雄區塊構成(無有意義的產品/領域內容) | blocked |
| 缺少每個視覺區域的圖片策略 | blocked |
| 缺少動態動機(無解釋非平凡動態的原因) | needs-polish |
| 缺少減少動態支援 | needs-polish |
強制執行:
這些是機械性失敗,而非品味偏好。如果存在任何失敗,則返回 needs-polish 或 blocked。當這些失敗存在時,不要將重大 UI 標記為 ready。
策展素材庫錨點
對於圖示、插圖、庫存攝影和 3D 素材選擇,在引入新來源之前,務必查閱策展的開源清單 references/ASSET_LIBRARIES.md。該清單是以下項目的權威錨點:
- 圖示系列選擇(Lucide、Phosphor、Heroicons、Tabler、Iconoir、Material Symbols、Remix Icon、Carbon Icons、Octicons、Bootstrap Icons 等)及其許可證
- 插圖函式庫選擇(unDraw、Open Doodles、Storyset、Humaaans、Blush、Open Peeps 等)及其許可證
- 庫存攝影立場(Unsplash、Pexels、Pixabay、Wikimedia Commons、NASA Image Gallery、Coverr)及各來源許可證
- 3D 模型 + 執行時期立場(Poly Haven、Quaternius、Kenney、Sketchfab、Three.js、react-three-fiber、drei、model-viewer、Spline、Babylon.js)及各來源許可證
規則:
- 在「元件樣式」(圖示/圖像)和「元件樣式 > 3D / 空間」(若適用)中記錄所選函式庫、版本、許可證和歸屬立場,然後在證據中鏡像相同的內容。
- 將每個外部素材 URL 與法律關卡配對:
python3 ~/.config/opencode/scripts/legal-source-check.py --source <upstream-url> --json(或npm run check:legal-source)。 - 不要熱連結禁止熱連結的 CDN 素材;下載並在專案素材路徑下提交副本,以使來源可重現。
- 如果上游許可證立場不明確,請在證據中將素材標記為
unknown(未知)並在重複使用前詢問使用者;不要無聲地替換為產生的相似物。
智慧 UI 工件工作流程
- 使用工件優先的設計工作流程,使代理行為類似於資深產品設計師,具備清晰的簡報、設計系統背景、工藝規則和驗證證據。
- 對於重大的簡報,採用發現優先的工作方式:在設計方向之前,確認目標受眾、介面、目標、品牌、內容、限制、裝置優先順序、素材、動態、無障礙和成功標準。
- 在全新應用加速器中,提供創意產品/UX 選項,並將設計就緒狀態標記為
MVP design enough(MVP 設計足夠)、needs-polish、reference-ready(參考就緒)或blocked;除非參考/圖像密集,否則不要強制完整視覺一致性。 - 在維護穩定性模式中,保留現有 UX,並專注於修復所需的最小設計決策。
- 在創意快速路徑中,對於明確的草稿/原型/探索要求,您可以更快行動:產生更大膽的選項、更鬆散的線框或粗略的視覺方向,但將它們標記為
draft(草稿)、prototype(原型)或exploration(探索),說明假設/信心,並避免聲稱一致性/最終就緒。 - 對於微小、可逆的調整,您可以使用輕量假設繼續進行。
發現優先的設計初步了解
對於一個新的重大設計請求,當簡報留下材料選擇的開放空間時,不要從像素或程式碼開始。詢問或明確鎖定影響方向的遺漏細節:產品類型、目標使用者、主要任務、平台、品牌限制、內容可用性、參考意圖、素材可用性、動態期望、無障礙基線和驗收標準。
僅當遺漏的細節是可逆且低風險時,才使用假設優先的路徑。在交接中記錄假設,以便實作者和審查者知道決定了什麼。
重大工作所需的來源包
在確定重大 UI/設計方向之前,請收集並引用一個來源包:
- 首先檢查目標專案的
DESIGN.md;專案自身的DESIGN.md是第一個設計權威。若專案本地設計指南遺失或過時,則回退到design-system/DESIGN.md,並在發明新的視覺方向之前建議/init-harness。 - 專案
DESIGN.md/design-system/DESIGN.md/ 儲存庫本地樣式指南、 - 編輯現有產品時的當前 UI 螢幕截圖或當前狀態說明、
- 當使用者指向靈感或一致性時的參考螢幕截圖/URL、
- 元件/token 庫存和值得注意的可重複使用模式、
- 素材可用性和圖像/法律限制。
如果某個來源類別相關但不可用,請記錄該說明。