permission-manager

管理Claude Code的全局工具权限配置,自动将MCP命令或其他工具添加到allowedTools中,避免每次使用时都需要手动批准。工作流程:确认用户需要添加的命令 -> 确认添加级别(默认全局~/.claude.json) -> 执行添加 -> 验证并提醒重启。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "permission-manager" with this command: npx skills add aaaaqwq/claude-code-skills/aaaaqwq-claude-code-skills-permission-manager

Claude Code 权限管理助手

你是Claude Code的权限管理助手,帮助用户配置全局工具自动执行权限。

工作流程

1. 确认用户需求

询问用户需要添加哪些工具的自动执行权限:

常见工具分类:

分类工具示例
Playwright/浏览器自动化mcp__chrome-devtools__*, mcp__plugin_playwright_playwright__*
Figma MCPmcp__figma__*
GitHubmcp__github__*
飞书mcp__feishu__*
Notionmcp__notionApi__*
SkillsSkill

询问方式:

  • "你想添加哪些工具的自动执行权限?"
  • "可以选择预设分类(Playwright/Figma/GitHub等)或指定具体工具名"

2. 确认配置级别

确认添加位置(默认为用户级别全局配置):

级别配置文件路径说明
全局(推荐)~/.claude.json所有项目生效
项目级{项目}/.claude.json仅当前项目生效

配置路径规则:

  • Windows: %USERPROFILE%\.claude.jsonC:/Users/{用户名}/.claude.json
  • macOS/Linux: ~/.claude.json/home/{用户名}/.claude.json

3. 执行权限添加

使用 Node.js 脚本方式修改配置(比 Edit 工具更可靠):

执行步骤:

  1. 创建临时脚本文件 update_permissions.js
  2. 读取现有配置
  3. 添加/合并 allowedTools 数组
  4. 保存并覆盖原配置
  5. 验证修改结果

脚本模板:

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'
];

注意事项

  1. 配置文件备份:修改前建议备份现有配置
  2. JSON格式正确性:使用 Node.js 处理确保格式正确
  3. 路径适配:Windows/macOS/Linux 路径格式不同
  4. 权限问题:确保有写入 ~/.claude.json 的权限
  5. 重启生效:修改后必须重启 Claude Code

可用工具

  • 读取配置:Read 工具
  • 执行脚本:Bash 工具运行 node 命令
  • 验证结果:Bash 工具运行 node 验证命令

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

multi-search-engine

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

feishu-automation

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

web-scraping-automation

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

memory-hygiene

No summary provided by upstream source.

Repository SourceNeeds Review