Skip to content
Back to skills

Sw Load

ASecurity

Use when the user provides a handoff token, asks to resume or continue previous work, the session-start output announces a handoff, or you are about to call load_handoff.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
ai-agentsgobashgitapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 25, 2026

npx -y skills add nomadop/session-watcher --skill sw-load --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sw Load?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sw Load
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nomadop-sw-load/badge)](https://www.skillsdirectory.com/skills/nomadop-sw-load)

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

Download with Pro
SKILL.md
---
name: sw-load
description: "Use when the user provides a handoff token, asks to resume or continue previous work, the session-start output announces a handoff, or you are about to call load_handoff."
---

# Session Watcher Load Handoff

Restore a previous session's handoff package into context so work can resume.

## Steps

1. **Load the handoff.** Resolve a token from the skill `args`, from the user's message, or from the session-start reminder `[Session Watcher] Handoff available (token: <token>, ...)`. Then call the MCP `load_handoff` tool, whose schema carries the three ways in.

   A token you were handed is the one path that proceeds without asking. Any other way in — a free-text match, an auto-match, or several tokens offered at once — means listing what came back with each one's age and task preview and letting the user pick before you go on. Nothing found → tell the user the token is expired or invalid, and ask for direction.

   Fallback, when MCP is unavailable or errors: take the server URL from the session-start line `[Session Watcher] Server: http://...`, or from the newest state file under `~/.session-watcher/`, then `curl -s '<url>/api/handoff/load?load_token=<token>'`.

2. **Read the kept paths.** Each entry is `{path, lines?, symbols?, resolvedSymbols?}`. Relative paths resolve against CWD, then `project_dir`; never against the plugin or skill directory.

   One strategy per entry, the first row that applies:

   | Entry has | Read with |
   |---|---|
   | `lines` | `Read(file, offset=start, limit=end-start+1)` per range |
   | `resolvedSymbols` only | the same, over the `(lines a-b)` each string carries; a string reporting the symbol not found → its `originally at lines` range |
   | neither | `Read(file)` |

   A range read is `Read` with `offset`/`limit`, or `sed -n 'a,bp'` where Bash is the reading tool. Issue every read for every entry in one message — each further turn re-reads the whole accumulated context.

   Unresolvable path → tell the user, skip. Empty `paths_to_keep` → ask the user what they are working on.

3. **Place the summary in its lineage.** `lineage` runs oldest to newest, one headline per session; the injected page holds the newest turns and is already in context. From the page, list the turns whose `A:` note bears on the next task, by their `S{k}:{T}` address; a cut `U:` row is held in full at that row of the transcript the session header names. When a headline bears on the next task and the page does not reach that session, call `turn_page` with that session's label as `before`. That list is what step 5 reports; it is not a verification pass.

4. **Load the kept skills** — invoke each name in `skills_to_keep` via the Skill tool. A skill named only in the summary text is invoked after the user agrees.

5. **Present, then hold.** One `git status --short && git log -1 --oneline`, then write, from the kept paths and that output:
   - Objective, one line
   - Working state — each claim the summary makes about the current state, set against what the kept paths and the git output show: matches, differs (say how), or reaches neither (say unverified)
   - Next task and its entry points
   - Blockers and risks
   - The kept paths now in context, the turns from step 3 with their addresses, and the load token you used

   Then stop and wait for the user to confirm or correct it. Everything else — greps, `gh`, reads outside the kept set, the next task's own first act — begins after the reply.

### Completion criterion

Done when the kept paths are in context, the state is presented in the shape step 5 gives, and the user has replied confirming or correcting it.

Files in this skill

  • PATHS.md1.6 KB
  • SKILL.md2.8 KB

Attribution

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

Loading comments…