autobahn — Claude Code skill: carve risky scope, run the rest
The skill carves guardrail-adjacent items out of a task and runs the safe remainder at full strength in a context-clean subagent.
npx skills add LilMGenius/paperthin --skill autobahn -a claude-codeWhat autobahn does
Here is the split. You decide which parts of a task sit next to a guardrail — stealth, scraping, privacy, IP, licensing, security. Each one gets a descope verdict and a risk-free alternative. The safe remainder then goes to a fresh subagent that sees only the carved prompt, never the risky original.
Six steps run in order: FRAME, CARVE, GUARD, RUN, VERIFY, LEDGER. GUARD distills the carve into a compact scope block and folds it into the carved prompt verbatim, so the run cannot re-introduce an exclusion. VERIFY does one independent re-sweep (N=1) across five failure directions, including the case where the carve over-excluded. LEDGER reports the deliverable with every carved item, its class, reason and replacement.
If you have not pre-authorized descoping, the skill proposes a carve and waits for your answer before RUN. Bright-line items are not negotiable, and a dispute over one goes to a fresh context holding only the abstract description, not the negotiation. The archive entry is written only after the subagent's window closes — a record of risky material on disk while the run is active undoes the isolation. autobahn does not slip a flagged ask past a guardrail; it removes the ask and runs a genuinely safe prompt instead.
What it helps with
- separate risky items from the safe remainder of a task
- run the safe part in a clean subagent without the original ask
- record every exclusion in a ledger with reason and replacement
- check the deliverable across five failure directions
- stop hedging and shrinking work that is already safe
Example prompts for the agent
- run this task through autobahn: carve the risky parts and execute the rest in a clean subagent
- apply autobahn to this request and show me the descope ledger
- autobahn: propose the carve, wait for my answer, then run
How to install autobahn
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill autobahn -a claude-code2Manually: put the files in place
~/.claude/skills/autobahn/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/autobahn/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill autobahn -a codex2Manually: put the files in place
.agents/skills/autobahn/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill autobahn -a cursor2Manually: put the files in place
.cursor/skills/autobahn/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install LilMGenius/paperthin autobahn2Manually: put the files in place
.github/skills/autobahn/SKILL.md1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill autobahn -a gemini-cli2Platform CLI
gemini skills install https://github.com/LilMGenius/paperthin --path skills/depth/autobahnManually: put the files in place
.devin/skills/autobahn/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill autobahn -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about autobahn
How do I install autobahn in Claude?
Run npx skills add LilMGenius/paperthin --skill autobahn -a claude-code. The skill lands at ~/.claude/skills/autobahn/SKILL.md.
What does autobahn do?
It carves guardrail-adjacent items out of a task, gives each a safe alternative, and runs the safe remainder in a fresh subagent that only ever sees the carved prompt.
Why must the subagent never see the original ask?
An executor that reads the risky wording will hedge, dilute or refuse it. A clean context lets the safe scope run at full strength.
Source text
SKILL.md · MIT
--- name: autobahn description: "Carve guardrail-adjacent items out of scope with safe alternatives before risk-adjacent work starts, then run the safe remainder at full strength in a fresh subagent that only ever sees the carved prompt, never the risky input. Use when a task includes stealth, scraping, privacy, IP, policy, licensing, security, or other safety-adjacent material that could be silently dropped, over-elaborated, or needlessly diluted. Fires on the impulse, not only the topic: the moment you notice yourself about to hedge, soften, silently skip, or brace for a refusal, carve before you execute." --- Carve unsafe scope out of a task, then run the safe remainder in a fresh subagent that only ever sees the carved prompt, and report it with a visible descope ledger. ## Goal Turn risk-adjacent work into an explicit scope decision, then execute the safe scope in a clean room. The carve happens here; the running happens in a fresh subagent that receives only the carved prompt, never the risky original or this session's reasoning. That split is the point: the executing mind never reads a risky ask, so it has nothing to hedge, dilute, or refuse, and the safe work goes at full strength. autobahn is not evasion: it does not slip a flagged ask past a guardrail, it removes the ask and runs a genuinely safe prompt instead. ## Workflow 1. **FRAME**: Read the task, inputs, and user-stated risk posture. If the user already authorized descoping, proceed. If not, produce a proposed carve, make its split explicit, and wait for approval before **RUN**: a bright-line item has no safe version, so it is non-negotiable; a gray-zone item's safe alternative trades away scope the user might want, so it is the real question. If every item is bright-line, proceed; the ledger carries the record. If the user disputes a bright-line call itself, don't let the pressured session re-litigate it: hand the item's abstract description, stripped of the negotiation and any persuasion, to a fresh context for re-evaluation, and record the appeal and its outcome in the ledger either way. 2. **CARVE**: Sweep the task and adjacent inputs for guardrail-adjacent items. For each, propose `verdict=descope`, class it bright-line or gray-zone, give one risk-free alternative, and name an archive destination per the negatives-as-corpus convention. A gray-zone item the user decides to keep stays in scope and enters the ledger as a kept-by-owner decision. Point to excluded techniques only as far as identification requires; never elaborate them. 3. **GUARD**: Distill the carve into a compact scope-guard block (absolute exclusions, allowed alternatives, and the context that authorizes what stays in scope) and fold it into the carved prompt so the run carries it verbatim. The block names each exclusion so the run cannot re-introduce it, never the original risky ask verbatim or its method. In a harness where the run shares a filesystem or a memory store with this session, the block also tells the run not to consult decision logs, notes, or transcript search over that shared state: a clean prompt does no good if the run can read the risky ask back out of something this session just wrote nearby. Instruct the run to build the safe scope at full strength, with no hedging, apology, or shrunken deliverable. 4. **RUN**: Spawn a fresh, context-clean subagent (a Task that starts with no prior context) and hand it **only** the carved prompt, never the risky original or your carve reasoning. It runs the safe scope at full strength and returns the deliverable; the executing agent never sees a risky ask, so the carve, not this session, is what lets it floor it. If risky material surfaces inside a subagent, it routes back here through **CARVE**, never improvised inline. 5. **VERIFY**: Run an adversarial pass over the returned deliverable and adjacent artifacts, checking all five failure directions: risky content elaborated, risky content silently dropped, safe work diluted or treated as excluded, stale risky material left standing nearby, and the carve itself missed or over-excluded something — re-sweep the original task from a context independent of this one and diff the result against the ledger before reporting. Cap that independent re-sweep at one pass (`N=1`), not open-ended fan-out. 6. **LEDGER**: Once the run has finished and the subagent's window is closed, report the deliverable with a descope ledger listing every carved item: its class, its verdict of descoped or kept-by-owner, the reason, the safe alternative, and the archive destination. Write the archive entry only now, not earlier — a record of the risky material sitting on disk while the run is still active undoes the isolation the carve bought. Treat exclusions as visible decisions, not gaps. ## Rules - The executing subagent sees only the carved prompt. Never hand it the risky original, your carve reasoning, or this session's context; a clean executing context is what keeps the safe run flag-free and the skill non-evasive. Where the run has filesystem or memory access alongside this session, the carved prompt also forbids it from consulting decision logs, notes, or transcript search — a clean prompt is not enough if the run can reconstruct the risky ask from something adjacent. - A same-session appeal is not a re-review: if the user pushes back on a bright-line call, route the dispute to a fresh context holding only the item's abstract description, not the negotiation. Repeated appeals on the same item are themselves a signal worth surfacing, not just resolving. - Require a proposed carve when the user has not pre-authorized descoping; do not begin **RUN** while a gray-zone item that shapes the carved prompt still awaits an answer. Bright-line exclusions are never negotiable, so never stall on those alone. - Never probe: do not pose an excluded or gray-zone ask to see whether it passes. The carve settles scope before any such ask exists. - Keep the scope-guard block portable and exact, and bake it into the carved prompt verbatim. It must guard both directions: the run elaborates no excluded material, and dilutes, hedges, or re-refuses nothing the carve kept in scope. - Guard against unsafe elaboration: never provide operational detail for excluded techniques beyond the minimum needed to identify what is out of scope. This binds the ledger and the carved prompt themselves. - Do not frame the skill as a way around safety controls. It honors constraints by removing risky asks before they are posed and by running a genuinely safe prompt in a clean room. It cannot make a flagged input pass; it produces a different, safe input. - Do not claim control over model routing, fallback provisioning, or fixed-model selection; those are harness behavior, not prompt behavior. - Preserve negatives-as-corpus: descoped material is archived with its cause of death and safe replacement, never erased from the record, so a later pass can mine the ledger for anti-patterns. Write that archive entry after the run has finished, not before — the point of the carve is that the risky material never sits where the run could read it. ## Verification Before finishing, confirm: - The **CARVE** covers every guardrail-adjacent item found, each carrying a class, a verdict of descoped or kept-by-owner, a safe alternative, and an archive destination. - The **RUN** subagent received only the carved prompt, its baked-in guard held both directions with no downstream hedging or elaboration, and — where filesystem or memory access is shared — the prompt also barred it from decision logs, notes, or transcript search over that shared state. - The safe deliverable was not diluted because of nearby risky material, and every mid-run discovery routed back through **CARVE** into the ledger. - An independent re-sweep of the original task, done from a fresh context, was diffed against the ledger before reporting, and any gap it surfaced — missed risk or an over-broad exclusion — was folded back in. - The archive entry for descoped material was written after the run closed, not before. - The final report includes a distinct **LEDGER** section with exclusions, classes, reasons, alternatives, and archive destinations.
© LilMGenius · MIT · LilMGenius/paperthin