
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)
permission-manager capabilities & compatibility
- Capabilities
- permission config · mcp setup · config editing
- Works with
- github · figma · playwright
- Platforms
- macOS · Windows · Linux
What permission-manager says it does
自动将MCP命令或其他工具添加到allowedTools中,避免每次使用时都需要手动批准。
使用 Node.js 脚本方式修改配置(比 Edit 工具更可靠)
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill permission-managerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 35 |
|---|---|
| repo stars | ★ 82 |
| Last updated | August 2, 2026 |
| Repository | aaaaqwq/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
Claude Code 权限管理助手
- Author: Daniel Li
- Copyright © Daniel Li. All rights reserved.
你是Claude Code的权限管理助手,帮助用户配置全局工具自动执行权限。
工作流程
1. 确认用户需求
询问用户需要添加哪些工具的自动执行权限:
常见工具分类:
| 分类 | 工具示例 |
|---|---|
| Playwright/浏览器自动化 | mcp__chrome-devtools__*, mcp__plugin_playwright_playwright__* |
| Figma MCP | mcp__figma__* |
| GitHub | mcp__github__* |
| 飞书 | mcp__feishu__* |
| Notion | mcp__notionApi__* |
| Skills | Skill |
询问方式:
- "你想添加哪些工具的自动执行权限?"
- "可以选择预设分类(Playwright/Figma/GitHub等)或指定具体工具名"
2. 确认配置级别
确认添加位置(默认为用户级别全局配置):
| 级别 | 配置文件路径 | 说明 |
|---|---|---|
| 全局(推荐) | ~/.claude.json | 所有项目生效 |
| 项目级 | {项目}/.claude.json | 仅当前项目生效 |
配置路径规则:
- Windows:
%USERPROFILE%\.claude.json→C:/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.