Community寫作與編輯github.com

rundesk-ai/rundesk-cli

持久、主動、自我改善的 AI 團隊夥伴,具備記憶、技能與排程能力。

rundesk-cli 是什麼?

此技能為 Rundesk 生態系統中開發與管理 AI 代理技能的核心指南,定義了技能的建立、路由、測試與發布標準。它強調模組化設計,將技能視為指令邊界,工作流程腳本視為確定性機制,整合視為外部服務邊界。技能透過標準化目錄結構(包含 SKILL.md、scripts、references 等)組織,並要求使用精確的 frontmatter 路由規則,僅在描述中提供觸發條件,而非實作細節。該技能支援所有 Rundesk 平台上的代理,透過 `rundesk.json` 定義環境需求,並使用 `scripts/` 目錄封裝可重複使用的命令。其主要價值在於提供一套嚴謹的開發流程:確保技能僅在需要獨立路由、判斷、權限或證明時才被建立,並透過完整的測試與驗證步驟(包含直接/間接請求測試、基線比較、以及對生成內容的獨立審查)來保證品質。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add rundesk-ai/rundesk-cli

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

撰寫技能

重複使用現有擁有者

在建立套件前,請先檢視現有的技能目錄。對於儲存庫工作,請在授權的工作區中搜尋目標目錄及所有相關的原始目錄。對於授權的即時函式庫工作,請使用 Rundesk 的目錄與技能列表;請勿為了繞過任務的存取邊界而開啟即時函式庫。在決定之前,請閱讀可能匹配項目的描述,然後閱讀其主體及相關參考資料。

當請求的功能與某個現有擁有者在使用者意圖、工作流程與權限上一致時,請擴展現有擁有者。在該處新增支援腳本、參考資料或測試,而不是建立第二個路由表面。僅在該功能需要不同的路由、判斷、權限或證明時,才建立新的技能;並記錄該差異,以避免僅因名稱相近而被視為正當理由。

選擇工件

  • 技能是指令邊界:何時行動、應用何種判斷、遵循哪個程序,以及如何證明結果。
  • 工作流程腳本是確定性機制,用於重複的本地轉換、驗證或編排。
  • 整合新增了外部服務邊界:憑證、帳戶、網路故障、權限或遠端影響。

將一次性自動化保留在其專案中,並將單一代理的私有重複命令保留在該代理的腳本區域。僅在未來回合需要路由或判斷才能使用時,才將腳本封裝在技能中。請勿以代理必須重新解釋的散文來取代確定性程式碼。

在發布任何可重複使用的腳本之前,請閱讀可重複使用的工作流程腳本。當腳本使用憑證、設定檔、OAuth、網路或遠端影響時,也請閱讀外部服務整合。

安全放置

僅在授權進行即時建立或安裝時,才在 local 中建立私有技能。對於草稿、審查、儲存庫變更或隔離測試,請留在指定的工作區或暫存目錄中;請勿檢查或變更即時函式庫來找出結果可能最終放置的位置。

對於授權的私有技能,請向 Rundesk 請求函式庫,而不是從 RUNDESK_HOME 推導或嵌入絕對路徑。請取代範例名稱:

skill_name=release-notes
skill_library=$("$RUNDESK_COMMAND" skills | sed -n '1s/^skills in //p')
test -n "$skill_library" || exit 1
mkdir -p "$skill_library/local/$skill_name"

撰寫 <library>/local/<name>/SKILL.md,然後將其授予指定的代理:

"$RUNDESK_COMMAND" skills grant "$RUNDESK_AGENT" local/release-notes

該授予將在代理的下一個回合(而非當前回合)變為可發現。在為其他安裝建立技能之前,請閱讀發布技能目錄;發布的技能屬於目錄儲存庫,而非 local。

僅使用所需形狀

<name>/
├── SKILL.md          必要:路由與核心程序
├── rundesk.json      可選:必要的環境值
├── scripts/          可選:可重複使用的命令
├── tests/            可選:當目錄測試區域不擁有其所有權時的腳本合約
├── references/       可選:條件式載入的詳細資訊
└── assets/           可選:複製或輸出的材料

僅在有內容時才建立可選路徑。省略 README、更新日誌、安裝指南與建立歷史。

