Step 7 of v2.0 plan. Registers SessionStart, Stop, and statusLine hooks. Note: statusLine top-level placement in hooks.json is an open assumption (brief Assumption 1) — verified to be valid JSON syntax; live smoke-test required to confirm Claude Code loads it from this location vs requiring settings.json placement. |
||
|---|---|---|
| .. | ||
| .claude-plugin | ||
| hooks | ||
| scripts | ||
| skills/graceful-handoff | ||
| tests | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| LICENSE | ||
| README.md | ||
graceful-handoff
Sesjonsoverlevering på under 60 sekunder. Designet for Opus 4.7-sesjoner som fyller kontekst raskt.
Problemet: Opus 4.7 fyller kontekstvinduet mye raskere enn 4.6 — ofte innen ~5 minutter for reelt arbeid. Når du er på 60-70% og må starte ny sesjon, er det tre manuelle steg som blir hastverk eller glemt:
- Oppsummere hvor arbeidet står (commits, lokale endringer, hva som er testet)
- Commite og pushe ferdig arbeid (ellers tapes det)
- Skrive en copy-paste-prompt som lar neste sesjon fortsette uten tap
/graceful-handoff gjør alle tre, automatisk, i ett steg.
Installasjon
claude plugin marketplace add https://git.fromaitochitta.com/open/ktg-plugin-marketplace.git
# Deretter /plugin install graceful-handoff
Bruk
Minimum:
/graceful-handoff
Med slug (hvis du har flere handoffs i samme mappe):
/graceful-handoff refactor-auth
Uten auto-commit:
/graceful-handoff --no-commit
Dry-run (se hva som ville skjedd):
/graceful-handoff --dry-run
Hvordan den fungerer
Kommandoen utfører 6 faser inline i main-sesjonen (ingen Agent-delegering, ingen WebSearch — alt må skje raskt):
1. Detekter arbeidsmappe
pwd
git status --porcelain
git log --oneline -10
# Let oppover etter .claude-plugin/plugin.json
# Let etter .claude/projects/*/brief.md + progress.json
2. Identifiser handoff-type
| Type | Når |
|---|---|
multi-sesjon |
Aktivt ultraplan-prosjekt finnes (progress.json status ≠ "completed") |
plugin-arbeid |
Inne i en marketplace-plugin (.claude-plugin/plugin.json finnes oppover i tre) |
enkelt-oppgave |
Ingen av over |
3. Skriv NEXT-SESSION-artefakt
Standardfilnavn: NEXT-SESSION-PROMPT.local.md. Med slug: NEXT-SESSION-<slug>.local.md.
Lokasjon:
multi-sesjon→ i prosjektmappenplugin-arbeid→ i plugin-rootenkelt-oppgave→ i cwd
Innhold (7 seksjoner — samme struktur som NEXT-SESSION-PROMPT.local.md i llm-security/config-audit):
# NEXT-SESSION-PROMPT — <tittel>
## Hvorfor dette eksisterer
...
## Status ved sesjonshåndoff
### ✅ Ferdig
### ⏳ Ikke startet / delvis
### ⚠️ Brutt / kjent risiko
## Slik fortsetter du
...
## Push-policy
...
## Verifiseringskommandoer
...
## Husk
...
4. Oppdater REMEMBER.md og TODO.md
Kun hvis filene finnes (opprettes ikke i random mapper). Flytter ferdige items, oppdaterer datoer.
5. Commit + push
Skip hvis --no-commit, --dry-run, eller git status --porcelain er tom.
Auto-genererer Conventional Commits-melding basert på endrede filer:
| Filmønster | Type |
|---|---|
tests/** |
test |
*.md, README, CHANGELOG |
docs |
Ny funksjon i hooks/, scanners/ |
feat |
| Bugfix | fix |
| Config, lockfile | chore |
Scope: plugin-navn hvis alle endringer er i én plugin.
Viser meldingen til bruker før commit. Pusher til origin <current-branch>.
Pre-commit hooks (secrets, pathguard) respekteres — hvis de blokkerer, stopper kommandoen og rapporterer uten bypass.
6. Print copy-paste-prompt
Kompakt blokk til terminal som bruker kopierer direkte til ny Claude-sesjon:
═════════════════════════════════════════════
NESTE SESJON — copy-paste til ny Claude:
═════════════════════════════════════════════
cd /Users/.../plugins/llm-security
cat NEXT-SESSION-PROMPT.local.md
git log --oneline -5
git status
Fortsett fra Commit 2 (entropy-scanner kontekst-suppression).
═════════════════════════════════════════════
Argumenter
| Argument | Beskrivelse |
|---|---|
[topic-slug] |
Kebab-case slug. Med slug: NEXT-SESSION-<slug>.local.md. Uten: NEXT-SESSION-PROMPT.local.md |
--no-commit |
Hopp over commit+push. Bruker håndterer commit manuelt |
--dry-run |
Ingen filer skrives, ingen git-operasjoner. Print kun hva som ville skjedd |
Eksempler
Plugin-arbeid:
cd plugins/llm-security
# ... arbeid ...
/graceful-handoff
# → skriver plugins/llm-security/NEXT-SESSION-PROMPT.local.md
# → oppdaterer plugins/llm-security/REMEMBER.md + TODO.md
# → committer + pusher
# → printer copy-paste-prompt
Multi-sesjon (ultraplan-prosjekt):
cd prosjekt-med-.claude/projects/2026-04-18-foo/
/graceful-handoff
# → skriver .claude/projects/2026-04-18-foo/NEXT-SESSION-PROMPT.local.md
# → (REMEMBER/TODO kun hvis de finnes i prosjektmappen)
# → committer + pusher
Flere parallelle handoffs:
/graceful-handoff api-migration
/graceful-handoff token-refresh
# → to filer: NEXT-SESSION-api-migration.local.md + NEXT-SESSION-token-refresh.local.md
Bare artefakt, ingen git:
/graceful-handoff --no-commit
# → skriver artefakt + REMEMBER/TODO
# → git status viser fortsatt uncommittede endringer
Forhåndssjekk:
/graceful-handoff --dry-run
# → printer planlagt artefakt, foreslått commit-melding, copy-paste-prompt
# → skriver ingenting, gjør ingen git-operasjoner
Tidsbudsjett
< 60 sekunder totalt. Hvis den drar ut: lag en minimal handoff med det du har, og noter det som ufullstendig. Aldri Agent-delegering eller WebSearch — main-sesjonen er raskere.
Begrensninger (v1.0.0)
- Ingen auto-invokasjon ved kontekst-terskel — bruker triggrer manuelt. Vurderes i v1.1
- Commit-meldingen er auto-generert uten Y/n-bekreftelse. Hvis kvalitet blir et problem: rapporter, vurderer "vis og bekreft" i v1.1
- Overskriver eksisterende NEXT-SESSION-fil (merger fra innhold, men ikke fra diff). Sikkerhetskopi-mønster vurderes
- Ingen integrasjon mot
.claude/projects/*/progress.jsonutover lesing
Sikkerhet
- Respekterer alle pre-commit hooks (secrets-scanning, pathguard). Bypasser ALDRI
- Filer er
*.local.md→ matches av*.local.mdi global/prosjekt-gitignore - Ingen nettverks-kall, ingen eksterne avhengigheter
- Krever kun
allowed-tools: Read, Write, Edit, Bash, Glob
Lisens
MIT