# Handoff Desk > Turn an outgoing on-call engineer's raw notes into a handoff the incoming engineer can act on > without a call - an end-of-shift handoff, or a mid-incident incident-commander handoff. > https://handoff-desk.skillsafe.ai/ Handoff Desk is a web app on SkillSafe. The checklist runs free in the browser; the handoff is a metered AI run (model alias gpt-terra) that is checked against the notes afterwards. ## Input - Raw notes, pasted or dropped as .txt / .md / .log: Slack scraps, alert lines, deploy logs. - Optional: team or service, outgoing and incoming engineer, handoff time, a question. - A lane: `shift` (end of shift) or `incident` (mid-incident command handoff). ## Free checks (in the browser, no AI, no upload) - The five sections of the source skill's handoff template - active incidents, ongoing investigations, recent changes, known issues, upcoming events - each needs an entry or an explicit "none" (shift lane). - Silenced, muted or acknowledged alerts with no expiry or re-enable time (high: the incoming engineer will not be paged). - Active incidents with no owner and no next step (high). - Mid-incident: no current status, no next step (high); no severity, no start time, no named roles, nothing about status page / customers / executives (medium). - Clock times with no timezone, unless the notes declare one ("all times UTC"). - "Keep an eye on X" with no threshold or trigger. - Missing escalation contacts; the outgoing engineer's availability after handoff not stated. - References: tickets (ABC-123), PRs (#123), versions (v1.2.3), @people, SEV/P levels, links. These are word-pattern checks and can miss or over-read; the paid run answers each flag and may dismiss one with a reason. ## The handoff (metered) Common to both lanes: readiness (`ready`, `gaps`, `blocked`), a one-sentence headline, a TL;DR, a watch list where every item says when to act, the gaps to ask about before the outgoing engineer logs off (one per confirmed high/medium flag), an incoming-engineer checklist, and an answer to every prescan flag. - `shift`: active incidents (owner, next steps), investigations (context, next steps), resolved this shift (cause, resolution, follow-ups), recent changes (deploy / config / infra / flag), known issues and workarounds, upcoming events, escalation contacts. - `incident`: the incident (severity, start, status: investigating / identified / mitigating / monitoring / resolved), current state, what we know, what we have done, next actions with their conditions, people and roles, communication state. The reply is one JSON object; the browser reconciles it: every flag answered, every confirmed high/medium flag carried as a gap, readiness no looser than the flags left standing, no ticket, PR, version or @person that is not in the notes, and every ticket, PR and version from the notes carried. A shift handoff with an active incident can seed a mid-incident handoff with one button. ## Exports Markdown in the source skill's template shape, a Slack-formatted message, JSON, print, per-section copy; the free checklist as Markdown. ## API https://handoff-desk.skillsafe.ai/api.html - base URL https://api.skillsafe.ai/v1/app-api, fields `task`, `team`, `outgoing`, `incoming`, `handoff_at`, `notes`, `facts` (a JSON string), `question`. ## Source Derived from the agent skill @wshobson/on-call-handoff-patterns (wshobson/agents, MIT): https://skillsafe.ai/skill/@wshobson/on-call-handoff-patterns - license at https://handoff-desk.skillsafe.ai/LICENSE-WSHOBSON-AGENTS.txt