Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aaaaqwq avatar

Permission Manager

  • 35 installs
  • 82 repo stars
  • Updated August 2, 2026
  • aaaaqwq/claude-code-skills

permission-manager is a Claude Code skill that adds tool and MCP commands to allowedTools so they run without manual per-use approval.

About

This skill configures Claude Code global or project tool-execution permissions so MCP and other tool commands are auto-approved instead of prompting each time. A developer uses it to add commands to allowedTools in ~/.claude.json using a Node script that merges and deduplicates entries. It includes preset tool lists for Playwright, Figma, and GitHub MCP servers and reminds the user to restart Claude Code.

  • Adds MCP and other tool commands to Claude Code allowedTools automatically
  • Writes global (~/.claude.json) or project-level permission config via a Node script
  • Ships preset tool sets for Playwright, Figma, and GitHub MCP

Permission Manager by the numbers

  • 35 all-time installs (skills.sh)
  • Ranked #8,679 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
At a glance

permission-manager capabilities & compatibility

Capabilities
permission config · mcp setup · config editing
Works with
github · figma · playwright
Platforms
macOS · Windows · Linux
From the docs

What permission-manager says it does

自动将MCP命令或其他工具添加到allowedTools中,避免每次使用时都需要手动批准。
SKILL.md
使用 Node.js 脚本方式修改配置(比 Edit 工具更可靠)
SKILL.md
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill permission-manager

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs35
repo stars82
Last updatedAugust 2, 2026
Repositoryaaaaqwq/claude-code-skills

What it does

Add MCP or tool commands to Claude Code allowedTools so they run without manual approval each time.

Who is it for?

Auto-approving MCP and tool commands in Claude Code

Skip if: Managing OS-level or repository access permissions

When should I use this skill?

You want to stop Claude Code from prompting to approve certain tool or MCP commands

What you get

Selected tools are added to allowedTools in the global or project config so they execute automatically.

  • updated allowedTools config

By the numbers

  • Playwright preset of 29 tools
  • Figma preset of 11 tools

Files

SKILL.mdMarkdownGitHub ↗

Claude Code 权限管理助手

  • Author: Daniel Li
  • Copyright © Daniel Li. All rights reserved.

你是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 验证命令

Related skills

FAQ

Where does it write the config?

Global at ~/.claude.json by default, or a project-level .claude.json.

Do I need to restart?

Yes, it reminds you to restart Claude Code for the config to take effect.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.