.claude/skills/meridian-privilege-escalation/SKILL.md
How to escalate agent permissions in meridian when a spawn hits capability limits — sandbox tiers, approval modes, model/harness switching, and per-spawn overrides. Use when a spawned agent fails because of sandbox restrictions, missing tools, harness limitations, or insufficient permissions, and you need to change the spawn configuration to unblock it.
npx skillsauth add haowjy/pokemon-amber meridian-privilege-escalationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Meridian agents run with constrained permissions by default — sandboxed filesystems, restricted tools, harness-specific limitations. When a spawn can't complete its task because of these constraints, you can escalate permissions per-spawn without changing the agent profile.
Prefer the least-privilege escalation that unblocks the task. Try targeted fixes first (--sandbox full-access, --add-dir, --approval auto) before broad overrides (--approval yolo, --sandbox unrestricted). Broad overrides disable safety checks entirely — if you're reaching for yolo or unrestricted, surface the situation to the user first and let them approve the escalation. An autonomous agent silently granting itself maximum permissions defeats the purpose of having tiers.
The --sandbox flag controls Codex's process sandboxing — filesystem, network, and process isolation. Other harnesses (Claude, OpenCode) don't have sandbox tiers; see Approval Modes and Model/Harness Switching below for how to escalate permissions on those.
Tiers from most to least restrictive:
| Tier | What it allows |
|---|---|
| read-only | Read files only. No writes, no process execution. |
| workspace-write | Read/write within the workspace. No network listeners, no access outside project. |
| full-access | Full filesystem and process access. |
| danger-full-access | Like full-access with reduced safety checks. |
| unrestricted | No sandbox restrictions. |
Override per-spawn:
meridian spawn -a coder --sandbox full-access -p "Run integration tests that bind to localhost..."
Agent profiles set a default tier (e.g. sandbox: workspace-write). The --sandbox flag overrides it for that specific spawn only. The tier passes through directly to Codex's --sandbox flag.
The --approval flag controls how the harness handles tool-call approvals:
| Mode | Behavior |
|---|---|
| default | Harness decides (each harness has its own default policy). |
| confirm | User approves each tool call. |
| auto | Auto-approve safe operations, prompt for dangerous ones. |
| yolo | Approve everything. No prompts. |
Override per-spawn:
meridian spawn -a coder --approval auto -p "..."
meridian spawn -a coder --approval yolo -p "..." # use sparingly
Different models route to different harnesses, and each harness has different capability profiles. Switching the model can bypass harness-level restrictions entirely:
# Some harnesses have sandboxes that restrict network binding
meridian spawn -a coder -m <sandboxed-model> -p "..."
# Switching to a harness without sandbox restrictions sidesteps the issue
meridian spawn -a coder -m <unsandboxed-model> -p "..."
Run meridian models list to see which models route to which harness.
"Can't bind to a port / start a server"
On Codex: sandbox restricts network listeners → --sandbox full-access or higher.
On Claude: not sandbox-restricted → check if the tool is in the allowedTools list, or use --approval auto.
"Can't write files outside workspace"
On Codex: sandbox restricts filesystem scope → --sandbox full-access for that spawn.
On Claude: use --add-dir <path> if you know the specific directory needed. If you don't know the directory upfront, escalate to the user — they can approve --approval yolo for that spawn.
"Can't access the network / fetch URLs" On Codex: sandbox or tool restriction → ensure WebFetch/WebSearch are in the agent's tools list, or escalate sandbox. On Claude: ensure the agent profile includes WebFetch/WebSearch tools.
"Permission denied on tool call" — approval mode is blocking.
→ --approval auto first. If that's not enough, surface to the user before using --approval yolo.
"Context too small for the task" — model limitation.
→ Switch to a model with a larger context window via -m.
data-ai
Team composition for writing workflows — which agents to spawn, how many, what focus areas to assign, and how to scale effort. Use when composing critic panels, dispatching researchers, staffing draft/revise loops, or setting up brainstorm fan-outs.
testing
What fiction readers actually want, framed as four composable reward channels (transportation, aesthetic, social simulation, flow), and the specific documented ways alignment training damages each one. Grounded in reader-psychology research and empirical NLP findings. Load when drafting prose, critiquing a draft, deciding whether to show or tell, diagnosing why a passage feels flat, or reasoning about why a scene is or isn't working.
testing
Logging and referencing writing issues — craft problems, tics, inconsistencies, and structural concerns found during analysis, critique, or review. Use when an agent identifies something worth tracking beyond a single critique report: repeated tics across chapters, inconsistencies that affect multiple scenes, structural problems that need the author's attention, or patterns that should be fixed in revision.
development
Shared artifact convention between orchestrators — what goes where in `$MERIDIAN_FS_DIR/` and `$MERIDIAN_WORK_DIR/`, how artifacts flow between phases, and what each directory means. Use whenever work artifacts, style files, knowledge entries, drafts, or critique reports are being created, referenced, or discussed.