← All skills
isolated-setup-doctor
49 / 100 · High risk
Only if you trust the author. Some of what it can do is expected: a security skill usually runs scanners and checks websites.
By apache/magpie (GitHub) · security · 146 stars · scanned at commit 8d24b52
Probe the secure-agent setup for restrictions that block legitimate work — SSH agent reachability, port binding, containers, the scratch directory, the signing key, `gh` outside the sandbox, `prek` and `uv` inside it, the global git hook dir. Names the troubleshooting entry and settings fix for each. Read-only.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. It runs automatically when the plugin is installed. Expected for a security skill.
Found in 17 places.
Show 14 more
- plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 202
bash <skill-dir>/scripts/probe-4-scratch-dir.sh - plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 232
bash <skill-dir>/scripts/probe-5-signing-key.sh - plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 259
The probe deliberately runs `gh` through `sh -c` so the exclusion cannot apply to it, showing what an *un-excluded* `gh` does on this machine. - plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 264
bash <skill-dir>/scripts/probe-6-gh-outside-sandbox.sh - plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 298
bash <skill-dir>/scripts/probe-7-dev-tools.sh - plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 322
bash <skill-dir>/scripts/probe-8-git-hooks.sh - plugins/magpie-setup/skills/isolated-setup-doctor/SKILL.md, line 350
bash <skill-dir>/scripts/probe-9-working-dirs.sh - plugins/magpie-setup/skills/isolated-setup-doctor/scripts/probe-6-gh-outside-sandbox.sh, line 22
out=$(sh -c 'gh api user --jq .login' 2>&1); rc=$? - plugins/magpie-setup/skills/isolated-setup-doctor/tests/helpers.py, line 85
res = subprocess.run( - plugins/magpie-setup/skills/isolated-setup-doctor/tests/test_probe_1_ssh_agent.py, line 78
result = subprocess.run( - docs/setup/sandbox-troubleshooting.md, line 955
| `sh -c 'gh …'`, `uv run … vetted-op-read …` (`gh` as a child process) | no | - docs/setup/sandbox-troubleshooting.md, line 1036
- Any wrapper that spawns `gh` as a child — `sh -c`, a Makefile - plugins/magpie-setup/hooks/codex-hooks.json, line 10
"command": "/bin/bash -p \"${PLUGIN_ROOT}/hooks/check-upgrade.sh\"", - plugins/magpie-setup/hooks/hooks.json, line 11
"command": "/bin/bash -p \"${CLAUDE_PLUGIN_ROOT}/hooks/check-upgrade.sh\"",
Sends data to these websites: example.com
This is disclosed by the author in the skill's SKILL.md or README. Expected for a security skill.
Found in 8 places.
Show 5 more
Changes files outside its own folder
The author does not mention this.
Found in 35 places.
Show 17 more
- docs/adapters/goose.md, line 97
| `touch ~/probe` | Blocked. | - docs/adapters/goose.md, line 98
| `echo x >> ~/.config/goose/config.yaml` | Blocked: Goose's configuration is read-only inside. | - docs/adapters/pi.md, line 111
| `touch ~/probe` | Blocked. | - docs/setup/sandbox-troubleshooting.md, line 483
`~/.claude/scripts/gpg-touch-overlay.sh -> ~/.claude-config/scripts/gpg-touch-overlay.sh`, - docs/setup/secure-agent-setup.md, line 972
mkdir -p ~/.config/apache-magpie/vetted-ops && cp .apache-magpie-overrides/tools/vetted-ops/config.toml ~/.config/apache-magpie/vetted-ops/<project>.toml - docs/setup/secure-agent-setup.md, line 1639
mkdir -p ~/.claude/agent-isolation - docs/setup/secure-agent-setup.md, line 1788
mkdir -p ~/.claude/scripts - docs/setup/secure-agent-setup.md, line 1902
mkdir -p ~/.claude/scripts/guards.d - docs/setup/secure-agent-setup.md, line 1909
cp /path/to/magpie/skills/*/guards/*.py ~/.claude/scripts/guards.d/ 2>/dev/null || true - docs/setup/secure-agent-setup.md, line 2069
mkdir -p ~/.claude/scripts - docs/setup/secure-agent-setup.md, line 2286
mkdir -p ~/.claude/scripts - docs/setup/secure-agent-setup.md, line 2438
mkdir -p ~/.claude/scripts - docs/setup/secure-agent-setup.md, line 2646
ssh-add -L > ~/.ssh/id_yubikey.pub - docs/setup/secure-agent-setup.md, line 2770
mkdir -p ~/.claude/scripts - docs/setup/secure-agent-setup.md, line 2883
ln -s gpg-touch-overlay.sh ~/.claude/scripts/gpg-touch-wrap-ssh-keygen - docs/setup/secure-agent-setup.md, line 2933
mkdir -p ~/.claude/scripts/shims - docs/setup/secure-agent-setup.md, line 2935
ln -sfn ~/.claude/scripts/gpg-touch-overlay.sh ~/.claude/scripts/shims/"$p"
and 15 more places
Reads your saved credentials, such as SSH keys or .env files
The author does not mention this.
Found in 23 places.
Show 17 more
- docs/adapters/goose.md, line 144
| Run exactly `cat ~/.ssh/known_hosts`. | Fails inside the sandbox. | - docs/adapters/pi.md, line 109
| `cat ~/.ssh/known_hosts` | Blocked. | - docs/adapters/pi.md, line 155
| Run exactly `cat ~/.ssh/known_hosts`. | Fails inside the sandbox. | - docs/setup/sandbox-troubleshooting.md, line 241
error: No private key found for public key "~/.ssh/<key>.pub"? - docs/setup/sandbox-troubleshooting.md, line 380
"~/.ssh/id_ed25519_sk.pub" // the file `git config --get user.signingkey` prints - docs/setup/secure-agent-setup.md, line 562
"~/.gnupg/", // gpg keyring reads (needed for signing, not sufficient on Linux — see sandbox-troubleshooting.md) - docs/setup/secure-agent-setup.md, line 564
"~/.ssh/id_ed25519_sk.pub" // ONLY with `gpg.format=ssh`: the public half git hands to `ssh-keygen -Y sign`. Use the file `git config user.signingkey` names - docs/setup/secure-agent-setup.md, line 720
"Read(~/.aws/**)", "Read(~/.ssh/**)", "Read(~/.netrc)", - docs/setup/secure-agent-setup.md, line 721
"Read(~/.docker/**)", "Read(~/.kube/**)", - docs/setup/secure-agent-setup.md, line 725
"Read(~/.config/gcloud/**)", "Read(~/.azure/**)", - docs/setup/secure-agent-setup.md, line 1824
echo '{"tool_name":"Bash","tool_input":{"command":"ls ~/.aws","description":"check aws creds","dangerouslyDisableSandbox":true}}' \ - docs/setup/secure-agent-setup.md, line 2646
ssh-add -L > ~/.ssh/id_yubikey.pub - docs/setup/secure-agent-setup.md, line 2648
git config --global user.signingkey ~/.ssh/id_yubikey.pub - docs/setup/secure-agent-setup.md, line 3800
test -r ~/.aws/credentials && echo readable # → nothing (denied or absent; see the 7a sentinel rule) - docs/setup/secure-agent-setup.md, line 3871
`~/.aws/credentials`, the `~/.ssh/id_*` private keys (list the readable ones with - docs/setup/secure-agent-setup.md, line 3872
`find -H ~/.ssh -maxdepth 1 -name 'id_*' ! -name '*.pub' -exec test -r {} \; -print`, - docs/setup/secure-agent-setup.md, line 3874
`~/.ssh`; its error separates absent from denied except under
and 3 more places
Downloads and installs other software
The author does not mention this.
Found in 33 places.
Show 17 more
- docs/adapters/copilot.md, line 74
npm install -g @github/copilot - docs/setup/sandbox-troubleshooting.md, line 1165
hooks, MCP servers, the excluded `uvx` / `uv run` commands and your own - docs/setup/secure-agent-setup.md, line 217
sudo apt-get install --no-install-recommends \ - docs/setup/secure-agent-setup.md, line 219
npm install -g --no-save @anthropic-ai/claude-code@latest - docs/setup/secure-agent-setup.md, line 321
sudo apt-get install --no-install-recommends \ - docs/setup/secure-agent-setup.md, line 342
sudo dnf install \ - docs/setup/secure-agent-setup.md, line 348
optional. If you want socat, `brew install socat` (current Homebrew - docs/setup/secure-agent-setup.md, line 356
npm install -g --no-save @anthropic-ai/claude-code@latest - docs/setup/secure-agent-setup.md, line 378
sudo apt-get install --no-install-recommends \ - docs/setup/secure-agent-setup.md, line 532
"uvx --from ~/.claude/magpie/vetted-ops vetted-op-read *", - docs/setup/secure-agent-setup.md, line 534
"uvx --from ~/.claude/magpie/vetted-ops vetted-op-tracker *", - docs/setup/secure-agent-setup.md, line 536
"uvx --from ~/.claude/magpie/vetted-ops vetted-op *", - docs/setup/secure-agent-setup.md, line 537
"uvx --from ~/.claude/magpie/adversarial-review adversarial-review *" - docs/setup/secure-agent-setup.md, line 697
"Bash(uvx --from ~/.claude/magpie/vetted-ops vetted-op-read *)", // same dispatcher, the form bulk gatherer agents use - docs/setup/secure-agent-setup.md, line 733
"Bash(pip install --upgrade *)", "Bash(uv self update *)", - docs/setup/secure-agent-setup.md, line 762
"Bash(uvx --from ~/.claude/magpie/vetted-ops vetted-op *)", - docs/setup/secure-agent-setup.md, line 764
"Bash(uvx --from ~/.claude/magpie/vetted-ops vetted-op-tracker *)",
and 13 more places
Safer alternatives
Low-risk skills in the same category (security) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'isolated-setup-doctor' ] || [ -L ~/.agents/skills/'isolated-setup-doctor' ]; then echo 'A skill folder named isolated-setup-doctor already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/apache/magpie' "$d" && git -C "$d" checkout --quiet '8d24b52457f7a2731d7cc3329af96430a16715fd' -- 'plugins/magpie-setup/skills/isolated-setup-doctor' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugins/magpie-setup/skills/isolated-setup-doctor' ~/.agents/skills/'isolated-setup-doctor' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'isolated-setup-doctor' ~/.claude/skills/'isolated-setup-doctor' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for apache/magpie shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/apache/magpie/)
Score history
| Date | Version | Score |
|---|
| 2026-11-13 | 8d24b52 | 49 |
| 2026-11-09 | 3fd660b | 95 |
| 2026-11-07 | c099f3f | 69 |