Ensures repo state, task tracking, and decision logs are updated before closing a coding session.

Install

mkdir -p .claude/skills/handoff-rajeshkanaka && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12058" && unzip -o skill.zip -d .claude/skills/handoff-rajeshkanaka && rm skill.zip

Installs to .claude/skills/handoff-rajeshkanaka

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use at the end of a session in the sdg-skill repo to close out work cleanly so the next session can resume without reading the chat history. Updates TASKS.md / STATE.md, appends to docs/decisions.md if needed, and commits with the right T<id>: prefix.
251 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

Key capabilities

  • Mark completed tasks in TASKS.md
  • Update project state in STATE.md
  • Append architectural decisions to docs/decisions.md
  • Create a git commit with a specific prefix
  • Ensure repository consistency across files and git

How it works

The skill guides the user through updating project documentation files and creating a git commit to reflect the completed work, ensuring consistency.

Inputs & outputs

You give it
Completed tasks, state changes, architectural decisions
You get back
Updated TASKS.md, STATE.md, docs/decisions.md, and a git commit

When to use handoff

  • Close session
  • Update task status
  • Save state for resumption
  • Commit architectural decisions

About this skill

Handoff protocol for sdg-skill

Run this when work is complete (or when stopping for the day) so the next session can pick up cleanly via /resume. The goal: every session ends with the repo in a state where git, STATE.md, and TASKS.md all agree.

Steps

  1. Tick TASKS.md. For each task completed in this session, change [ ][x] and append (done <ISO date YYYY-MM-DD>, <commit-sha>) to the same line. Use today's date.

  2. Update STATE.md. Set:

    • Active task — the task you just finished, or None if at a boundary.
    • Last commit — the SHA you're about to create (or just created).
    • Last action — one-line summary of what was done.
    • Next action — the next concrete thing a future session should do (typically the next unblocked task in TASKS.md).
    • Blockers — list any new blockers; clear any that were resolved.
  3. Append to docs/decisions.md ONLY if the work involved an architectural or non-obvious choice that a future contributor would need the rationale for. If it was a routine implementation, skip this step — docs/decisions.md is for ADRs, not changelogs.

  4. Commit.

    git add -A
    git commit -m "T<id>: <one-line summary>"
    
    • Use the task ID being closed (or the most relevant one).
    • One-line subject; keep it under ~70 chars.
    • Include a body only if the change is non-obvious from the diff.

Branch note

  • Small fixes: commit directly to main with the T<id>: prefix.
  • Risky / large changes: you should already be on a feat/T<id>-<slug> branch — push and open a PR for squash-merge instead of committing direct.

Don't

  • Don't tick a task as [x] if its acceptance criteria (Acceptance: line in TASKS.md) was not actually met. Leave it [~] and note the gap in STATE.md.
  • Don't bypass the redact / provenance rules in any handoff commit (those are hard rules in CLAUDE.md).
  • Don't commit key.json, .env*, runs/, or htmlcov/ (already gitignored, but double-check git status).
  • Don't run git push --force or amend commits that are already on main.

When not to use it

  • When acceptance criteria for a task are not met
  • When bypassing redact or provenance rules
  • When committing sensitive files like key.json or .env*

Limitations

  • Architectural decisions are only appended to `docs/decisions.md` if non-obvious
  • Commit messages must follow a `T<id>:` prefix and length guidelines
  • Cannot commit `key.json`, `.env*`, `runs/`, or `htmlcov/`

How it compares

This skill provides a structured protocol for ending a work session, ensuring all project state and documentation are synchronized and committed, unlike manual commit processes.

Compared to similar skills

handoff side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
handoff (this skill)03moReviewBeginner
github-manage69moReviewBeginner
jira116moNo flagsBeginner
github-issues53moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry