com um clique
update-settings-options
同步 Claude settings docs 變更到 repo(type/UI/i18n/tests/docs)
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
同步 Claude settings docs 變更到 repo(type/UI/i18n/tests/docs)
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | update-settings-options |
| description | 同步 Claude settings docs 變更到 repo(type/UI/i18n/tests/docs) |
| model | opus |
| allowed-tools | Read, Write, Edit, Bash, Grep, Glob, Workflow, AskUserQuestion |
讓 extension 的 settings surface(schema + 衍生 types + UI + i18n + tests + docs + env registry)跟上 Claude Code 目前有哪些設定選項——以官方 docs code.claude.com/docs/en/settings.md 為準,由確定性 CLI 偵測 gap。
sync settings from docsupdate settings optionsClaude settings docs changed這個 skill 用一個 workflow 跑「探查」,再由主迴圈做「決策 + 套用 + 驗證」。分工不是半套,是兩個硬限制逼出來的:
AskUserQuestion — section 歸屬的確認必須回主迴圈做。CLAUDE.md)— workflow 會 fan-out 平行 agent,若在裡面跑 typecheck/test/build 會違反「整台機器同時僅一個」。所以:workflow 擁有唯讀、可平行、無副作用的部分(跑 CLI 取 gap → 逐 gap 分類),回傳結構化 gap report;主迴圈擁有互動 + 寫檔 + 序列驗證的部分。
code.claude.com/docs/en/settings.md(直接 curl 取 Markdown,確定性 parse)code.claude.com/docs/en/env-vars.md(同上)scripts/settings-sync-diff.ts(curl live docs → parse → diff against repo schema → 輸出 JSON)。exit 1 = health failure 或 fetch error,workflow 即報錯。細節見 references/sources.md。
Schema 含多種 key,只有 user-facing 需要進 settings UI。判定準則與完整 excluded 清單以 references/surface-map.md 為準;機器強制排除清單(SSOT)在 src/shared/settings-sync/settings-diff.ts 的 KNOWN_EXCLUDED。
| Category | 處理 |
|---|---|
| user-facing | 同步(按 surface-map 分 section) |
| anti-direction | 同步到現有 AdvancedSection(啟用後違反低成本/高效率/高精度方向) |
| managed-only | skip → 加入 KNOWN_EXCLUDED |
| plugin-internal | skip → 加入 KNOWN_EXCLUDED |
| deprecated | skip → 加入 KNOWN_EXCLUDED |
| meta | skip → 加入 KNOWN_EXCLUDED |
Workflow({ scriptPath: ".claude/skills/update-settings-options/references/scripts/sync-settings.workflow.js" })
腳本(references/scripts/sync-settings.workflow.js)兩個 phase,全唯讀:
npx tsx scripts/settings-sync-diff.ts(cwd repo root),拿回 JSON { settingsGaps, envGaps, counts, health }。presence-diff 是該 CLI 的確定性結果,已扣掉 KNOWN_EXCLUDED。CLI exit 1 → 報錯。settingsGap(string key)指派 section(用 surfaceMapHint)、判斷是否 isObjectEditor(需手寫 object editor)、標記 non-user-facing key 需加入 KNOWN_EXCLUDED。envGaps 原樣傳回,不走 LLM。回傳:categorized(含 category + suggestedSection + isObjectEditor)、userFacing、nonUserFacing(需加 KNOWN_EXCLUDED)、envGaps、counts。
要改 workflow 邏輯:編輯該
.js檔後重跑;前次 workflow run 的runId可帶入Workflow({ resumeFromRunId })命中快取,跳過已完成的 phase。不要把腳本貼進對話。
userFacing、nonUserFacing、envGaps 三者皆空 → 報告同步完成並 END。nonUserFacing 清單非空 → 提報使用者(僅供知悉,不 apply),確認後把各 key 加進 KNOWN_EXCLUDED;userFacing 若同時非空,兩份清單一起回報,apply 只對 userFacing 跑。envGaps 非空 → 提報使用者,確認後更新 src/shared/known-env-vars.ts(注:CLI 目前 envGaps 固定為 [],此分支留作未來 env gap detection 就緒後使用)。userFacing 非空且 section 歸屬不明確 → AskUserQuestion 讓使用者確認。Apply 是主迴圈步驟,不放進背景 workflow。 依 CLAUDE.md 規定,互動 gate / 審查 / 不可逆動作留互動主流程。
對每個 userFacing gap,依其 isObjectEditor 走對應路徑:
用 /build TDD 流程:
src/shared/claude-settings-schema.ts — 在目標 section 陣列的對應主題群組加 field(booleanField / stringField / createField)。npm run generate:settings-types 重生 claude-settings-types.generated.ts(禁手改)。en.ts、ja.ts、zh-TW.ts 各加 settings.<section>.<key>.label / .description(enum 另加每個選項值 key)。SchemaFieldRenderer 依 schema 自動渲染。createField + controlTypeOverride: Object)。src/webview/editor/settings/components/ObjectFieldEditor.tsx dispatcher 加 case '<key>',否則掉進 console.warn + return null silent 路徑。TextSetting(JSON textarea)——視複雜度。三條 render path 見 references/surface-map.md(render path 節)。permissions/hooks/env key 走全手寫 render,不走 SchemaFieldRenderer。
npm run verify 全綠(含 check:schema Phase 4 i18n-completeness + generate --check)。npx tsx scripts/settings-sync-diff.ts 確認 settingsGaps 歸 0。isObjectEditor=true 提醒。HookCommand type union(固定集合);event types 走動態 Object.keys,不列舉、不會 driftKNOWN_EXCLUDED,不默默忽略npx vitest run <files>,避開全套慢查)npm run typechecknpm testnpm run build最終回報必列:新增 key、刪除 key、修改 key、non-user-facing keys(已加 KNOWN_EXCLUDED)、env var 變更、受影響 section、驗證結果、settingsGaps 最終數。
references/sources.mdreferences/surface-map.mdreferences/editor-patterns.mdreferences/env-vars-source.mdreferences/scripts/sync-settings.workflow.js