mcpField
U
update-claude-settings

update-claude-settings

github.com/ulpi-ioAgent 工作流5133 次安装9 周前更新
代码仓库

关于 update-claude-settings

一个根据仓库中实际存在的文件和工具审查、更新 Claude 项目设置的技能。它提出精简的权限与集成建议,写入前要求批准,并验证生成的 JSON。

主要功能

  1. 01检测仓库工具链
  2. 02审查现有 Claude 设置
  3. 03建议适用的命令和集成
  4. 04修改前要求批准
  5. 05验证更新后的 JSON

适用场景

  1. 01审查项目的 Claude 设置
  2. 02为已检测到的开发工具添加权限
  3. 03根据项目集成检查 MCP 配置

MCP 相关

它可根据检测到的项目服务建议 MCP 集成,并在有依据或获得明确请求时更新 `.mcp.json`。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ulpi-io/skills --skill update-claude-settings

安装后在 Claude Code 中输入/update-claude-settings确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
command-catalog.md
output-contract.md
stack-detection.md
webfetch-and-mcp.md

详细介绍

此技能会更新持久化的 Claude 配置,必须以证据为依据。

不可妥协的规则:

  1. 推荐任何命令前,先根据仓库文件检测实际技术栈。
  2. 提出更改前,先读取现有的 .claude/settings.json、.claude/settings.local.json 和 .mcp.json。
  3. 仅包含项目中实际检测到的工具对应的命令和集成。
  4. 排除破坏性系统命令、绝对路径和用户专属路径。
  5. 写入任何设置文件前,必须获得用户明确批准。

更新 Claude 设置

输入

  • $request:可选指导,例如本地设置还是共享设置、技术栈提示或请求集成

目标

通过以下步骤生成可信的设置更新:

  • 检测实际工具链和框架
  • 将该技术栈与当前 Claude 设置进行比较
  • 仅提出必要的命令权限、域名和 MCP 集成
  • 在写入前获得批准
  • 验证生成的 JSON 文件

步骤 0:确定目标模式

确定用户希望更新的内容:

  • .claude/settings.local.json
  • .claude/settings.json
  • .mcp.json
  • 仅提供审查建议,不进行写入

默认行为:

  • 用户本地权限优先使用 .claude/settings.local.json
  • 仅当用户明确要求共享项目设置时,才使用 .claude/settings.json
  • 仅当检测到的集成有充分依据时,才更新 .mcp.json

成功标准:明确指定目标文件,以及仅审查还是写入模式。

步骤 1:检测实际技术栈

检查仓库根目录和相关配置文件,以识别:

  • 语言
  • 包管理器
  • 框架
  • 构建工具
  • 单体仓库结构
  • 服务集成
  • 项目本地 CLI 或基础设施工具

加载 references/stack-detection.md,查看指示文件和检测规则。

规则:

  • 根据实际文件检测,不做假设
  • 选择包管理器时,优先依据锁文件,而非猜测
  • 使用依赖清单确认框架和集成
  • 如果仓库实际上为空,请停止并询问用户预期使用的技术栈,而不是编造设置

成功标准:明确列出检测到的技术栈,并由实际文件佐证。

步骤 2:读取当前设置并找出差距

读取现有的:

  • .claude/settings.json
  • .claude/settings.local.json
  • .mcp.json

记录:

  • 当前允许的命令
  • 必须保留的拒绝规则或用户自定义设置
  • 已不再适用的工具对应的过期命令
  • 当前工具缺少的命令

规则:

  • 不要盲目覆盖现有设置
  • 尽可能保留用户意图
  • 区分共享设置和本地设置

成功标准:了解当前配置状态,以及与检测到的技术栈之间的差距。

步骤 3:整理建议

根据以下内容整理建议:

  • 安全基线命令
  • 技术栈专用命令
  • 包管理器专用命令
  • 框架专用命令
  • 文档域名
  • 针对检测到的服务的 MCP 建议

加载:

  • references/command-catalog.md,用于选择命令
  • references/webfetch-and-mcp.md,用于选择域名和 MCP 建议
  • references/output-contract.md,用于了解输出结构和文件目标规则

规则:

  • 仅包含针对已检测工具的命令
  • 包含 Claude 实际需要的正确开发命令,而不只是只读检查命令
  • 除非确实存在多个包管理器,否则不要建议相互竞争的包管理器命令
  • 不要建议使用 GitHub MCP;改用 gh CLI

成功标准:建议与检测到的技术栈相符,且不包含过时或不安全的条目。

步骤 4:展示建议并确认

写入前,先展示:

  • 检测到的技术栈摘要
  • 目标文件
  • 建议的命令类别
  • 域名和 MCP 建议
  • 当前设置已存在时的新增项、移除项和保持不变的部分

如果用户需要在以下选项中做出选择,请使用 AskUserQuestion:

  • 本地设置还是共享设置
  • 仅审计还是应用更改
  • 选择性应用还是完整应用

在用户明确批准更新之前,不要写入任何内容。

成功标准:用户已批准预期的设置更改。

步骤 5:写入已批准的文件

对已批准的目标进行最小且正确的编辑。

规则:

  • 除非现有自定义设置与检测到的实际情况直接冲突,否则予以保留
  • 本地设置保持为本地设置,共享设置保持为共享设置
  • 只有在检测到明确的集成,或用户明确要求时,才写入 .mcp.json
  • 不要在 JSON 文件中添加注释

成功标准:已将批准的设置更改写入正确的文件。

步骤 6:验证并报告

验证:

  • 每个写入的 JSON 文件都能正确解析
  • 命令权限与检测到的技术栈相符
  • 未混入破坏性命令或系统级命令
  • 包管理器权限与实际锁文件相符
  • 目标文件与用户批准的文件一致

报告:

  • 检测到的技术栈
  • 已写入或保持不变的文件
  • 命令、域名和集成的数量
  • 保留的自定义设置或尚未解决的歧义

成功标准:用户可以清楚看到具体变更,且文件有效。

防护规则

  • 不要让模型主动调用此技能;此技能会修改持久配置。
  • 不要添加 context: fork;此工作流会编辑当前仓库。
  • 不要添加 paths:;这是通用维护技能。
  • 不要在 SKILL.MD 中内联大型命令表、框架矩阵或冗长的失败案例列表。
  • 不要添加针对未检测到的工具的命令。
  • 不要包含破坏性系统命令、绝对路径或特定用户的路径。
  • 未经明确批准,不要写入任何文件。

何时加载参考资料

  • references/stack-detection.md 用于检测锁文件、框架、服务和单体仓库。

  • references/command-catalog.md 用于了解基准命令、特定技术栈的命令以及包管理器排除规则。

  • references/webfetch-and-mcp.md 用于了解文档域名和 MCP 服务建议规则。

  • references/output-contract.md 用于了解输出格式、目标文件选择、合并策略和验证要求。

输出约定

报告:

  1. 检测到的技术栈摘要
  2. 目标文件
  3. 建议的新增项、移除项和保持不变的部分
  4. 文件是已写入还是仅经过审计
  5. JSON 验证结果以及尚未解决的歧义

评论

支持 Markdown