Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Resume

ASecurity

Pick up unfinished work cold by re-deriving state from live git, gh, the plan file, and TaskList — never from remembered claims. Use at the start of a session continuing prior work. Verifies what's merged, open, committed, checked-off first.

3 stars
0 votes
0 copies
2 views
Added 9/19/2026
ai-agentsrustgoshellbashgit

Security Analysis

A100/100

Scanned 10/4/2026

$npx -y skills add dryvist/claude-code-plugins --skill resume --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Resume?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Resume
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dryvist-resume/badge)](https://www.skillsdirectory.com/skills/dryvist-resume)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: resume
description: "Pick up unfinished work cold by re-deriving state from live git, gh, the plan file, and TaskList — never from remembered claims. Use at the start of a session continuing prior work. Verifies what's merged, open, committed, checked-off first."
---

# Resume

Continue unfinished work in a session that has no memory of how it got here. The
core rule: **trust live state, never prose.** A resume prompt, a plan file, or a
prior summary describes what *was* true. Before acting, verify what *is* true.

This exists because resuming cold is common and easy to get wrong: the failure
mode is redoing work that already shipped, or acting on a claim that has since
gone stale.

> **State warning**: everything below drifts. A PR called "open" in the prompt may
> be merged; a plan item marked `[ ]` may be done. Re-derive all of it now.

## Step 1: Locate the work

- Read the plan file. The resume prompt should name it (`<HOME>/.claude/plans/<slug>.md`);
  if not, find the most recent under `<HOME>/.claude/plans/`.
- `TaskList` — the pending/in-progress items.
- The directory the work lives in — the prompt's `cd` block. Only if that is
  missing and `git rev-parse --is-inside-work-tree` succeeds, widen the search
  with `git worktree list`.

## Step 2: Re-derive live state (never trust the prompt's claims)

For every claim the prompt or plan makes, run the check that confirms it. Pick
the cheapest evidence source that can actually falsify the claim:

| Evidence source | Confirms |
| --- | --- |
| The file itself | "file Y still needs Z" — read it; the change may already be there |
| Test or build output | "it works" / "it's broken" — run it |
| `TaskList` and the plan checkbox | a *claim*, never proof — treat as the thing to verify, not the verification |
| Filesystem | "the artifact was generated", "the config exists" |
| Version control *(repository only)* | "branch X is pushed", "PR #N is open", "already merged" |

The version-control row is gated:

```bash
git rev-parse --is-inside-work-tree >/dev/null 2>&1
```

When it succeeds, add `gh pr view <N> --json state,mergedAt` (a PR called open
may be merged), `git status -sb`, and `gh pr list --state merged` to catch work
already shipped.

To find commits not yet on the default branch, run this as **one block** — the
resolution and its use must share a shell (see
[ARCHITECTURE.md](../../ARCHITECTURE.md#resolving-the-default-branch)):

```bash
default_branch=$(git symbolic-ref --short refs/remotes/origin/HEAD 2>/dev/null)
default_branch=${default_branch#origin/}
[ -n "$default_branch" ] || default_branch=$(
  gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name' 2>/dev/null)

if [ -z "$default_branch" ]; then
  echo "default branch unknown — cannot tell shipped from unshipped"
elif ! git rev-parse --verify "origin/$default_branch" >/dev/null 2>&1; then
  echo "origin/$default_branch not fetched — run: git fetch origin $default_branch"
else
  git log --oneline "origin/$default_branch..HEAD"
fi
```

Never interpolate an unresolved default: `git log ""..HEAD` exits 0 with no
output, which reads as "nothing unshipped" and would make this skill redo work
that already merged — the precise error it exists to prevent.

When the guard fails, skip the row — the other sources still reconcile the plan.

Reconcile: build the *actual* remaining set = plan/TaskList items minus anything
live evidence shows already done. Shrinking the list is the point — never redo
finished work.

## Step 3: State where things stand, then continue

Before editing anything, print a short reconciliation so the user can confirm:

```text
Resumed: <objective, one line>
  Already done (verified live):  <items live state proved complete>
  Actually remaining:            <the reconciled open set>
  Next action:                   <the single next step>
  Working dir:                   <absolute path>
```

Then do the next action. Do not start by redoing something already shipped. If
live evidence contradicts the plan (a "pending" item is done, a "done" item
regressed), say so explicitly — the contradiction is a finding, not noise. Name
any evidence source you could not reach, so the gap is visible rather than
silently treated as "nothing there".

## When the plan itself looks stale

If re-derivation shows the plan is broadly out of date (many items done, the
approach superseded), stop and invoke `/replan` instead of resuming against a plan
that no longer matches reality.

## Related Skills

- **replan** (this plugin) — re-derive the whole plan from live state when the
  plan file no longer matches reality.
- **session-status** (this plugin) — the live-state derivation this skill reuses.
- **handoff** (mattpocock/skills, installed through nix-ai) — user-invoked portable
  Markdown document that a new session can read before resuming.

Attribution

dryvistdryvist
View sourceSee grades on GitHubMore from dryvist →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →