create-handoff
Original:🇺🇸 English
Translated
Generate a handoff document after implementation work is complete — summarizes changes, risks, and review focus areas for the review pipeline. Use when done coding and ready to hand off for review.
9installs
Added on
NPX Install
npx skill4agent add generaljerel/chalk-skills create-handoffTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Create Handoff
Generate a structured handoff document summarizing implementation work for the review pipeline.
Step 1: Determine the session name
Derive a session name from context:
- If the user provided , sanitize it to a safe kebab-case string (lowercase, strip any characters that aren't alphanumeric or hyphens, collapse multiple hyphens) and use that as the item name
$ARGUMENTS - Otherwise, infer from the current branch name (e.g. →
feature/issue-24-authentication)issue-24-authentication - If on /
main, ask the user what to name the sessionmaster
Step 2: Create the review session
Create the session directory and handoff file:
sh
SESSION_DIR=".chalk/reviews/${session_name}"
HANDOFF_PATH="$SESSION_DIR/handoff.md"
mkdir -p "$SESSION_DIR"If the handoff file already exists with content beyond the template, ask the user whether to overwrite or create a new timestamped session.
Step 3: Determine the base branch
Figure out what the current branch was based on:
- Check for a merge base with :
maingit merge-base main HEAD - If that fails, try
origin/main - If that fails, try /
masterorigin/master
Store this as for later steps.
{base}Step 4: Gather context
Run these to understand the scope of changes:
sh
git log --oneline {base}..HEAD
git diff --stat {base}..HEAD
git diff {base}..HEADStep 5: Detect and run project checks
Auto-detect the project's build/check tooling and run what's available. Check for these in order:
Node.js — if exists:
package.json- Detect package manager: → yarn,
yarn.lock→ pnpm, else npmpnpm-lock.yaml - Run build:
{pm} run build 2>&1 | tail -5 - Run typecheck: OR
{pm} run typecheck 2>&1 | tail -5npx tsc --noEmit 2>&1 | tail -5 - Run lint:
{pm} run lint 2>&1 | tail -5 - Run test:
{pm} run test 2>&1 | tail -5
Rust — if exists:
Cargo.tomlcargo check 2>&1 | tail -5cargo test --no-run 2>&1 | tail -5cargo clippy 2>&1 | tail -5
Go — if exists:
go.modgo build ./... 2>&1 | tail -5go vet ./... 2>&1 | tail -5go test ./... -short 2>&1 | tail -5
Python — if or exists:
pyproject.tomlrequirements.txt- on changed
python -m py_compilefiles.py - (collect only, don't run)
python -m pytest --co -q 2>&1 | tail -5
Make — if exists with // targets:
Makefilebuildchecktestmake build 2>&1 | tail -5make check 2>&1 | tail -5make test 2>&1 | tail -5
If no build system is detected, note "No build system detected — skipped automated checks".
Important: If any check fails, note the failure — do NOT try to fix it. The handoff should report the current state honestly.
Step 6: Write the handoff
Write to . Use this format:
HANDOFF_PATHmarkdown
# Handoff
## Scope
- Item: {item reference — e.g. "#24 — Add authentication" or "Refactor IPC layer"}
- Goal: {1-sentence summary of what was accomplished}
## What Changed
{bullet list of logical changes — describe WHAT each change does, not just file names}
## Files Changed
{bullet list of every file modified/created, from git diff --stat}
## Risk Areas
{bullet list of things that could break, have edge cases, or need careful review}
## Commands Run
{bullet list of every command run and its pass/fail status}
## Known Gaps
{bullet list of things NOT done — e.g. "no tests written", "error handling incomplete", "hardcoded values"}
## Suggested Focus For Reviewers
{bullet list of what reviewers should look at most carefully — prioritize by risk}Step 7: Report to the user
Show:
- The handoff file path
- A brief summary of what was captured
- Suggest next step: run to generate a review prompt for any AI reviewer
/create-review
Rules
- Do NOT modify any source code — this skill is read-only except for the handoff file
- Be honest about failures — if build/typecheck fail, report that clearly
- Keep descriptions concrete and actionable — avoid vague statements like "various improvements"
- List ALL files from , don't summarize or skip any
git diff --stat - If there are no commits ahead of base, warn the user that there's nothing to hand off