Communitygithub.com

heyeuca/less

從文字、程式碼和 UI 程式碼中移除沒有明確存在理由的元素,同時保留正確性、必要脈絡、安全性、無障礙性以及使用者要求的一切。當使用者要求刪減、修剪、移除、簡化、緊縮、縮短或整理內容,或說「太長」、「太雜亂」或「看起來很亂」,或要求清理 AI 生成的輸出時使用。不適用於建構或新增 UI 功能、無障礙稽核或效能重構。

less 是什麼?

Less 是一個 AI 代理技能,旨在幫助開發者從文字、程式碼和 UI 程式碼中精簡掉多餘的元素,僅保留有意義存在的部分。其核心原則是每個元素都必須有「明確的存在理由」,否則就應移除。該技能支援多種平台,包括 Claude Code、Cursor 和 Codex,並可套用於寫作內容、程式碼和 UI 設計(如 HTML/CSS、JSX、Tailwind)。 技能會依照嚴格的優先順序進行移除:先處理 AI 添加的問候語和結尾,再依序處理修飾語、重複內容和非必要的抽象化。同時,它明確列出「絕不刪除」的項目,包括數字、單位、日期、安全警告、歸屬引用,以及其他任何無法確定用途的內容。在移除任何程式碼或選項前,技能會檢查現有的呼叫者、匯出和相關測試,確保不破壞外部使用的簽章和行為。 此技能的獨特之處在於其細緻的判斷機制:不僅檢查每個元素是否多餘,還會考慮上下文脈絡,例如修飾語可能影響後面的句子。技能會持續比較修改前後的結果,確保不改變宣稱強度或意外編輯到良好的相關內容。除非使用者特別要求,否則不會進行獨立風格改寫、翻譯、固定長度摘要或事實查核。最終輸出僅包含精簡後的文字或程式碼,格式和語言保持不變。

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

在你喜歡的 AI 中提問

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

說明文件

less 是做什麼的?

更少,但更好。只保留有存在理由的內容。

測試

對於每個元素(句子、附帶說明、標題、項目符號、註解、函式、參數、選項),請問:這個元素有明確的存在理由嗎? 如果沒有,就移除它。清晰勝過簡潔。不確定時,請保留它。 判斷一個段落在上文脈絡中的作用,而不是它是否符合某個固定用語。 閱讀前後文:一個修飾語可能影響後面的句子。 保留未確認移除目標之外的句子和程式碼區域不變;僅允許這些移除所需的局部修復。

使用時機

僅在收到請求或明確提示時使用,而不是在單純撰寫草稿或新程式碼時。 移除不必要的内容;僅允許保持結果語法正確或可執行所需的局部編輯(例如內聯化一個冗餘的輔助函式)。不做獨立的風格或語氣改寫、翻譯、固定長度摘要、事實查核、演算法替換或效能工作。

不適用

原樣返回輸入內容,並加一行說明原因,適用於以下情況:

  • 法律、合約或其他原文;引用和逐字稿。
  • 使用者未指明的程式碼、設定或命令。

僅更改使用者指定的程式碼。使用者設定的長度或格式並非排除條件:在其範圍內工作。

移除順序

首先檢查每個候選項是否屬於「絕不刪除」的範圍,尤其是使用者自己的問候語和結尾語。

寫作:

  1. 你添加的前言、重複提問和問候語(「好問題!」)。
  2. 你添加的結尾總結和提議,或結束 PR 說明、提交訊息或文件的內容(「希望這有幫助」、「想讓我...」)。
  3. 不改變任何內容的修飾語和填充詞。
  4. 重複的要點(保留最清晰的那個)。
  5. 未要求的附帶說明和替代方案,且不改變讀者要做的事。
  6. 約 5 句以下的答案中的裝飾:標題、粗體、項目符號。
  7. 合併並縮短其餘部分,保持句子完整。編輯使用者文字時,不要合併或改寫句子;僅修復因刪除而直接受影響的語法。

程式碼:

  1. 重複程式碼的註解。
  2. 不必要的抽象:輔助函式、包裝器、介面、工廠。 單獨使用並不能證明抽象是不必要的。
  3. 未要求的選項、旗標、設定。
  4. 針對從可見程式碼中證明不可能發生的情況的防禦性程式碼。 否則保留它。

在移除程式碼或選項之前,檢查可用的呼叫者、匯出和相關測試。除非使用者明確要求更改,否則保留外部使用的簽章和行為。在程式碼編輯後執行相關的現有檢查;如果無法確定用法或行為,請保留該候選項。

文件:逐節應用測試。保留讀者導航所需的結構:標題、目錄和錨點、其他地方引用的編號步驟、包含資料的表格。僅當整個章節無法通過測試時才移除。除非整個章節被刪除,否則保留每個標題及其目錄條目;切勿將章節合併到引言中。

設計:對於使用者指定的 UI 程式碼,對元素和樣式應用測試。僅在檢查 references/design.md(移除順序和絕不刪除列表)後才移除。該處未要求的內容指的是代理添加的內容,而非使用者撰寫的內容。僅更改標記和樣式;不進行新的美學設計。不適用於建構新 UI、螢幕截圖或 Figma 檔案。

絕不刪除

  • 正確性:數字、單位、日期、條件、例外、否定。
  • 宣稱強度:不確定性、近似值、範圍、因果關係和義務。保留具有意義的修飾語,例如「大約」、「一些」、「最多」、「可能」和「必須」;縮短不得強化或弱化宣稱。
  • 必要的脈絡:讀者行動所需的資訊(先決條件、步驟、版本)。
  • 安全性:資料遺失、安全、金錢、法律、不可逆操作警告。
  • 使用者的要求:要求的內容、格式、長度、限制。
  • 歸屬和引用。
  • 編輯使用者文字時的使用者語氣。不要改寫風格。
  • 在發送給他人的訊息(電子郵件、聊天、信件)中,使用者撰寫的:問候語、結尾語,以及要求回覆或提問的句子(「讓我知道是否...」)。例如「如果有任何不清楚的地方,請隨時聯絡我。」保留;你可以修剪「隨時」和「仍然」。僅保護問候語和結尾語:使用者文字中的其他填充詞(「基本上」、「字面上」、「只是」)仍然被刪除,保留他們的語氣。
  • 禮貌級別:존댓말/敬語形式、様、問候語、結尾語。其中的堆疊軟化語和強調詞(정말、혹시、大変、誠に、何卒)僅是候選項:當它們帶有不確定性或社交意圖時保留它們。
  • 程式碼:行為(輸出、副作用、錯誤);在真實邊界(I/O、網路、使用者輸入)的錯誤處理;「為什麼」的註解、限制、安全性說明;除非被要求,否則保留公開 API 和簽章;影響檢查或執行階段的型別註解;僅用於測試的掛鉤和接縫。
  • 任何你無法確定用途的內容。

停止

當每個元素都通過測試時停止,或者當下一次刪除將損害意義或需要猜測時停止。將結果與來源進行比較,檢查是否有改變的宣稱強度以及對良好相關內容的意外編輯。 永遠不要為了達到某個長度而刪除。如果使用者要求縮短他們的文字,則無法通過測試的填充詞將被刪除;未更改的部分需要理由。

輸出

僅輸出精簡後的文字或程式碼,格式和語言與輸入相同。例外:在「不適用」下的一行說明。除非使用者要求,否則不要評論被刪減的內容;如果要求,則列出它們。如果沒有內容需要更改,則原樣返回。

相關技能