agentsclimarketplace

Permissions

Skill oprogramadorreal/optimus-claude/skills/permissions

Configures Claude Code permissions for safe agent autonomy. Creates settings.json with allow/deny rules and a hook enforcing path restrictions, git branch protection (commit/push blocked on master/main), and precious-file safeguards. Use after /optimus:init to enable autonomous agent workflows, or standalone to lock down a project's permission boundaries.From its SKILL.md

Install
npx -y skills add oprogramadorreal/optimus-claude --skill permissions

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

5.2 KB, as published. Nobody here has run it

Optimus Permissions

Configure permission rules and a path-restriction hook so Claude Code agents can work autonomously inside the project without constant prompts, while destructive operations outside it stay gated.

Security model in brief: the installed hook prompts on writes and blocks deletes outside the project (Claude's memory store and session scratchpad are exempt), asks before editing any precious unversioned file and blocks deleting the unrecoverable ones (a backup or IDE scratch file only asks), and blocks history-modifying git operations on protected branches. Inside the project, operations not on the deny list run without prompts.

Step 1: Detect existing configuration

  1. If .claude/settings.json exists, read it in full — it will be preserved during the merge.
  2. Note whether .claude/hooks/restrict-paths.sh already exists (fresh install vs update — report which in Step 4).
  3. If .mcp.json exists at the project root, extract the top-level MCP server names for Step 3.

Step 2: Install the path-restriction hook

If an existing .claude/hooks/restrict-paths.sh differs from the template, list the user's modifications (e.g., a customized PROTECTED_BRANCHES array or extra is_precious() patterns) and use AskUserQuestion: Re-apply (Recommended) — install the fresh template, then re-apply the listed customizations (and only those) on top — or Discard them.

Copy $CLAUDE_PLUGIN_ROOT/skills/permissions/templates/hooks/restrict-paths.sh to .claude/hooks/restrict-paths.sh (creating the directory if needed), overwriting any existing version. Copy the contents exactly — never modify the template during copy.

Step 3: Create or update settings.json

Base configuration: $CLAUDE_PLUGIN_ROOT/skills/permissions/templates/settings.json.

If .claude/settings.json does not exist, create it from the template. If it exists, merge — read, merge, write, never blind-overwrite:

  1. permissions.allow — add template entries not already present. Never remove existing entries.
  2. permissions.deny — add template entries not already present. If the existing settings have git deny entries (git as a command, not part of words like github) beyond the template's set, they may block the feature-branch workflow (commit/push) that skills like /optimus:tdd need — list them and use AskUserQuestion: Replace with template set (Recommended) — remove only the extra git deny entries and use the template's (branch protection is still enforced by the hook); non-git deny entries untouched — or Keep all.
  3. hooks.PreToolUse — add the template's hook entry, appending to any existing array; skip if an entry already references restrict-paths.sh.
  4. Preserve everything else — existing PostToolUse hooks, custom sections, all unrelated configuration.

In either case, if .mcp.json was found, add mcp__<server-name> entries to permissions.allow for each server. The result must be valid JSON. If the existing file is not valid JSON, do not repair or overwrite it silently — show the parse problem and ask the user how to proceed.

Step 4: Verify and report

Fix any issue before reporting:

  1. .claude/hooks/restrict-paths.sh is an exact copy of the template — diff against it and run bash -n on the installed copy. The only acceptable differences are customizations the user chose to re-apply in Step 2; on any other mismatch, re-copy the template (a mangled hook fails open at runtime).
  2. .claude/settings.json has a PreToolUse entry that resolves to the installed restrict-paths.sh — a merge that drops or misspells it leaves the project unprotected with no other symptom.
  3. Scan for precious unversioned files: derive the patterns from the is_precious() function in the just-installed hook (the single source of truth — never hardcode the list) and run find . -maxdepth 4 with one -name clause per pattern, excluding .git/, node_modules/, obj/, and bin/. Report untracked matches as protected, marking any that match only is_recoverable_precious_name() (backups, IDE scratch) as edit-prompt only — those stay deliberately deletable. If the scan finds sensitive-looking unversioned files no pattern matches, offer to add custom patterns to is_precious() in the installed hook — a re-run detects and offers to re-apply such edits, but permanent patterns belong in the plugin-source template.

Report: files created or updated (fresh install vs update), allow/deny counts, detected MCP servers, and the one-line security summary from the top of this skill. Point to this skill's README for the trust model, the auto-mode layering, and the not-OS-sandboxing caveat.

If .claude/CLAUDE.md does not exist, recommend /optimus:init next; otherwise /optimus:unit-test to establish coverage or /optimus:tdd to start developing. Suggest a fresh conversation for it.

What ships with it: 3 files

103.8 KB alongside SKILL.md, 1 of them executable

templates/

Gives 0 of the 12 instructions most context ai engineering skills give

Counted across 1,328 of the 2,349 authors here whose files we hold, read 2026-09-06

  • Dispatch a fresh subagent for each taskin 76 of 1328, across 59 files
  • Perform spec compliance review before code quality reviewin 44 of 1328, across 34 files
  • Dispatch a final code reviewer after all tasksin 38 of 1328, across 26 files
  • Answer subagent questions before allowing implementationin 36 of 1328, across 26 files
  • Use the least powerful model capable of the taskin 33 of 1328, across 26 files
  • Create a TodoWrite list for all tasksin 32 of 1328, across 22 files
  • Perform a task review after each implementationin 31 of 1328, across 24 files
  • Extract all tasks and context from the planin 29 of 1328, across 20 files
  • Provide full task text to subagentsin 28 of 1328, across 20 files
  • Use git worktrees for isolated workspacesin 25 of 1328, across 20 files
  • Specify the model explicitly when dispatching a subagentin 23 of 1328, across 18 files
  • Execute all tasks from the plan without stoppingin 21 of 1328, across 16 files

Said here and by no other author read

  • Read existing settings before merging
  • Copy hook template without modification
  • Preserve existing configuration sections
  • Verify hook syntax using bash
  • Scan for precious unversioned files
  • Ask user before discarding custom hook modifications

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 626,045. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.