生活分享

Claude Code|自訂斜線指令與舊格式移轉

理解舊 commands 格式並遷移至 Skills。舊專案可能把自訂指令放在 .claude/commands/,新教學則使用 .claude/skills/。本篇會保留既有呼叫習慣,將一個簡單審查指令移轉成 Skill,並檢查名稱、參數、附屬檔案與工具授權,避免移動檔案後表面可用、實際流程卻不同。

閱讀時間約 5 分鐘

自訂斜線指令與舊格式移轉:文件、螢幕與完成記號的幾何插圖
圖片:Mokaair (© Mokaair)
本篇目錄
  1. 舊格式仍然可以使用
  2. 建立可比較的移轉起點
  3. 搬到技能目錄
  4. 子目錄名稱需要另外處理
  5. 重新檢查路徑與授權
  6. 完成移轉的驗證矩陣

舊專案可能把自訂指令放在 .claude/commands/,新教學則使用 .claude//。本篇會保留既有呼叫習慣,將一個簡單審查指令移轉成 Skill,並檢查名稱、、附屬檔案與工具授權,避免移動檔案後表面可用、實際流程卻不同。

先閱讀與。你可以從乾淨的練習專案開始建立下面的舊格式範例,不需要先找到真正的舊專案。實際團隊移轉時,先保存 Git 基準並盤點使用者目前輸入的名稱。

舊格式仍然可以使用

舊格式仍然可以使用 → 建立可比較的移轉起點 → 搬到技能目錄
舊格式仍然可以使用 → 建立可比較的移轉起點 → 搬到技能目錄 · 圖片:Mokaair (© Mokaair)
閱讀完整文字說明

自訂斜線指令與舊格式移轉,以流程和文件圖形呈現教學重點。

目前 Claude Code 將自訂 commands 納入 Skills 的功能範圍,既有 Markdown 指令檔仍可運作。因此移轉的主要好處是把流程、範本與腳本放在同一資料夾,並使用更完整的呼叫控制;不是看到 commands 資料夾就必須立刻刪除。

內建斜線指令、自訂指令與 CLI 啟動參數仍要分開。/help 由產品提供,/todo-audit 是你新增的流程,而 claude --help 是在終端機使用的參數。只有後兩者剛好都有 help 文字,並不代表它們能互換位置。

建立可比較的移轉起點

在練習專案新增 .claude/commands/todo-audit.md,使用下面這份只讀範例。先從同一資料夾開啟 Claude Code,呼叫一次並保存回報,作為移轉前的行為基準。

寫入 .claude/commands/todo-audit.md · markdown
---
description: 檢查待辦資料操作並列出證據。
disable-model-invocation: true
---
檢查 model.js 中新增、切換與刪除待辦的識別碼使用方式。
使用者補充重點:$ARGUMENTS
不修改檔案,不執行外部操作。
回報每個發現的檔名、條件與影響;沒執行測試就註明。
Claude Code 對話框:移轉前先記錄結果 · text
/todo-audit 注意不存在的識別碼

記錄輸入、讀取檔案與報告欄位,不要求模型每次逐字輸出完全相同內容。可驗收的重點是同樣的工作範圍、相同的關鍵限制,以及沒有把未執行項目寫成通過。

搬到技能目錄

建立 .claude/skills/todo-audit/SKILL.md,先完整複製舊檔內容,再視需要加入 name。專案技能的手動指令名稱來自資料夾名稱,因此保留 todo-audit 資料夾,才能保留 /todo-audit 入口。只改 frontmatter 的 name 並不會替本機專案技能重新命名指令。

寫入 .claude/skills/todo-audit/SKILL.md · markdown
---
name: todo-audit
description: 檢查待辦資料操作並列出證據。
disable-model-invocation: true
argument-hint: "[review-focus]"
---
檢查 model.js 中新增、切換與刪除待辦的識別碼使用方式。
使用者補充重點:$ARGUMENTS
不修改檔案,不執行外部操作。
回報每個發現的檔名、條件與影響;沒執行測試就註明。

確認新檔已保存後,把舊檔移到掃描資料夾以外的備份位置,再開新 session。相同名稱同時存在時 Skill 優先,但依賴這個優先順序會讓團隊難以判斷目前修改的是哪份內容;移轉完成應保留單一有效來源。

