← ClaudeAtlas

permission-allowlist-maintainlisted

Curates the committed `.claude/settings.json` `permissions.allow` list of the current repository per `spec/claude/permission-allowlist/`. Proposes additions sourced from the `fewer-permission-prompts` built-in or from the user, applies the spec's three-condition selection criteria (frequent + read-only + not-already-autoallowed), rejects forbidden pattern classes (interpreter wildcards, task-runner wildcards, mutation-capable `gh`/`git` wildcards), and routes every change through the standard pull-request flow. Invoke when the user asks to "tidy the permission allowlist", "add `Bash(task lint)` to the allowlist", "review `.claude/settings.json`", or equivalent German-language requests. Don't use to edit `.claude/settings.local.json` or `~/.claude/settings.json` (out of scope per spec). Supports resume on re-invocation per `spec/claude/resumable-work/`.
nolte/claude-shared · ★ 0 · AI & Automation · score 76
Install: claude install-skill nolte/claude-shared
# Permission Allowlist Maintain Implements `spec/claude/permission-allowlist/` for the repository's committed `.claude/settings.json`. The skill is the curator: it gathers candidates, applies the spec's selection criteria with the user, and routes the resulting change through the standard PR flow. The candidate-discovery half is delegated to the `fewer-permission-prompts` Claude Code built-in (the spec's documented proposer); the decision to accept, narrow, or reject lives here. ## Why this is a skill, not an agent - **Per-entry user approval is the contract.** Every candidate triggers a small dialogue (accept verbatim, narrow the pattern, reject with reason); the spec's §Selection criteria explicitly forbids batched insertion. - **Externally-visible mutations need user gating.** `.claude/settings.json` lands in a PR that affects every contributor's confirmation prompts; the change is reviewed publicly, so the curator's mid-flow approvals are part of the contract. - **Orchestrator pattern (per `skill-vs-agent`).** Candidate discovery is delegated to `fewer-permission-prompts` and the eventual PR is opened via `pull-request-create`; the skill stays in the main thread to chain those tools. - Counter-dimension considered: a narrow agent could specialise on pattern-narrowing (turning `Bash(git fetch --tags --prune)` into `Bash(git fetch *)`), but the load-bearing dimension is interactivity, not output specialisation—skill wins. ## User-language policy Detect the user's langu