feat: add /handoff skill — structured context transfer between parallel agents#408
Open
kpatel513 wants to merge 2 commits intogarrytan:mainfrom
Open
feat: add /handoff skill — structured context transfer between parallel agents#408kpatel513 wants to merge 2 commits intogarrytan:mainfrom
kpatel513 wants to merge 2 commits intogarrytan:mainfrom
Conversation
…ions, CLAUDE.md injection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
gstack's parallel sprint model has a coordination tax that grows as you add agents. Each agent starts cold, with no knowledge of decisions made in other sessions, assumptions embedded in the code, or work left unfinished. Without a handoff, you are the bus. More agents means more manual context-switching for the human, not less.
What /handoff does
Produces a structured artifact the next agent loads as context before starting. Four sections:
The artifact lands at
HANDOFF.md(gitignored) and is auto-injected intoCLAUDE.mdso the next agent loads it automatically without being told to.Two modes: quick (~30s, decisions + open threads) and deep (~2min, full analysis + specific entry point for the next agent).
Design decisions worth noting
Diff is capped at the top 20 most-changed files, generated files excluded. Reading the full diff on a large branch is unbounded and produces a summary too lossy to be useful. This focuses analysis where the most change happened.
Decisions come from questions, not inference. The diff is used to identify the 3 most non-obvious changes and ask about them directly. Inferring decisions from code structure produces noise. A one-sentence answer from the developer is worth more than 10 inferred "decisions".
Assumptions are three patterns, not a heuristic sweep. Flagging every array access and type cast produces false positives that train users to ignore the section. The three patterns (unguarded env vars, explicit assumption comments, unhandled external calls) have high signal-to-noise ratio and cover the cases that actually cause production incidents.
CLAUDE.md injection makes loading the handoff a technical guarantee, not a social contract. Without it, the handoff only works if the next agent knows to look for it.
Files changed
handoff/SKILL.md.tmpl-- skill sourcehandoff/SKILL.md-- generated skill (ready to use)CLAUDE.md-- addedhandoff/to directory listingSKILL.md.tmpl+SKILL.md-- added/handoffto adjacent skill suggestions