[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EV44PGMBVGJEBGJGP1JH6M":3,"skill-same:01M6EV44PGMBVGJEBGJGP1JH6M":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6EV44PGMBVGJEBGJGP1JH6M","skill-permissions",null,"Skill permission analysis, one-time authorization, analyze skill permissions, batch authorization","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fguo-yu\u002Fskill-permissions\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31],"permissions","skill permissions","batch","authorization","analysis","analyze","time","permission","2026-11-10 10:12:30",false,"---\nname: skill-permissions\ndescription: Skill permission analysis, one-time authorization, analyze skill permissions, batch authorization\n---\n\n# Skill Permissions\n\nAutomatically analyze permissions required by all skills in Claude Code and generate one-time authorization commands.\n\n## Dangerous Operations Warning\n\n**This skill can modify other skill files.** The following commands may cause widespread file changes:\n\n| Command | Risk Level | Description |\n|---------|------------|-------------|\n| `\u002Fskill-permissions inject` | High | Batch modify all skill SKILL.md files |\n| `\u002Fskill-permissions allow-all` | Medium | Batch modify settings.json |\n| `\u002Fskill-permissions allow \u003Cname>` | Low | Only modify settings.json |\n| `\u002Fskill-permissions \u003Cname>` | Safe | Read-only analysis, no file modifications |\n\n**Recommendations:**\n- Prefer **explicit commands** (e.g., `\u002Fskill-permissions allow port-allocator`)\n- Avoid `inject` or `allow-all` unless you understand the impact\n- Run `\u002Fskill-permissions` first to see analysis results before batch operations\n\n## Usage\n\n| Command | Description |\n|---------|-------------|\n| `\u002Fskill-permissions` | Analyze all skills and show permission summary |\n| `\u002Fskill-permissions \u003Cskill-name>` | Analyze specific skill's permission requirements |\n| `\u002Fskill-permissions allow \u003Cskill-name>` | Execute one-time authorization for specific skill |\n| `\u002Fskill-permissions allow-all` | Execute one-time authorization for all skills |\n| `\u002Fskill-permissions inject` | Inject allow command into all skills |\n| `\u002Fskill-permissions allow` | Execute one-time authorization for this skill |\n\n## How It Works\n\n### 1. Permission Analysis\n\nScan skill's SKILL.md file, identifying patterns like:\n\n**Bash Command Patterns:**\n```\nfind * → Bash(find *)\nls * → Bash(ls *)\ncat ~\u002F.claude\u002F* → Bash(cat ~\u002F.claude\u002F*)\nlsof -i:3* → Bash(lsof -i:3*)\ngit * → Bash(git *)\nnpm * → Bash(npm *)\n```\n\n**Recognition Rules:**\n- Bash commands in code blocks (```bash ... ```)\n- Inline commands (`command`)\n- Explicitly mentioned system commands\n\n### 2. Permission Rule Generation\n\nConvert identified commands to `permissions.allow` rules:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(find * -name package.json *)\",\n      \"Bash(ls -d *)\",\n      \"Bash(cat ~\u002F.claude\u002F*)\",\n      \"Bash(lsof -i:3*)\"\n    ]\n  }\n}\n```\n\n## Execution Steps\n\n### Command: `\u002Fskill-permissions`\n\nAnalyze all skills and show permission summary:\n\n1. **Scan all skills**\n   ```bash\n   find ~\u002F.claude\u002Fskills -name \"SKILL.md\" -type f 2>\u002Fdev\u002Fnull\n   ```\n\n2. **Analyze permissions for each skill**\n   - Read SKILL.md content\n   - Extract bash code blocks\n   - Identify command patterns\n   - Generate permission rules\n\n3. **Output analysis results**\n\n### Command: `\u002Fskill-permissions \u003Cskill-name>`\n\nAnalyze specific skill's permission requirements:\n\n1. **Locate skill**\n   ```bash\n   SKILL_PATH=$(find ~\u002F.claude\u002Fskills -type d -name \"\u003Cskill-name>\" 2>\u002Fdev\u002Fnull | head -1)\n   ```\n\n2. **Read and analyze SKILL.md**\n\n3. **Output detailed permission list**\n\n### Command: `\u002Fskill-permissions allow \u003Cskill-name>`\n\nExecute one-time authorization for specific skill:\n\n1. **Analyze skill permission requirements**\n2. **Read existing config**\n3. **Merge permission rules** (deduplicate, preserve existing rules)\n4. **Write config file**\n5. **Output authorization result**\n\n## Blocked Commands\n\nThe following command patterns are **automatically blocked** and won't be added to the allowlist:\n\n### Dangerous File Operations\n| Command | Reason |\n|---------|--------|\n| `rm *` | File deletion, may cause data loss |\n| `rm -rf *` | Recursive force delete, extremely dangerous |\n| `sudo *` | Super user privileges |\n| `chmod 777 *` | Opens all permissions |\n\n### Dangerous Process Operations\n| Command | Reason |\n|---------|--------|\n| `kill -9 *` | Force kill process |\n| `pkill *` | Kill processes by name |\n| `curl * \\| bash` | Remote code execution |\n| `eval *` | Dynamic code execution |\n\n### Dangerous Git Operations\n| Command | Reason |\n|---------|--------|\n| `git push --force *` | Force push, may overwrite remote |\n| `git reset --hard *` | Hard reset, loses uncommitted changes |\n\n## Output Format\n\n### Analysis Result (Single Skill)\n```\nSkill: port-allocator\nLocation: ~\u002F.claude\u002Fskills\u002Fport-allocator\n\nDetected commands:\n  - find ~\u002FCodes -maxdepth 3 -name \"package.json\"\n  - ls -d *\u002F\n  - cat ~\u002F.claude\u002Fport-registry.json\n  - lsof -i:3000\n\nGenerated permission rules:\n  - Bash(find * -maxdepth * -name package.json *)\n  - Bash(ls -d *)\n  - Bash(cat ~\u002F.claude\u002F*)\n  - Bash(lsof -i:3*)\n\nRun `\u002Fskill-permissions allow port-allocator` to authorize\n```\n\n### Authorization Success\n```\nPermission authorization successful\n\nSkill: port-allocator\n\nAdded permission rules:\n  - Bash(find * -maxdepth * -name package.json *)\n  - Bash(ls -d *)\n  - Bash(cat ~\u002F.claude\u002F*)\n  - Bash(lsof -i:3*)\n\nConfig file: ~\u002F.claude\u002Fsettings.json\n\nNew permissions take effect in next session, or run \u002Fclear to apply immediately\n```\n\n## Configuration Files\n\n- **Permission config**: `~\u002F.claude\u002Fsettings.json`\n- **Skill directory**: `~\u002F.claude\u002Fskills\u002F`\n\n## First Use\n\nIf you encounter permission prompts, first run:\n```\n\u002Fskill-permissions allow\n```\n\n### Command: `\u002Fskill-permissions allow`\n\nExecute one-time authorization for this skill:\n\n1. Read `~\u002F.claude\u002Fsettings.json`\n2. Merge the following permissions to `permissions.allow`:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(find ~\u002F.claude\u002Fskills *)\",\n      \"Bash(cat ~\u002F.claude\u002F*)\"\n    ]\n  }\n}\n```\n\n3. Write config file (preserve existing permissions)\n4. Output authorization result\n\n## Notes\n\n1. **Conservative analysis** - Only identify explicitly appearing commands, avoid over-authorization\n2. **Deduplicated merge** - New permissions merge with existing, no duplicates\n3. **No deletion** - Only adds permissions, won't delete user's existing permission config\n4. **Wildcards** - Use `*` to match varying parameter parts\n5. **Session effect** - Permission updates require new session or \u002Fclear to take effect\n6. **Explicit preferred** - Recommend explicit commands over batch operations to reduce risks\n","# Skill Permissions\n\nAutomatically analyze permissions required by all skills in Claude Code and generate one-time authorization commands.\n\n## Dangerous Operations Warning\n\n**This skill can modify other skill files.** The following commands may cause widespread file changes:\n\n| Command | Risk Level | Description |\n|---------|------------|-------------|\n| `\u002Fskill-permissions inject` | High | Batch modify all skill SKILL.md files |\n| `\u002Fskill-permissions allow-all` | Medium | Batch modify settings.json |\n| `\u002Fskill-permissions allow \u003Cname>` | Low | Only modify settings.json |\n| `\u002Fskill-permissions \u003Cname>` | Safe | Read-only analysis, no file modifications |\n\n**Recommendations:**\n- Prefer **explicit commands** (e.g., `\u002Fskill-permissions allow port-allocator`)\n- Avoid `inject` or `allow-all` unless you understand the impact\n- Run `\u002Fskill-permissions` first to see analysis results before batch operations\n\n## Usage\n\n| Command | Description |\n|---------|-------------|\n| `\u002Fskill-permissions` | Analyze all skills and show permission summary |\n| `\u002Fskill-permissions \u003Cskill-name>` | Analyze specific skill's permission requirements |\n| `\u002Fskill-permissions allow \u003Cskill-name>` | Execute one-time authorization for specific skill |\n| `\u002Fskill-permissions allow-all` | Execute one-time authorization for all skills |\n| `\u002Fskill-permissions inject` | Inject allow command into all skills |\n| `\u002Fskill-permissions allow` | Execute one-time authorization for this skill |\n\n## How It Works\n\n### 1. Permission Analysis\n\nScan skill's SKILL.md file, identifying patterns like:\n\n**Bash Command Patterns:**\n```\nfind * → Bash(find *)\nls * → Bash(ls *)\ncat ~\u002F.claude\u002F* → Bash(cat ~\u002F.claude\u002F*)\nlsof -i:3* → Bash(lsof -i:3*)\ngit * → Bash(git *)\nnpm * → Bash(npm *)\n```\n\n**Recognition Rules:**\n- Bash commands in code blocks (```bash ... ```)\n- Inline commands (`command`)\n- Explicitly mentioned system commands\n\n### 2. Permission Rule Generation\n\nConvert identified commands to `permissions.allow` rules:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(find * -name package.json *)\",\n      \"Bash(ls -d *)\",\n      \"Bash(cat ~\u002F.claude\u002F*)\",\n      \"Bash(lsof -i:3*)\"\n    ]\n  }\n}\n```\n\n## Execution Steps\n\n### Command: `\u002Fskill-permissions`\n\nAnalyze all skills and show permission summary:\n\n1. **Scan all skills**\n   ```bash\n   find ~\u002F.claude\u002Fskills -name \"SKILL.md\" -type f 2>\u002Fdev\u002Fnull\n   ```\n\n2. **Analyze permissions for each skill**\n   - Read SKILL.md content\n   - Extract bash code blocks\n   - Identify command patterns\n   - Generate permission rules\n\n3. **Output analysis results**\n\n### Command: `\u002Fskill-permissions \u003Cskill-name>`\n\nAnalyze specific skill's permission requirements:\n\n1. **Locate skill**\n   ```bash\n   SKILL_PATH=$(find ~\u002F.claude\u002Fskills -type d -name \"\u003Cskill-name>\" 2>\u002Fdev\u002Fnull | head -1)\n   ```\n\n2. **Read and analyze SKILL.md**\n\n3. **Output detailed permission list**\n\n### Command: `\u002Fskill-permissions allow \u003Cskill-name>`\n\nExecute one-time authorization for specific skill:\n\n1. **Analyze skill permission requirements**\n2. **Read existing config**\n3. **Merge permission rules** (deduplicate, preserve existing rules)\n4. **Write config file**\n5. **Output authorization result**\n\n## Blocked Commands\n\nThe following command patterns are **automatically blocked** and won't be added to the allowlist:\n\n### Dangerous File Operations\n| Command | Reason |\n|---------|--------|\n| `rm *` | File deletion, may cause data loss |\n| `rm -rf *` | Recursive force delete, extremely dangerous |\n| `sudo *` | Super user privileges |\n| `chmod 777 *` | Opens all permissions |\n\n### Dangerous Process Operations\n| Command | Reason |\n|---------|--------|\n| `kill -9 *` | Force kill process |\n| `pkill *` | Kill processes by name |\n| `curl * \\| bash` | Remote code execution |\n| `eval *` | Dynamic code execution |\n\n### Dangerous Git Operations\n| Command | Reason |\n|---------|--------|\n| `git push --force *` | Force push, may overwrite remote |\n| `git reset --hard *` | Hard reset, loses uncommitted changes |\n\n## Output Format\n\n### Analysis Result (Single Skill)\n```\nSkill: port-allocator\nLocation: ~\u002F.claude\u002Fskills\u002Fport-allocator\n\nDetected commands:\n  - find ~\u002FCodes -maxdepth 3 -name \"package.json\"\n  - ls -d *\u002F\n  - cat ~\u002F.claude\u002Fport-registry.json\n  - lsof -i:3000\n\nGenerated permission rules:\n  - Bash(find * -maxdepth * -name package.json *)\n  - Bash(ls -d *)\n  - Bash(cat ~\u002F.claude\u002F*)\n  - Bash(lsof -i:3*)\n\nRun `\u002Fskill-permissions allow port-allocator` to authorize\n```\n\n### Authorization Success\n```\nPermission authorization successful\n\nSkill: port-allocator\n\nAdded permission rules:\n  - Bash(find * -maxdepth * -name package.json *)\n  - Bash(ls -d *)\n  - Bash(cat ~\u002F.claude\u002F*)\n  - Bash(lsof -i:3*)\n\nConfig file: ~\u002F.claude\u002Fsettings.json\n\nNew permissions take effect in next session, or run \u002Fclear to apply immediately\n```\n\n## Configuration Files\n\n- **Permission config**: `~\u002F.claude\u002Fsettings.json`\n- **Skill directory**: `~\u002F.claude\u002Fskills\u002F`\n\n## First Use\n\nIf you encounter permission prompts, first run:\n```\n\u002Fskill-permissions allow\n```\n\n### Command: `\u002Fskill-permissions allow`\n\nExecute one-time authorization for this skill:\n\n1. Read `~\u002F.claude\u002Fsettings.json`\n2. Merge the following permissions to `permissions.allow`:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(find ~\u002F.claude\u002Fskills *)\",\n      \"Bash(cat ~\u002F.claude\u002F*)\"\n    ]\n  }\n}\n```\n\n3. Write config file (preserve existing permissions)\n4. Output authorization result\n\n## Notes\n\n1. **Conservative analysis** - Only identify explicitly appearing commands, avoid over-authorization\n2. **Deduplicated merge** - New permissions merge with existing, no duplicates\n3. **No deletion** - Only adds permissions, won't delete user's existing permission config\n4. **Wildcards** - Use `*` to match varying parameter parts\n5. **Session effect** - Permission updates require new session or \u002Fclear to take effect\n6. **Explicit preferred** - Recommend explicit commands over batch operations to reduce risks\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fguo-yu\u002Fskill-permissions",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill skill-permissions",{"tool":52,"command":53},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill skill-permissions",{"tool":55,"command":56},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill skill-permissions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fguo-yu\u002Fskill-permissions\u002FSKILL.md",true,[60,66,70],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"skill-report.json","REFERENCE","参考文档",53476,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fguo-yu\u002Fskill-permissions\u002Fskill-report.json",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"SKILL.ja.md",6169,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fguo-yu\u002Fskill-permissions\u002FSKILL.ja.md",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"SKILL.zh-CN.md",12544,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fguo-yu\u002Fskill-permissions\u002FSKILL.zh-CN.md",[75,85,95,104,110,117],{"skillNo":76,"name":77,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":81,"publishedAt":32},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[80],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[82,83,84],"model","model hierarchy","model hierarchy skill",{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":32},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[90],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,93,94],"MCP","zoom","zoom mcp",{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":32},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[101,102,103,93],"sdk","zoom apps sdk","apps",{"skillNo":105,"name":106,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":32},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[106],{"skillNo":111,"name":112,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":116,"publishedAt":32},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[115],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[112],{"skillNo":118,"name":119,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":32},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[119]]