writing-handoff
Create structured handoff document for writing workflow session pause/resume.
What this skill does
Announce: "Using writing-handoff to capture session state for clean resumption." ## Contents - [The Iron Law of Handoff](#the-iron-law-of-handoff) - [Red Flags - STOP Immediately](#red-flags---stop-immediately-if-you-catch-yourself-thinking) - [Process](#process) - [Handoff Template](#handoff-template) - [Drive-Aligned Framing](#drive-aligned-framing) - [Rationalization Prevention](#rationalization-prevention) # Session Handoff Capture current writing workflow state into `.planning/HANDOFF.md` so a fresh session can resume exactly where this one left off. <EXTREMELY-IMPORTANT> ## The Iron Law of Handoff **NO HANDOFF WITHOUT READING STATE FIRST. This is not negotiable.** Before writing `.planning/HANDOFF.md`, you MUST: 1. READ `.planning/PRECIS.md` (if exists) — understand the argument and claims 2. READ `.planning/OUTLINE.md` (if exists) — understand section structure and mapping 3. READ `.planning/ACTIVE_WORKFLOW.md` (if exists) — understand current phase and progress 4. ASSESS what is actually done vs. what remains 5. Only THEN write the handoff document **If you catch yourself writing a handoff without reading state files first, STOP.** </EXTREMELY-IMPORTANT> <EXTREMELY-IMPORTANT> ## Red Flags - STOP Immediately If You Catch Yourself Thinking: | Thought | Why It's Wrong | Do Instead | |---------|----------------|------------| | "I remember what we wrote" | Memory degrades across long sessions — sections blur together | READ the state files | | "The handoff can be brief" | Brief handoffs lose critical context about argument direction | Be thorough — the next session knows NOTHING | | "I'll just note the current section" | Section name without context (which claims it serves, what's drafted vs. outlined) is useless | Include decisions, argument direction, and next action | | "We're almost done, no need for handoff" | "Almost done" is the most dangerous state to lose — one missed section derails review | Capture it — especially when close to completion | | "The state files have everything" | State files track structure, not session context (style decisions, argument pivots, rejected framings) | Add what's NOT in the files | | "Let me just note where we are" | This always produces vague handoffs | READ state files FIRST, then write from evidence | | "The user can figure out where we left off" | They can't reconstruct your argument decisions, rejected framings, or section dependencies | Write it all down | </EXTREMELY-IMPORTANT> ## Process ### Step 1: Read Current State Read all available state files to understand where we are: ``` 1. Read .planning/PRECIS.md → argument claims and commitments 2. Read .planning/OUTLINE.md → section structure and claim mapping 3. Read .planning/ACTIVE_WORKFLOW.md → current phase, style, progress 4. Read .planning/VALIDATION.md (if exists) → coverage status 5. Scan recent git log → what's been committed 6. Check for uncommitted changes → what's in-flight ``` **Run:** ```bash # Check for uncommitted work git status --short 2>/dev/null # Recent commits in this session git log --oneline -10 2>/dev/null ``` **Description:** writing-handoff: read current workflow and git state ### Step 2: Assess Progress From the state files and git history, determine: - **Current phase** (setup / outline / draft / validate / review / revise) - **Which sections are complete** (from git history, drafts/ directory, ACTIVE_WORKFLOW.md) - **Which section is in progress** (from uncommitted changes) - **Argument state** (from PRECIS.md — which claims are drafted, which are pending) - **Decisions made during this session** (from session context — style choices, argument pivots) - **Blockers encountered** (from session context) ### Step 3: Write Handoff Document Write `.planning/HANDOFF.md` using the template below. Every field is mandatory. <EXTREMELY-IMPORTANT> **The next session starts with ZERO context. If it's not in the handoff, it doesn't exist.** Write as if briefing a colleague who has never seen this project. Include: - The specific section you were drafting/reviewing and why - The argument direction you chose and alternatives you rejected - Any structural discoveries (sections that need merging, claims that need splitting, transitions that don't work) - The EXACT next action (not "continue writing" — what specifically to do first) </EXTREMELY-IMPORTANT> ### Step 4: Verify Handoff After writing, verify the handoff is complete: ``` 1. IDENTIFY: .planning/HANDOFF.md exists 2. READ: Re-read the handoff document 3. VERIFY: Contains all sections (Current State, Completed Work, Remaining Work, Decisions, Next Action) 4. VERIFY: "Next Action" is specific enough to start immediately 5. VERIFY: Frontmatter phase/section numbers are accurate ``` **If any section is empty or vague, fix it before confirming handoff.** ## Handoff Template ```markdown --- phase: [current phase number] phase_name: [setup|outline|draft|validate|review|revise] section_in_progress: [current section name or "none"] total_sections: [N from OUTLINE.md] status: paused last_updated: [ISO 8601] --- # Session Handoff ## Current State [Where exactly we are — the immediate context a new session needs. Include: current section being drafted/revised, current phase, current gate status, which PRECIS claims are covered. Be specific.] ## Completed Work - [x] Section I: [name] — Drafted ([brief note on argument]) - [x] Section II: [name] — Drafted - [ ] Section III: [name] — In progress ([what's drafted, what's not]) ## Remaining Work - Section III: [what specifically remains — which outline points are unexpanded] - Section IV: [name] — Not started - Validation — Not run yet ## Decisions Made - [Style choice]: [what was decided and WHY — e.g., "Chose to lead with empirical finding rather than doctrinal framework because audience is policy-oriented"] - [Argument direction]: [what was decided and WHY — e.g., "Framed counterargument as steelman rather than strawman to strengthen Section IV rebuttal"] ## Rejected Approaches - [Framing]: [why it was rejected — saves the next session from re-exploring dead ends] - [Structure]: [e.g., "Tried putting methodology in Section I but it buried the hook — moved to Section II"] ## Blockers - [Blocker]: [status/workaround found] - (none) — if no blockers ## Uncommitted Changes - [file]: [what was changed and why] - (none) — if all work is committed ## Next Action Start with: [specific first action when resuming — not "continue Section III" but "Open outlines/Section III (Outline).md and expand points 3.2-3.4 into prose, focusing on the counterargument to Smith (2024) that PRECIS.md commits to addressing. The first two subsections are drafted in drafts/Section III (Draft).md."] ``` ## Drive-Aligned Framing <EXTREMELY-IMPORTANT> **A vague handoff is NOT HELPFUL — the next session wastes its context re-discovering what you already know.** When you write "continue working on Section III", you are: - Forcing the next session to re-read all files to figure out where you were - Losing argument decisions and framing choices that took this session significant effort to develop - Losing structural knowledge (which sections connect, which transitions work, which claims are weak) that is expensive to re-derive - Creating a resumption that starts slower than a fresh start **A thorough handoff is the most helpful thing you can do when pausing.** </EXTREMELY-IMPORTANT> ## Rationalization Prevention | Thought | Reality | |---------|---------| | "The state files capture everything" | State files don't capture session decisions, rejected framings, or in-flight argument pivots | | "I'll just note the phase and section" | Phase + section name without context forces full re-discovery | | "The handoff is good enough" | "Good enough" handoffs lose 30 minutes of the next session to re-orientation | | "We can figure it out from git history" | Git history shows WHAT changed, not WHY or WHAT'S NEXT | | "ACTIVE_WORKFLOW.md has the progres
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.