ktg-plugin-marketplace/plugins/graceful-handoff
Kjell Tore Guttormsen 1a65d8e4d5 feat(graceful-handoff): 2.0 — migrate to skills/ with disable-model-invocation [skip-docs]
Step 1 of v2.0 plan. Hard cut from commands/ to skills/ per Anthropic
recommendation for new plugins. Frontmatter sets disable-model-invocation:
true and pins model: claude-sonnet-4-6. Docs (README, CLAUDE.md, root
README) deferred to Step 9 per plan.
2026-05-01 05:45:26 +02:00
..
.claude-plugin feat(graceful-handoff): initial plugin with /graceful-handoff command 2026-04-19 22:54:10 +02:00
skills/graceful-handoff feat(graceful-handoff): 2.0 — migrate to skills/ with disable-model-invocation [skip-docs] 2026-05-01 05:45:26 +02:00
tests feat(graceful-handoff): 2.0 — migrate to skills/ with disable-model-invocation [skip-docs] 2026-05-01 05:45:26 +02:00
CHANGELOG.md feat(graceful-handoff): initial plugin with /graceful-handoff command 2026-04-19 22:54:10 +02:00
CLAUDE.md feat(graceful-handoff): initial plugin with /graceful-handoff command 2026-04-19 22:54:10 +02:00
LICENSE feat(graceful-handoff): initial plugin with /graceful-handoff command 2026-04-19 22:54:10 +02:00
README.md feat(graceful-handoff): initial plugin with /graceful-handoff command 2026-04-19 22:54:10 +02:00

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:

  1. Oppsummere hvor arbeidet står (commits, lokale endringer, hva som er testet)
  2. Commite og pushe ferdig arbeid (ellers tapes det)
  3. 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 prosjektmappen
  • plugin-arbeid → i plugin-root
  • enkelt-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.json utover lesing

Sikkerhet

  • Respekterer alle pre-commit hooks (secrets-scanning, pathguard). Bypasser ALDRI
  • Filer er *.local.md → matches av *.local.md i global/prosjekt-gitignore
  • Ingen nettverks-kall, ingen eksterne avhengigheter
  • Krever kun allowed-tools: Read, Write, Edit, Bash, Glob

Lisens

MIT