name: Dev10x:afk description: > Walk-away mode — compose the walk-away gate policy so long-running sessions do not stall on re-strategy or confirmation gates. Writes gate_preset: adaptive and gate_overlays: [afk] to .claude/Dev10x/config.yaml (durable prefs, GH-774); the resolve_gate resolver reads those keys and auto-advances the pipeline while routing deferred decisions to the PR description. TRIGGER when: starting a long-running unattended session (e.g., bundle work, fanout swarm, overnight implementation), or user says "walk away" / "afk" / "headless" / "no more questions". DO NOT TRIGGER when: actively pair-programming, scoping a new ticket (use Dev10x:ticket-scope), or session is already complete. user-invocable: true invocation-name: Dev10x:afk allowed-tools:
- Read(.claude/Dev10x/config.yaml)
- Edit(.claude/Dev10x/config.yaml)
- Read(.claude/Dev10x/session.yaml)
Dev10x:afk — Walk-Away Mode
Announce: "Using Dev10x:afk to compose the walk-away gate policy for this session."
Sets the session gate policy to the walk-away posture so the agent does not re-litigate a decision the supervisor already made. It does this the ADR-0016 way — by composing a preset with an overlay, not by hardcoding modes:
gate_preset: adaptive # walk-away base (merges included, ADR-0016 D-9)
gate_overlays: [afk] # session_adoption: auto-advance + doubt_sink: pr-description
Skills are policy-ignorant: they call the resolve_gate tool, which
reads these keys and decides whether each gate fires, auto-advances,
or is skipped. This skill's only job is to write the policy; it never
re-implements gate behavior in prose.
Two effects follow from the composed policy:
- Gates auto-advance to their
(Recommended)option unless a safety floor fires (secret access, destructive+irreversible, cross-author push, privacy disclosure, hard upstream blocker). Those floors are the resolver's concern, not this skill's. - The
afkoverlay setssession_adoption: auto-advance(trust the persisted session even when stale) anddoubt_sink: pr-description, so a mid-flight doubt is appended to the PR body instead of pausing.
See references/friction-levels.md
and references/walk-away.md for the
resolver contract downstream skills consult.
Orchestration
REQUIRED: Create a task at invocation. Execute at startup:
TaskCreate(subject="Enable walk-away mode", activeForm="Enabling walk-away")
Mark completed when the session config write returns (or is skipped because the policy already matches).
When to Use
Invoke this skill at the start of a session where the supervisor will be unavailable for hours. Typical entry points:
Dev10x:afkthenDev10x:work-on bundle <milestone-url>Dev10x:afkthenDev10x:fanoutover a queue of tickets- Resuming an unattended run after compaction — the policy survives
in
session.yamland is re-read on the next Phase 0
Instructions
Step 1: Read existing config
Read .claude/Dev10x/config.yaml if it exists — the durable prefs home
(GH-774). Capture the new-style keys gate_preset, gate_overlays,
gate_overrides. Also read a pre-split .claude/Dev10x/session.yaml for
the legacy keys friction_level, active_modes, walk_away (durable
keys lived there before the GH-774 split); these are migration inputs.
If both are missing, treat all keys as unset.
Step 2: Compute desired state
The walk-away policy composes the adaptive base preset with the
afk overlay:
gate_preset: adaptive
gate_overlays: [afk]
Overlay resolution rules:
- Compose, do not append modes. Start from any existing
gate_overlays; addafkif absent. Never writeactive_modes: [solo-maintainer]— walk-away autonomy and solo-maintainer merge autonomy are orthogonal overlays (afknever implies auto-merge; theadaptivebase already decides the merge posture per ADR-0016 D-9). - Reconcile conflicting oversight config. If the session carries
structural oversight modes that force checkpoints
(
supervised,pair-review) inactive_modesor as overlays, drop them — they oppose walk-away and would keep gates firing. - Preserve a pre-existing
solo-maintaineroverlay. If the user already opted into solo-maintainer, keep it in the union (gate_overlays: [afk, solo-maintainer]); just do not add it. - Migrate legacy keys. If the file only has the legacy shape
(
friction_level/active_modes/walk_away), replace it with the new-style keys above. A pre-existingwalk_away: trueis subsumed by theafkoverlay; a pre-existingsolo-maintainerinactive_modesbecomes thesolo-maintaineroverlay (rule 3).
doubt_sink and session_adoption come from the afk overlay — do
not write them as top-level session keys.
Step 3: Read-before-write gate (GH-846)
Skip the write entirely if gate_preset and the resolved
gate_overlays set already match the on-disk values. This avoids
spurious permission prompts and prevents clobbering co-edited entries.
Only when the preset or the overlay set differs, write the merged
config to .claude/Dev10x/config.yaml using the Write tool (durable
prefs live there since GH-774, so the worktree hook copies them to every
worktree). When migrating a pre-split session.yaml, drop the superseded
friction_level / active_modes / walk_away keys from it in a
separate write — do not leave durable keys in the ephemeral file.
Step 4: Report
Print a one-line summary of what changed:
gate_preset: adaptive— walk-away base selectedgate_overlays: + afk— overlay composedgate_overlays: already [afk]— no-op, surface as confirmationreconciled: dropped supervised/pair-review— when structural oversight modes were removedmigrated: legacy walk_away/active_modes → preset+overlays— when a pre-rewrite file was upgraded
Do not emit an AskUserQuestion confirmation. The invocation
itself is the confirmation; firing a gate here would violate the
policy this skill is meant to enforce.
Contract for Downstream Skills
Downstream skills do not read gate_preset / gate_overlays
themselves and they do not re-derive gate behavior from
walk_away. They call resolve_gate(gate=..., context=...) and honor
the returned effect (ask / auto-advance / skip). The resolver
composes this skill's preset + overlays, applies project and per-gate
overrides, then enforces the safety floors.
That means walk-away autonomy is expressed once — here, as policy —
and every gate-emitting skill inherits it uniformly. See
references/friction-levels.md
for the resolver contract and the per-gate toggle table.
Relationship to Presets and Overlays
afk is an overlay, not a friction level. It patches two toggles
on top of whichever base preset the session runs:
| Toggle | afk overlay value | Effect |
|--------|---------------------|--------|
| session_adoption | auto-advance | Adopt the persisted session even when stale — no "is this session still valid?" prompt |
| doubt_sink | pr-description | Append mid-flight doubts to the PR body instead of pausing |
The base preset decides the rest, including merge:
gate_preset: adaptive(this skill's default) — full walk-away, merges included.gate_preset: guided— light-AFK: auto-advance the mechanical pipeline through self-review, but merge stays a human action (merge: skip). Composeafkontoguidedwhen you want walk-away autonomy that still stops short of auto-merge.
To keep auto-merge off on a team repo, run with gate_preset: guided
gate_overlays: [afk]; theadaptivedefault is for genuinely solo / auto-merge-approved contexts.
Anti-Patterns
- Calling
Dev10x:afkmid-flight to silence an active prompt — this skill sets session policy, it does not retroactively cancel a pendingAskUserQuestion. Answer the prompt first, then invokeDev10x:afkto change how the next gate resolves. - Adding
solo-maintainerto make afk "more autonomous" — afk and solo-maintainer are orthogonal. If you want auto-merge, that is theadaptivebase or thesolo-maintaineroverlay, chosen deliberately — not a side effect of walking away. - Using on a session where the supervisor is actively reviewing — walk-away auto-advances informational gates too, removing the ability to inject mid-session steering. Reserve for genuinely unattended runs.
Reverting
To exit walk-away mode mid-session, edit .claude/Dev10x/config.yaml
and remove afk from gate_overlays (and reset gate_preset to
guided or strict if desired). The next gate-emitting skill reads
the updated policy via resolve_gate and resumes normal behavior.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.