子目錄名稱需要另外處理

舊格式若是 .claude/commands/frontend/check.md,指令會包含子目錄命名,例如 /frontend:check。直接搬成 .claude/skills/check/SKILL.md 會改成 /check,不能只比較最後的檔名就宣稱相容。外掛技能則可能有外掛命名空間,還有不同名稱規則。

遇到這類情況先列出舊名稱與新名稱對照表,更新團隊文件及保存的提示詞。不要假設所有冒號命名都能用 name 欄位重現;需要維持舊入口時,可暫時保留舊指令並明確規劃切換日期,等使用者更新後再移除。

重新檢查路徑與授權

舊指令中的相對檔案引用可能因搬移失效。把範本放在技能資料夾內,並明確指出相對於哪個位置;需要穩定引用時使用 CLAUDE_SKILL_DIR。腳本不要只搬主檔而漏掉依賴,應盤點它讀取哪些設定與資料。

allowed-tools 並不是純說明欄位,它會給呼叫當回合相應的工具預先授權。移轉時逐項閱讀,移除已不需要的範圍,不能直接從網路範本帶入廣泛命令。新格式仍受正常影響,名稱變了不會自動使某個操作安全。

如果舊流程包含動態 shell 內容,先在獨立練習副本檢查命令會做什麼。建立一張輸入、輸出、副作用與錯誤碼的表,再決定是否保留。單純的檔案審查範例通常不需要在技能載入時先執行程式。

移轉前也要搜尋 README、團隊文件與常用提示中的舊指令名稱。入口改名卻沒有更新使用說明,常讓使用者以為功能已壞掉。把名稱、作用範圍與停用舊版的日期列在同一份紀錄中,讓切換可追蹤。

完成移轉的驗證矩陣

檢查情境預期結果需要保存的證據
不帶參數呼叫仍有預設審查範圍實際讀取的檔名
帶重點文字報告有回應重點具體發現與條件
附屬材料缺失明確指出缺檔不捏造範本內容
新 session 再呼叫只載入新來源名稱與輸出結構

若移轉後失敗,先恢復舊指令到原位置,將新 Skill 移出掃描範圍,再開新 session 驗證恢復。不要同時保留兩份不同版本並靠反覆重啟碰運氣,這會讓之後的維護更難追蹤。

小練習是完成 todo-audit 的移轉,保存前後各一份報告與名稱對照。完成判準是入口、參數和限制皆符合預期,Git 差異能清楚看出搬移與必要調整,且知道回復方式。需要分享給多個專案時,再閱讀。

回總目錄

  • 生活分享

    Claude Code|建立第一個 mod:在 Claude Code 行程內數工具呼叫

    寫一個三檔案的 mod,用驗證器與測試確認它掛上的事件。文件把 mod 定義成多了入口檔的 plugin:入口檔叫 hooks module,Claude Code 在事件發生時呼叫裡面的函式,函式可以觀察、改寫或接手事件。

  • 生活分享

    Claude Code|Git Worktree 平行工作

    隔離多個任務的檔案與分支。Git Worktree 讓同一儲存庫擁有多個工作目錄,各自使用分支與檔案。本篇會把待辦篩選與文件整理分開,確認兩個 session 不會直接改到彼此的檔案,再把其中一個成果整合回主分支。你也會知道何時可以安全清理工作目錄。

  • 生活分享

    Claude Code|雙 Worktree 實作與衝突整合

    隔離兩項功能,最後完成整合與回歸。兩個 Claude 工作階段同時編輯專案,最容易出現的問題是互相改到同一份檔案,或各自測試通過、整合後卻失敗。本篇用兩個 Worktree 分別處理篩選預設值與介面文字,故意製造一次小衝突,再完成整合、驗證與清理。你不需要先啟用 Agent Teams。

  • 生活分享

    Claude Code|比較流程品質、用量與執行時間

    以同一資料集比較兩種工作方法。比較兩種 Claude 工作方法時,不能只挑成功那一次,也不能只看第一個答案有多快。本篇用固定案例、原始紀錄和一致判準,比較品質、重試、等待與人工整合時間,最後寫出有樣本數與限制的報告,而不是保證某個方法一定省錢。

最新旅遊情報攻略

資料來源

生活分享