終端機顯示 Agent Skills 匯出成功,Codex 卻沒有使用 Apple 的指引?
最快修復:先確認命令列工具實際指向 Xcode 27,再依 Apple 發布說明將技能匯出至 Codex 技能目錄;切換工具鏈後仍無效,就核對匯出路徑與 Codex 是否讀取該目錄,不要把匯出成功當成已載入。
- 使用 Codex 編寫 Swift 或 SwiftUI 專案,想採用 Xcode 27 隨附 Apple 指引的開發者。
- 透過 SSH 管理遠端 Mac,並維護多套 Xcode 工具鏈的 DevOps 工程師。
- 想區分個人技能目錄與團隊共用指令的研發平台維護者。
最後核對:2026 年 10 月 10 日;資料依據為 Apple Xcode 27 發布說明、Xcode 系統需求及 Apple 開發者活動中的 Agent Skills 示範。發布前或 Apple 更新說明後,仍應重新核對命令與路徑。
SECTION 01 先判斷故障落在哪個節點
Xcode 27 Agent Skills 在 Codex 不可用,通常不能只靠「匯出命令有沒有成功」判斷。你需要分開驗證三件事:目前執行的 xcrun 是否來自 Xcode 27、Apple 的技能檔案是否寫入預期目錄,以及 Codex 是否真的讀取並遵循了技能內容。Apple 的發布說明記錄了技能可能未出現在 Codex 的已知問題及處理方式;請以該說明所列工具鏈條件和匯出命令為準,而非套用其他版本的操作經驗。Apple Xcode 27 發布說明
先用下列對照判斷下一步,避免反覆匯出、覆蓋檔案,卻沒有確認故障點:
| 觀察到的狀態 | 優先檢查 | 下一步 |
|---|---|---|
xcrun agent skills export 無法執行或找不到子命令 |
活動開發者目錄與 Xcode 版本 | 確認目前選中的是包含該功能的 Xcode 27,再重試 |
| 命令完成,但預期目錄沒有新檔案 | Apple 指定的匯出選項、目標路徑與目錄權限 | 依發布說明重新確認目的地;不要先改用猜測的參數 |
| 檔案存在,Codex 仍未採用 | 技能目錄層級、目前 Codex 版本的發現方式 | 按 Codex 說明核對可讀取位置,再用實際任務測試 |
| 同一台 Mac 裝有多套 Xcode | 活動工具鏈與匯出目的地是否配對 | 先記錄兩者,再執行匯出 |
SECTION 02 命令找不到時,先檢查活動工具鏈
xcrun 會依目前選定的開發者目錄尋找工具;安裝了 Xcode 27,不代表終端機目前就在使用它。若命令不可用,先查實際狀態,不要一開始就重裝 Codex 或修改技能檔案。
在遠端 Mac 的終端機執行:
xcode-select -p
xcodebuild -version
xcrun --find swift
第一個輸出用來確認目前選定的 Developer 目錄;第二個可協助辨認 xcodebuild 回報的 Xcode 版本;第三個則能確認 xcrun 從哪個工具鏈找到 Swift。這些是不同線索,不能只看 Xcode 應用程式的檔名,就推定命令列也指向同一套工具鏈。Apple 說明了命令列工具與開發者目錄的選擇方式;如果你的環境有多套 Xcode,應以終端機輸出作為當下狀態證據。Apple 命令列工具說明;Apple 命令列工具技術說明
如果確認路徑並非目標 Xcode,才切換工具鏈。以下範例的路徑必須替換成你實際安裝的 Xcode 27 Developer 目錄,不要直接假設應用程式名稱或安裝位置:
sudo xcode-select --switch "/實際路徑/Xcode.app/Contents/Developer"
xcode-select -p
xcodebuild -version
切換後重新執行查核命令;只有輸出與預期工具鏈相符,才進入技能匯出步驟。若遠端 Mac 上尚未安裝符合要求的 Xcode,先核對 Apple 的 Xcode 系統需求,不要把缺少工具誤診成 Codex 載入失敗。
注意:多套 Xcode 並存時,匯出技能前、切換工具鏈後都要留存
xcode-select -p與xcodebuild -version的輸出。它們能協助你分辨「命令來自哪套 Xcode」與「技能寫到哪個位置」,但本身不能證明 Codex 已載入技能。
SECTION 03 工具鏈正確後,依 Apple 指引匯出至 Codex
Apple 發布說明提供了針對技能未出現在 Codex 的處理方式,重點是先選取 Xcode 27,再使用 Apple 指定的匯出方式,把技能放到 Codex 對應的技能目錄。Apple 的開發者活動亦示範了 Agent Skills 的匯出流程;命令選項及目的地請以這些官方資料中適用於你目前版本的說明為準。Apple Xcode 27 發布說明;Apple 開發者活動示範
照以下順序操作:
- 記錄工具鏈。 先保存
xcode-select -p和xcodebuild -version的輸出,確認現在的命令列環境確實是目標 Xcode 27。 - 核對匯出語法。 對照 Apple 發布說明中的
xcrun agent skills export命令及該版本要求的參數。不要猜測--path、--to等選項;如果說明列出不同格式,照原文執行。 - 確認 Codex 目的地。 依 Apple 對 Codex 的指定位置及目前 Codex 文件核對目錄,不要把任意常見的 Agent 目錄當成必然適用。OpenAI 對技能的概念、組成與使用方式另有說明,可用來檢查目前版本的技能規則。OpenAI 技能說明
- 執行匯出並留存結果。 記下完整命令、終端機輸出與目的地;命令回報完成,只能表示匯出流程有回應,不能取代檔案核對。
- 檢查目錄內容。 查看目標目錄是否出現技能檔案,確認檔案層級與 Apple 說明相符。不要因為找到同名檔案,就認定它是本次匯出的版本。
- 再進行 Codex 驗收。 用適用的 Swift 任務測試技能是否被讀取,以及產出是否遵循其中的指引。
操作時可先把 Apple 文件列出的目標路徑逐字記錄下來,再核對實際檔案;若你無法確認命令對既有目錄的處理方式,先不要重複匯出。尤其是任何可能覆蓋現有內容的參數,請先查看 Apple 對該參數的說明並備份原目錄,再執行;不要自行推定它只會新增檔案。
SECTION 04 檔案已匯出,Codex 為何仍可能沒有採用?
「檔案已生成」、「檔案位於預期目錄」與「Codex 已識別並使用」是三種不同狀態。前兩者可以從終端機和檔案系統查核;第三者則需要在你使用的 Codex 版本中實際驗證。若該版本文件沒有明確說明發現路徑或更新時機,就不要把某個目錄慣例寫成所有版本通用的載入規則。
檢查時按這個次序縮小範圍:
- 核對完整路徑,而非只看檔名。 比較匯出目的地、使用者帳戶及技能目錄層級;以另一個帳戶執行匯出,可能造成你在目前 Codex 工作階段中找不到檔案。
- 檢查檔案是否完整且結構符合規則。 對照 Apple 匯出的內容,以及目前 Codex 文件對技能格式的要求。檔案在目錄中,不代表內容必定符合讀取條件。
- 確認 Codex 工作階段的上下文。 在相同使用者、專案與工作階段中進行驗收。若你調整了技能目錄或匯出內容,重新開啟工作階段後再測試,並記錄是否因此改變;這是排查步驟,不代表每個版本都必須重啟才會載入。
- 要求它完成可觀察的工作。 選一項與技能範圍相符的 Swift、SwiftUI 或 UIKit 小任務,要求 Codex 按技能中的具體規範處理,再檢查程式碼或解釋是否確實遵循。只問「你有沒有讀到技能」不能單獨作為驗收證據。
- 記錄未解決的差異。 若結果仍不符預期,保留工具鏈輸出、命令、目標路徑、目錄內容與任務結果,再查 Apple 與 Codex 對應版本的文件;先不要再覆蓋一次。
SECTION 05 遠端 Mac 多工具鏈與團隊共用設定怎麼管理?
遠端 Mac 常同時服務不同專案或建置工作;若一個工作階段切換了 Xcode,另一個工作階段卻沿用舊判斷,技能來源就容易和實際建置工具鏈脫節。個人技能目錄與團隊倉庫中的共用指令也不應混為一談:前者供個人環境驗證,後者需要經過版本管理與團隊審查。
建議把以下資訊寫入專案維運紀錄:使用者帳戶、活動 Developer 目錄、Xcode 版本、Apple 匯出命令、技能目的地、Codex 版本及 Swift 任務驗收結果。團隊若要共用指令,先依 Codex 文件確認可支援的專案層級位置與格式,再透過程式碼審查決定是否納入倉庫;不要把個人帳戶目錄直接視為團隊共用方案。
提醒:遠端環境中看到的檔案,不一定屬於你目前登入的帳戶,也不一定位於正在使用的專案目錄。遇到「終端機找得到、Codex 看不到」時,先核對帳戶與絕對路徑,再判斷是否為載入問題。
如果你目前沒有可用的 Xcode 27 環境,或本機無法重現工具鏈切換情境,可以先查閱 VPSNIX 遠端 Mac 使用入口與方案及計費資訊,再決定是否需要遠端環境完成這次驗證。現有的 Linux 雲端主機缺少 macOS 與 Xcode 工具鏈;在本機安裝多套 Xcode 會佔用磁碟並增加版本管理工作;臨時借用的 Mac 則未必能讓你保留相同帳戶與目錄狀態。若你只需短期重現問題,租用 VPSNIX 的遠端 Mac 可讓你在可連線的 macOS 環境中核對工具鏈與技能匯出;若需求是長期固定負載或必須直接使用本機實體介面,則應先評估自購設備是否更合適。