# Away Mode

Switches to away mode and renders a return brief when the owner comes back.

- Repository: https://github.com/kunchenguid/firstmate (8480 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add kunchenguid/firstmate --skill afk -g -a claude-code -y`
Codex: `npx skills add kunchenguid/firstmate --skill afk -g -a codex -y`
Cursor: `npx skills add kunchenguid/firstmate --skill afk -g -a cursor -y`
Gemini CLI: `npx skills add kunchenguid/firstmate --skill afk -g -a gemini-cli -y`

## Description

Enter the away posture when the captain invokes /afk, says they are going afk, `state/.afk-contract` or `state/.afk` exists, an incoming message starts with `FM_INJECT_MARK`, or any `state/.subsuper-*` marker is involved. Load it at once in the /afk turn, before any other work, and on the first unmarked message while away to render the return brief.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# afk

Away mode is a POSTURE of the one supervision session, not a second architecture.
Being away changes exactly two things: how the captain is informed, and what happens at a captain-owned decision point (hold for return, or the answer the captain's away words already gave).
It never changes the authority set.
The posture is a file, `state/.afk-contract`, written only by `bin/fm-afk-contract.sh` in the same turn as `/afk`; nothing infers the posture from chat.
A record carrying quiet mode (`bin/fm-afk-contract.sh mode`) is not this posture: the captain is present, so none of this skill's holds for a return apply to it (the `quiet` skill owns it).
Typing `/afk` is itself the go: the captain may not look at the screen again, so entry never waits for a further human response, and no read-back gates it or asks for a go.
Hold-for-return is the default and the only reach profile this release records: there is no phone channel, and the entry announcement says so aloud every time.

## Entering: `/afk [words]`

The rest: https://github.com/kunchenguid/firstmate/blob/HEAD/.agents/skills/afk/SKILL.md
