From meta-plugin
.claude/settings.local.jsonのpermissions.allowから安全なコマンドを.claude/settings.jsonに昇格させる。チーム共有設定の整理、パーミッション棚卸し、「許可を整理して」「settings.local.jsonを整理して」「パーミッションを昇格して」「permission promoter」と言われた時に使用する。
How this skill is triggered — by the user, by Claude, or both
Slash command
/meta-plugin:permission-promoterThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
.claude/settings.local.json の permissions.allow エントリを安全性で分類し、
.claude/settings.local.json の permissions.allow エントリを安全性で分類し、 安全なものを .claude/settings.json に昇格させる。
対象: プロジェクトレベル(.claude/settings.local.json → .claude/settings.json)
両ファイルを読み取り、permissions.allow の内容を把握する。
echo "=== settings.json ===" && cat .claude/settings.json 2>/dev/null || echo "(not found)"
echo "=== settings.local.json ===" && cat .claude/settings.local.json 2>/dev/null || echo "(not found)"
settings.local.json が存在しないか permissions.allow が空なら「昇格対象なし」で終了。
settings.local.json の permissions.allow 内の各エントリを、 safety-rules に従って Safe / Review / Unsafe に分類する。
分類ルール詳細 → references/safety-rules.md
各エントリを以下の形式で整理:
## 分類結果
### Safe(昇格推奨)
- `Bash(npm test)` — 読み取り専用テストコマンド
- `WebSearch` — 副作用なしツール
### Review(要判断)
- `Bash(npm run dev)` — 任意スクリプト実行の可能性
- `Edit(src/**)` — ファイル編集権限
### Unsafe(昇格非推奨)
- `Bash(rm -rf *)` — 破壊的操作
分類の根拠を1行で添える。
specifier内に環境固有の値が含まれるエントリを検出し、汎用パターンへの置換を提案する。
汎用化ルール → references/generalization-rules.md
汎用化が必要なエントリは、元のエントリと提案パターンを並べて表示:
### 汎用化の提案
- `Bash(cat /Users/rizumita/project/src/main.ts)` → `Bash(cat *)`
- `Read(/Users/rizumita/project/src/config.ts)` → `Read(src/**)`
- `Bash(cd /Users/rizumita/project && npm test)` → `Bash(npm test *)`
ユーザーが提案を承認した場合、汎用化後のエントリで昇格する。 拒否した場合、元のエントリのまま(昇格するかどうかはStep 3で判断)。
分類結果を提示し、昇格対象をユーザーに選択させる。
AskUserQuestionを使う:
ユーザーが選択しなかったエントリはsettings.local.jsonに残す。
ユーザーが承認したエントリについて:
{"permissions":{"allow":[]}} で初期化{} になったらファイル自体を削除JSONの整形は jq を使う。一時ファイルは mktemp で安全に作成:
# settings.json が存在しない場合の初期化
[ -f .claude/settings.json ] || echo '{}' > .claude/settings.json
# settings.json への追加例
tmp=$(mktemp) && jq '.permissions.allow += ["NewEntry"] | .permissions.allow |= unique' .claude/settings.json > "$tmp" && mv "$tmp" .claude/settings.json
変更内容を簡潔に報告:
引数に audit を指定した場合、Step 1〜2 の分類のみ実行し、変更は行わない。
現状のパーミッション構成と安全性評価レポートを出力する。
npx claudepluginhub caphtech/claude-marketplace --plugin meta-pluginAudits .claude/settings.local.json permissions for dangerous patterns like hook bypasses (git push:*), destructive commands (rm -rf:*), and config injection vectors. Use periodically, after granting permissions, or for security hygiene.
Resets accumulated permissions in .claude/settings.local.json. Supports full reset or selective reset keeping read-only permissions.
Explains Claude Code settings hierarchy, permission wildcards, allow/deny patterns, and tool configurations. Use for setting up project permissions, debugging access issues, or understanding tool blocks.