SKILL.md
唯讀
名稱
oracle
描述
透過 Oracle CLI 搭配選定檔案,進行第二模型的程式碼審查、除錯、重構與設計,支援 Token 乾跑預覽(dry-run)以及 API 或瀏覽器引擎。
oracle
Oracle 能將提示詞(prompt)與選定的檔案打包,交由第二 AI 模型進行單次分析與處理。輸出結果僅供參考,請務必比對實際程式碼與測試進行驗證。
主要路徑
目前 CLI 預設模型為 gpt-5.5-pro。瀏覽器引擎適合長時間的 ChatGPT Pro 推理任務;API 引擎則適合在已設定 OPENAI_API_KEY 或 Azure 設定時使用。
建議的預設用法:
- 先行預覽:
--dry-run summary --files-report - 瀏覽器長時運行:
--engine browser --model gpt-5.5-pro - 明確指定 API:
--engine api --model gpt-5.5
黃金路徑
- 精準挑選檔案集合(盡量減少檔案數量,但需包含完整事實依據)。
- 預覽 Payload 與 Token 消耗(
--dry-run+--files-report)。 - 長時間的 Pro 思考推理建議使用瀏覽器模式;明確的 API 調用使用 API 模式。
- 若執行過程中斷或逾時:重新連接至已儲存的 Session,切勿盲目重新執行。
常用命令(推薦)
-
說明選單:
oracle --help- 若未安裝執行檔:
npx -y @steipete/oracle --help(此處避免使用pnpx,因涉及 sqlite 原生綁定)。
-
模擬預覽(不消耗 Token):
oracle --dry-run summary -p "<task>" --file "src/**" --file "!**/*.test.*"oracle --dry-run full -p "<task>" --file "src/**"
-
Token 消耗確認:
oracle --dry-run summary --files-report -p "<task>" --file "src/**"
-
瀏覽器執行(主要路徑;耗時較長屬正常現象):
oracle --engine browser --model gpt-5.5-pro -p "<task>" --file "src/**"
-
手動複製備用方案:
oracle --render --copy -p "<task>" --file "src/**"- 備註:
--copy是--copy-markdown的隱藏別名。
附加檔案 (--file)
--file 支援傳入檔案、目錄與 Glob 萬用字元。可多次傳遞,多個項目也可以用逗點分隔。
-
包含 (Include):
--file "src/**"--file src/index.ts--file docs --file README.md
-
排除 (Exclude):
--file "src/**" --file "!src/**/*.test.ts" --file "!**/*.snap"
-
預設行為(實作規範):
- 預設忽略的目錄:
node_modules、dist、coverage、.git、.turbo、.next、build、tmp(除非明確以字面值傳入該目錄/檔案,否則一律跳過)。 - 展開 Glob 萬用字元時會遵循
.gitignore設定。 - 不追蹤符號連結(symlink)。
- 隱藏檔(Dotfile)預設過濾,除非透過模式主動指定(例如
--file ".github/**")。 - 單一檔案超過 1 MB 會直接被拒絕。
- 預設忽略的目錄:
引擎比較(API vs 瀏覽器)
- 自動選擇:若有設定
OPENAI_API_KEY則自動選用api,否則使用browser。 - 瀏覽器引擎僅支援 GPT 與 Gemini;若需使用 Claude/Grok/Codex 或多模型平行執行,請使用
--engine api。 - 瀏覽器附件上傳模式:
--browser-attachments auto|never|always(auto模式會在約 60,000 字元內直接內聯貼上,超出則改為上傳檔案)。
- 遠端瀏覽器主機:
- 主機端:
oracle serve --host 0.0.0.0 --port 9473 --token <secret> - 客戶端:
oracle --engine browser --remote-host <host:port> --remote-token <secret> -p "<task>" --file "src/**"
- 主機端:
Session 與 Slug 標籤
- Session 預設儲存於
~/.oracle/sessions(可用ORACLE_HOME_DIR覆寫)。 - 任務執行可能斷開連線或花費較長時間(尤其在瀏覽器 + Pro 模式下)。若 CLI 發生逾時:切勿直接重複執行,請重新連接 Session。
- 檢視清單:
oracle status --hours 72 - 重新連接:
oracle session <id> --render
- 檢視清單:
- 搭配
--slug "<3-5 個單字>"可讓 Session ID 更具可讀性。 - 系統建有重複 Prompt 防護機制;只有在確定要全新重跑時才加上
--force。
提示詞模板(高資訊密度)
Oracle 對專案背景毫無預備知識。請假設模型無法自行推導你的技術堆疊、建置工具、程式碼規範或「理所當然」的檔案路徑。建議包含以下內容:
- 專案簡介(技術堆疊 + 建置/測試指令 + 平台限制)。
- 「檔案結構與位置」(核心目錄、進入點/入口檔案、設定檔、範疇邊界)。
- 確切問題 + 嘗試過的解法 + 錯誤訊息原文(逐字複製)。
- 限制條件(例如「請勿修改 X」、「必須保留公開 API」等)。
- 期望的輸出格式(例如「提供修補方案計畫與測試」、「列出 3 種方案及其利弊權衡」)。
安全規範
- 預設請勿附帶機密敏感資訊(如
.env、金鑰檔案、驗證 Token 等)。請嚴格遮蔽敏感內容,僅分享絕對必要的資訊。
「完整提示詞」上下文還原模式
面對需要深入排查的複雜任務,建議撰寫一份獨立完整的 Prompt 與檔案清單,方便數日後能隨時重新執行:
- 包含 6 至 30 句的專案簡介與目標說明。
- 重現步驟 + 確切的錯誤訊息 + 已嘗試過的解法。
- 附加所有必要的上下文檔案(進入點、設定檔、核心模組、文件)。
Oracle 的執行屬於單次(one-shot)性質,模型不會記憶過往的執行記錄。「還原上下文」代表使用相同的 Prompt + --file … 參數組重新執行(或重新連接仍在執行的 Session)。






