claude-code-config: Skill for Claude Code

.claude/skills/pause-resume/SKILL.md

pause-resume is a skill for Claude Code from auerbachb/claude-code-config. It costs 98 tokens per session (21,648 once invoked), scanned A, original, MIT.

A resume command for work previously parked by a pause command. It reads the saved recovery state, checks the current GitHub status, and re-arms selected unfinished work without starting duplicate tasks.

In plain words
What is it for?
Use it after pausing work, especially when returning to a project from another worktree or when you need to see what was stopped, waiting, or ready to resume.
Why use it?
It lets you continue after stopping a coding session without relying on memory or manually rebuilding the task list. If there is no saved pause state, it does nothing.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: mentions subagents; positional $N argument.

This is auerbachb/claude-code-config's own configuration. It tells Claude Code how to work on claude-code-config itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything claude-code-config configures →

Reuse

Borrowing it

Nothing to install: this file belongs to auerbachb/claude-code-config. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/auerbachb/claude-code-config/main/.claude/skills/pause-resume/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/auerbachb/claude-code-config

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pause-resume

README.md
[![agentmods](https://agentmods.dev/badge/skills/auerbachb/claude-code-config/pause-resume/github.svg)](https://agentmods.dev/skills/auerbachb/claude-code-config/pause-resume)
Your own site
<a href="https://agentmods.dev/skills/auerbachb/claude-code-config/pause-resume"><img src="https://agentmods.dev/badge/skills/auerbachb/claude-code-config/pause-resume/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pause-resume

Your own site · 80×15
<a href="https://agentmods.dev/skills/auerbachb/claude-code-config/pause-resume"><img src="https://agentmods.dev/badge/skills/auerbachb/claude-code-config/pause-resume.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 98 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 21,648 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00098 $0.21648
Opus 5.5 $0.00039 $0.08659
Sonnet 5.5 $0.00020 $0.04330
Haiku 4.5 $0.00010 $0.02165

Measured 1mo ago against content hash 39ca5bc4f951, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

pause-resume scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/pause-resume/SKILL.md · 1,361 lines

How it starts

The opening of the file, as written. The whole thing — 1,361 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Thin restorer for /pause. Reads the pause state, prints the board as it is now (not as it was parked — it re-reads GitHub before printing), re-arms what was stopped, and reports what is waiting on you.

/go-on is the primary entry point for resuming. It classifies the stoppage from recorded evidence and routes here when the newest record is a /pause, forwarding --resume-refill verbatim — so nobody has to remember which stop happened (Issue #1397; ladder: .claude/reference/universal-resume.md). This command keeps working unchanged and stays the direct path when you already know the work was paused; it remains the executor, and /go-on never reimplements the restore below.

Running this when no pause state exists is a clean no-op: No parked session found — nothing to resume.

Step 0: Resolve helpers

/pause-resume is invocable from any thread — including one whose cwd is a different worktree than the one /pause ran in. The three-candidate resolution order is identical to every other stop-style command:

resolve_script() {
  local name="$1" candidate
  for candidate in \
    "$HOME/.claude/skills-worktree/.claude/scripts/$name" \
    "$HOME/.claude/scripts/$name"; do
    if [[ -x "$candidate" ]]; then echo "$candidate"; return 0; fi
  done
  return 1
}
SESSION_STATE_SH=$(resolve_script session-state.sh) || SESSION_STATE_SH=""
EXECUTION_PAUSE_SH=$(resolve_script execution-pause.sh) || EXECUTION_PAUSE_SH=""
TASK_REGISTRY_SH=$(resolve_script background-task-registry.sh) || TASK_REGISTRY_SH=""

The current checkout is intentionally not a fallback: this resume command may run from an unrelated or untrusted repository, and must execute only installed helpers.

An unresolved session-state.sh in this skill is fatal for the state-read path but recoverable: fall back to the marker file in Step 1. Say which path is being used so the user knows.

Parse --resume-refill and the internal auto-wake generation token:

RESUME_REFILL=false
CALLER_GENERATION=""
EXPLICIT_MARKER=""
_NEXT_IS_GENERATION=false
_NEXT_IS_MARKER=false
for arg in $ARGUMENTS; do
  if [[ "$_NEXT_IS_GENERATION" == true ]]; then
    CALLER_GENERATION="$arg"
    _NEXT_IS_GENERATION=false
    continue
  fi
  if [[ "$_NEXT_IS_MARKER" == true ]]; then
    EXPLICIT_MARKER="$arg"
    _NEXT_IS_MARKER=false
    continue
  fi
  case "$arg" in
    --resume-refill) RESUME_REFILL=true ;;
    --generation) _NEXT_IS_GENERATION=true ;;
    --marker) _NEXT_IS_MARKER=true ;;
  esac
done
[[ "$_NEXT_IS_GENERATION" == false ]] || \
  { echo "ERROR: --generation requires a value." >&2; exit 2; }
[[ "$_NEXT_IS_MARKER" == false ]] || \
  { echo "ERROR: --marker requires a value." >&2; exit 2; }

Before clearing any gate, validate a Monitor-supplied generation against the current saved generation. A stale or unreadable generation terminates without changing state, so an old wake cannot reopen execution or re-arm work:

if [[ -n "$CALLER_GENERATION" ]]; then
  [[ -n "$SESSION_STATE_SH" ]] || \
    { echo "Cannot validate auto-wake generation; no gate was cleared." >&2; exit 1; }
  REPO_KEY=$("$SESSION_STATE_SH" --repo-key 2>/dev/null) || REPO_KEY=""
  [[ -n "$REPO_KEY" ]] || \
    { echo "Cannot identify the auto-wake repository; no gate was cleared." >&2; exit 1; }
  STORED_GENERATION=$("$SESSION_STATE_SH" \
    --get ".repos[\"$REPO_KEY\"].day.limit_resume_generation" 2>/dev/null) || \
    { echo "Cannot read the saved auto-wake generation; no gate was cleared." >&2; exit 1; }
  if [[ -z "$STORED_GENERATION" || "$STORED_GENERATION" == "null" || \
        "$CALLER_GENERATION" != "$STORED_GENERATION" ]]; then
    echo "Stale auto-wake rejected; no gate was cleared or work re-armed."
    exit 0
  fi
fi

Read the full file on GitHub · 1,361 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +132 lines 39ca5bc4f951
  2. 1mo ago Changed · +6 lines f5cc57c8f28c
  3. 1mo ago Changed · +11 lines 259df0fa683d
  4. 1mo ago Changed · +753 lines 127c504932ea
  5. 2mo ago First seen · 459 lines · 98 tokens per session scan A f57efee8e491

Subscribe to this mod's changes

pause-resume is a skill published in the GitHub repository auerbachb/claude-code-config (5 stars, last pushed 2d ago), licensed MIT. It adds 98 tokens to every session and 21,648 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.