先撰寫路由

frontmatter 僅包含 name 和 description。

  • 將 name 與目錄名稱匹配。最多使用 64 個小寫字母、數字及單一連字號。
  • 根據使用者意圖進行路由,包含可能未提及技能名稱的間接請求。以 Use when、Apply when 或等效的適用性語言開頭;提示詞句並非觸發條件。
  • 目標為兩個簡短的句子:適用性,然後是所提供的專門工作流程或知識。僅對可能接近的精確匹配項目新增 Do not use。僅包含身體載入前路由所需的概念。省略步驟、測試、效益聲明與實作細節;僅在檔案類型、工具或格式決定技能是否應觸發時才提及它們。
  • 使用仍能正確路由的最短描述;1,024 個字元是上限,而非目標。將每個觸發條件都放在那裡,因為每個持有者每個回合都需要為其付出代價,且在路由成功之前身體是不可用的。
# 錯誤:嵌入了無法幫助路由的實作與驗證。
description: Use when creating release notes. It reads Git history, writes Markdown, groups commits, checks links, runs validation, and produces concise internal and public versions with accurate formatting.

# 正確:僅說明意圖、所提供的判斷以及最接近的邊界。
description: Use when preparing release notes from shipped repository changes. It supplies an audience-focused workflow grounded in verified history. Do not use for unreleased plans.

僅保留行為指引

以執行順序使用命令式步驟。假設讀者能夠推理、編輯並使用一般工具。僅在能改變執行、防止可能失敗或路由所需細節時,才保留一個句子。

  • 將核心程序、一個強預設值以及不明顯的陷阱保留在 SKILL.md 中。
  • 對脆弱的操作使用精確命令;對多種方法都可行的情況使用簡潔的判斷。
  • 解釋某個約束所要防止的失敗,而不是加入未說明的強調。
  • 在介紹每個參考資料時,說明何時應閱讀它。保持單一事實來源;使用連結而非重述。
  • 移除背景、處理歷史、過時的聲明以及已在別處載入的規則。
  • 區分觀察到的合約與建議的預設值。追蹤技術約束的來源,並將真實的陷阱教導為症狀、原因、替代方案與可觀察的證明。

將 SKILL.md 保持在 500 行以下;將條件式詳細資訊移動一層到連結的參考資料中。

預算上下文

部分Token 成本保留在該處
description每次回合最短的完整觸發條件
SKILL.md路由之後核心程序、預設值、陷阱
references/閱讀時條件式詳細資訊與較大範例
scripts/輸出進入上下文具有有限輸出的確定性工作
tests/僅驗證可執行的合約與邊緣案例
assets/使用時範本與輸出材料

偏好簡短的範例。限定腳本輸出為下一個決策所需的部分。

證明整個技能

  1. 驗證目錄名稱、frontmatter 名稱、描述語法與限制。

  2. 當需要授予時,套用該授予並驗證下一個回合:

    "$RUNDESK_COMMAND" skills list "$RUNDESK_AGENT"
    "$RUNDESK_COMMAND" skills doctor "$RUNDESK_AGENT"
    
  3. 執行每個腳本參考擁有的邊緣矩陣與直接可執行進入點。

  4. 在不同的全新回合中,嘗試直接請求、間接請求以及一個接近的精確誤判。確認身體與必要的參考資料在工作開始前載入;按類別修復路由,而非複製提示詞句。

  5. 對於一個重要的技能,將相同任務與沒有該技能的新的基線進行比較。然後讓一個單獨的測試代理在不具備預期實作的情況下使用它。直接審查工件與命令;代理的摘要並非證明。移除未帶來實質改善的指引。

  6. 將生成的書面內容與可執行正確性分開審查:路由精確性、執行順序、有用的判斷、簡潔性、重複性與參考紀律。綠色的腳本測試並不能證明書面內容的品質。驗證或觀察事實承諾;測試可執行的聲明並縮小部分真理。用一個對抗性的反例來挑戰語意聲明,該反例應在保留便捷聚合的同時,改變真實的關係或結果——變異檢查無法修復錯誤的測試預言機。審查整個介面,包括空成功、重複證據以及每個資料依賴的輸出區段。

相關技能