Skip to main content

handoff

This skill should be used to close a session so the next one starts cold from corrected truth. Operator-invoked, gated on a retro note newer than the scope's last edit. Rewrites the primer within its budget first, then runs the status sweep (fully-resolved stories proposed for archiving, flipped only on approval) and reconciles every plan's Story Index — Focus, Next, Open, Read order, about 300 words, nothing another surface derives — confirms the index synced, and prints the one line the next session starts with. Use when the user says "/handoff", "hand off", "close the session", "wrap up the session", "prep the primer", "get the primer ready", "cold session prep", or "what does the next session start with".

الانتقال إلى التثبيت

معلومات المصدر

المستودع
bartolli/kmd
آخر نشاط في المصدر
٥ سبتمبر ٢٠٢٦ في ١٣:٤٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٧
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
handoff
description
This skill should be used to close a session so the next one starts cold from corrected truth. Operator-invoked, gated on a retro note newer than the scope's last edit. Rewrites the primer within its budget first, then runs the status sweep (fully-resolved stories proposed for archiving, flipped only on approval) and reconciles every plan's Story Index — Focus, Next, Open, Read order, about 300 words, nothing another surface derives — confirms the index synced, and prints the one line the next session starts with. Use when the user says "/handoff", "hand off", "close the session", "wrap up the session", "prep the primer", "get the primer ready", "cold session prep", or "what does the next session start with".
metadata
{"version":"0.21.2"}
# Handoff — Close the Session from Corrected Truth ## Why this exists The primer is the first thing a cold session reads, and the session that writes it is the one with the blind spots. So the primer is written once, at the close, after a retro has surfaced what the session did not claim — and the write is gated: `retro-before-primer` denies it until a retro note postdates the scope's last edit. The handoff is the operator's ceremony, never the agent's; the retro is the grooming step that precedes it. ## Prerequisites - `WIKI_SCOPE: <scope>` declared in the project instructions. If missing, suggest `/wiki`. - A retro note under `projects/<scope>/notes/retro-YYYY-MM-DD.md` whose `updated` is at or after the newest page under the scope's `plan/`, `spec/`, `adr/`, and `intent/` folders. Otherwise stop and run `/retro` first. - The scope's primer at `projects/<scope>/primer.md`. ## The protocol ### Step 1 — Gate check Read the newest retro note's `updated` and the newest `updated` under the four working folders. If the retro is older, stop: `/retro`, then back here. The pretool gate enforces this deterministically; checking first avoids a denied write mid-ceremony. ### Step 2 — Primer rewrite Write the primer first — the gate compares the retro note against the scope's newest page, and the sweep and reconcile below move story clocks past it. The primer's reader is an agent: `prime` inlines it into the next session's context. Write for that reader. Activate the `signal-dense` register (`/signal-dense`) before drafting, and read `projects/<scope>/glossary.md` first — every term the primer uses is a canonical handle from there, typed the way the glossary types it, never a synonym or a narrative paraphrase. Direct predicates, no hedging, no register shifts. Four sections, about 300 words, `updated` from the clock: - **Focus** — three lines: what the scope is doing now and why. - **Next** — the top three items, drawn from the Story Index and the draft intents ordered by `sightings`. A slice named where one is in progress. - **Open** — pointers to intents only. A question without an intent is filed as one first. - **Read order** — three links. The rule: nothing in the primer that a query or another surface derives. Invariants live in the project instructions; versions and release state in the changelog and tags; counts and active ADRs come from `prime`. Write it through the harness's file tool or with a literal vault path, so the gate and the resync both see the write. ### Step 3 — Status sweep Slices tick during a session, and a story whose slices and acceptance are all resolved archives at the last tick (`/tdd`). The sweep catches what that missed: list every story whose slices are all resolved — ticked, or declined with recorded rationale — and whose `status` is still `active` or `draft`. For each, name any outstanding verification debt from its Decisions or its intents. Propose the set. Flip `status: archived` **only on the operator's approval**, with `updated` from the clock (`date -u +%Y-%m-%dT%H:%M:%SZ`). The operator decides whether debt blocks closure. A scope that skips this buries live work under finished work. ### Step 4 — Story Index reconcile For each plan under the scope, the Story Index rows match story frontmatter: state, category, archived stories marked as such, and a row for every story promoted from an intent this session. The plan's `updated` moves only if a row changed. ### Step 5 — Confirm the sync `kmd config`: the `synced` line advanced past the primer write. If not, `kmd validate`, fix findings, `kmd sync`. ### Step 6 — The next line One line, last: `Next session starts with: story-<slug> slice N` — or the top intent when nothing is in progress. ## Output shape Visible response: the sweep proposal and its outcome, the Story Index changes, the primer's word count, the sync confirmation, and the next line. No separate report. ## Anti-patterns - **Handoff without a retro.** The gate blocks it; a handoff that works around the gate inherits the session's blind spots. - **Sweep without approval.** Archiving is the operator's call; the agent proposes. - **Primer as log.** Session narrative, restated invariants, version numbers, and work-item lists that the Story Index already holds are the rot the budget exists to prevent. - **Primer in prose register.** Synonyms, paraphrase, and hedges dilute the signal an agent reads; the canonical-dense register and the glossary's handles are the primer's language. - **Open questions without intents.** The primer points; it does not carry. - **Writes the resync cannot see.** A primer written through a shell variable path bypasses both the gate and the posttool sync.
عرض على GitHub