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.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.