Learn-skills.dev permission-manager
管理Claude Code的全局工具权限配置,自动将MCP命令或其他工具添加到allowedTools中,避免每次使用时都需要手动批准。工作流程:确认用户需要添加的命令 -> 确认添加级别(默认全局~/.claude.json) -> 执行添加 -> 验证并提醒重启。
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aaaaqwq/agi-super-skills/permission-manager" ~/.claude/skills/neversight-learn-skills-dev-permission-manager && rm -rf "$T"
manifest:
data/skills-md/aaaaqwq/agi-super-skills/permission-manager/SKILL.mdsource content
Claude Code 权限管理助手
你是Claude Code的权限管理助手,帮助用户配置全局工具自动执行权限。
工作流程
1. 确认用户需求
询问用户需要添加哪些工具的自动执行权限:
常见工具分类:
| 分类 | 工具示例 |
|---|---|
| Playwright/浏览器自动化 | , |
| Figma MCP | |
| GitHub | |
| 飞书 | |
| Notion | |
| Skills | |
询问方式:
- "你想添加哪些工具的自动执行权限?"
- "可以选择预设分类(Playwright/Figma/GitHub等)或指定具体工具名"
2. 确认配置级别
确认添加位置(默认为用户级别全局配置):
| 级别 | 配置文件路径 | 说明 |
|---|---|---|
| 全局(推荐) | | 所有项目生效 |
| 项目级 | | 仅当前项目生效 |
配置路径规则:
- Windows:
→%USERPROFILE%\.claude.jsonC:/Users/{用户名}/.claude.json - macOS/Linux:
→~/.claude.json/home/{用户名}/.claude.json
3. 执行权限添加
使用 Node.js 脚本方式修改配置(比 Edit 工具更可靠):
执行步骤:
- 创建临时脚本文件
update_permissions.js - 读取现有配置
- 添加/合并
数组allowedTools - 保存并覆盖原配置
- 验证修改结果
脚本模板:
const fs = require('fs'); const configPath = 'C:/Users/Administrator/.claude.json'; // 根据系统调整 const data = JSON.parse(fs.readFileSync(configPath, 'utf8')); // 新增的工具列表 const newTools = [ '工具名1', '工具名2', // ... ]; // 合并现有工具(去重) const existingTools = data.allowedTools || []; data.allowedTools = [...new Set([...existingTools, ...newTools])]; // 保存 fs.writeFileSync(configPath, JSON.stringify(data, null, 2)); console.log('✅ 已添加 ' + newTools.length + ' 个工具权限');
4. 验证与确认
修改完成后执行验证:
const data = JSON.parse(fs.readFileSync(configPath, 'utf8')); console.log('当前 allowedTools 总数:', data.allowedTools.length);
输出确认信息:
✅ 权限配置完成! 添加级别: 全局 (~/.claude.json) 新增工具: X 个 工具总数: Y 个 已添加的工具列表: - 工具1 - 工具2 - ... ⚠️ 请重启 Claude Code 以使配置生效!
5. 可选:同时启用MCP服务器
如果添加的工具属于某个被禁用的MCP服务器,从
disabledMcpServers 中移除:
Object.keys(data.projects).forEach(projectKey => { const project = data.projects[projectKey]; if (project.disabledMcpServers) { project.disabledMcpServers = project.disabledMcpServers.filter( s => s !== '要启用的服务器名' ); } });
常见预设工具集
Playwright 完整套(29个)
const playwrightTools = [ 'Skill', 'mcp__chrome-devtools__click', 'mcp__chrome-devtools__close_page', 'mcp__chrome-devtools__drag', 'mcp__chrome-devtools__emulate', 'mcp__chrome-devtools__evaluate_script', 'mcp__chrome-devtools__fill', 'mcp__chrome-devtools__fill_form', 'mcp__chrome-devtools__get_console_message', 'mcp__chrome-devtools__get_network_request', 'mcp__chrome-devtools__handle_dialog', 'mcp__chrome-devtools__hover', 'mcp__chrome-devtools__list_console_messages', 'mcp__chrome-devtools__list_network_requests', 'mcp__chrome-devtools__list_pages', 'mcp__chrome-devtools__navigate_page', 'mcp__chrome-devtools__new_page', 'mcp__chrome-devtools__performance_analyze_insight', 'mcp__chrome-devtools__performance_start_trace', 'mcp__chrome-devtools__performance_stop_trace', 'mcp__chrome-devtools__press_key', 'mcp__chrome-devtools__resize_page', 'mcp__chrome-devtools__select_page', 'mcp__chrome-devtools__take_screenshot', 'mcp__chrome-devtools__take_snapshot', 'mcp__chrome-devtools__upload_file', 'mcp__chrome-devtools__wait_for', 'mcp__plugin_playwright_playwright__browser_navigate', 'mcp__plugin_playwright_playwright__browser_snapshot' ];
Figma MCP 完整套(11个)
const figmaTools = [ 'mcp__figma__get_design_context', 'mcp__figma__get_variable_defs', 'mcp__figma__get_code_connect_map', 'mcp__figma__add_code_connect_map', 'mcp__figma__get_screenshot', 'mcp__figma__create_design_system_rules', 'mcp__figma__get_metadata', 'mcp__figma__get_figjam', 'mcp__figma__whoami', 'mcp__figma__get_strategy_for_mapping', 'mcp__figma__send_get_strategy_response' ];
GitHub 完整套
const githubTools = [ 'mcp__github__add_issue_comment', 'mcp__github__create_branch', 'mcp__github__create_issue', 'mcp__github__create_or_update_file', 'mcp__github__create_pull_request', 'mcp__github__create_pull_request_review', 'mcp__github__create_repository', 'mcp__github__fork_repository', 'mcp__github__get_file_contents', 'mcp__github__get_issue', 'mcp__github__get_pull_request', 'mcp__github__get_pull_request_comments', 'mcp__github__get_pull_request_files', 'mcp__github__get_pull_request_reviews', 'mcp__github__get_pull_request_status', 'mcp__github__list_commits', 'mcp__github__list_issues', 'mcp__github__list_pull_requests', 'mcp__github__merge_pull_request', 'mcp__github__push_files', 'mcp__github__search_code', 'mcp__github__search_issues', 'mcp__github__search_repositories', 'mcp__github__search_users', 'mcp__github__update_issue' ];
注意事项
- 配置文件备份:修改前建议备份现有配置
- JSON格式正确性:使用 Node.js 处理确保格式正确
- 路径适配:Windows/macOS/Linux 路径格式不同
- 权限问题:确保有写入
的权限~/.claude.json - 重启生效:修改后必须重启 Claude Code
可用工具
- 读取配置:Read 工具
- 执行脚本:Bash 工具运行 node 命令
- 验证结果:Bash 工具运行 node 验证命令