skills/handoff-resume/SKILL.md
Use when starting a new session and wanting to continue from a previous handoff — reads the latest unrestored handoff document and restores session context
npx skillsauth add lucianghinda/superpowers-ruby handoff-resumeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Resume work from a previously created handoff document. Finds the latest unrestored handoff, reads it, marks it as consumed, archives it, and sets up the session to continue from where the previous session left off.
Core principle: Read the handoff, understand the context, then continue from Next Steps.
Announce at start: "I'm using the handoff-resume skill to restore session context."
docs/handoffs/Don't use when:
PostCompact hook handles this automatically)# Look for handoff files with restored: false
ls docs/handoffs/*.md 2>/dev/null
Read each file's frontmatter and filter for restored: false. Sort by created date, newest first.
If one unrestored handoff exists: Use it automatically.
If multiple unrestored handoffs exist: Present them and ask which to resume:
Found multiple unrestored handoffs:
| # | Date | Topic | Branch |
|---|------|-------|--------|
| 1 | 2026-04-14 | handoff-skill | lg/handoff |
| 2 | 2026-04-13 | auth-refactor | fix/auth |
Which handoff should I resume from?
If no unrestored handoffs exist: Check the archive:
ls docs/handoffs/_archive/*.md 2>/dev/null
If archived handoffs exist, list them and offer to re-open one. If none exist at all, inform the user.
Read the full handoff document. Present a summary:
Resuming from handoff: <topic>
- Branch: <branch>
- Created: <date>
- Goal: <goal summary>
- Next steps: <count> items
- Files to read: <count> documents
Update the handoff file's frontmatter:
restored: truerestored_at: <ISO 8601 UTC timestamp>Move the file to docs/handoffs/_archive/.
git status to see if the working tree matches expectationsIf any sections contain <!-- to be enriched by LLM --> markers (from a hook-generated handoff), fill them in from available context before proceeding.
development
Use when writing, reviewing, or debugging pure Ruby code — idiomatic patterns, modern 3.x+ features (pattern matching, Data.define, endless methods), error handling conventions (raise vs fail, result objects), memoization, and performance idioms. For Rails use rails-guides. For testing use minitest. For code style use sandi-metz-rules.
testing
Official Rails documentation. Use when asked about any Rails-specific topic including ActiveRecord, routing, controllers, views, mailers, jobs, Action Cable, Action Text, Active Storage, migrations, validations, callbacks, associations, caching, security, or internals.
tools
--- name: ruby-upgrade description: Use when upgrading the Ruby interpreter version of a Bundler/Rails app — especially "upgrade to Ruby 4", "bump Ruby to 4.0", "audit Ruby 4 compatibility", "what breaks on Ruby 4", or a specific target like "Ruby 4.0.5". Triggers on Ruby-major risk symptoms: CGI.parse/CGI::Cookie removal, Net::HTTP implicit Content-Type dropped, demoted default gems (ostruct/logger/benchmark/irb), SortedSet, Set#inspect changes, native-extension recompile crashes, openssl 4 pin
development
Use when stuck after multiple debug attempts and want to escalate to a stronger one-shot model (GPT-5 Pro, Opus, Gemini Pro) — packages a self-contained "oracle prompt" with Ruby/Rails project briefing, verbatim error, what-was-tried, constraints, and just-enough attached files. Triggers include "ask the oracle", "write a letter to GPT-5", "I'm stuck, draft a prompt for another model", "/tmp/letter.md".