Create or receive human-first AI task handoffs across chats, models, devices, and languages. Use when the user asks to hand off, export context, resume from a handoff, switch sessions while preserving work, says "交接一下", "接收交接", or supplies handoff.md, handoff.zip, handoff-audit.zip, an LCH Bundle/T0 package, OCH Snapshot, or LTM Packet. Default to one readable handoff.md; upgrade to handoff.zip only when required files must travel, and to handoff-audit.zip only for formal audit, cross-organization delivery, or proof. Preserve current intent, stop point, next action, decisions, constraints, rejected and failed paths, answered questions, materials, omissions, and revalidation needs. Do not use for generic summaries, memory lookup, hidden reasoning, completed trivial chats, or after the user declines.
npx skills add https://github.com/Jordanwei1/jiaojie-skill --skill jiaojie
Carry the work forward with the smallest artifact that preserves the next step.
EXPORT: create a handoff for another session or AI.RECEIVE: recover a supplied handoff and continue only when requested.VERIFY_STRUCTURE: inspect an audit package deterministically.CONVERT_LEGACY: conservatively convert supported older formats.Do not treat a generic summary as EXPORT. If a stopping phrase merely suggests a
future handoff, offer to export; do not silently write files. Honor a decline.
For ordinary EXPORT and RECEIVE, read only references/simple-workflow.md.
Choose the smallest sufficient format:
| Condition | Output |
|---|---|
| Text plus stable workspace/file references is enough | handoff.md |
| The next action requires files the receiver cannot access | handoff.zip with HANDOFF.md and attachments/ |
| Formal audit, cross-organization delivery, or portable proof is required | handoff-audit.zip with HANDOFF.md, state.json, evidence/, and verification/ |
Changing chat, model, language, device, or Runtime does not by itself require ZIP.
Do not ask about workspace access when no necessary file exists. Ask only when a
necessary file exists and receiver access is genuinely unknown.
Honor an explicit format choice. If it omits a necessary file or proof, state the
limitation and mark the handoff PARTIAL; do not silently override the user.
Always make the decision visible in one sentence:
已选择 handoff.md:没有发现下一步必须随包携带的附件。
or:
已选择 handoff.zip:下一步依赖 1 个未提交补丁和 2 张缺陷截图。
HTML is optional presentation only when explicitly requested. Never generate it by
default or make it authoritative over Markdown.
completion criteria.
boundaries, rejected/superseded paths, failed attempts, and answered questions.
known omissions, and stale state that needs revalidation.
receiver. Use the table above; do not bundle the whole workspace for convenience.
assets/templates/handoff.template.md. Keep its four front-matter fieldsand three human-readable content layers.
coverage: "PARTIAL" for a known material omission and UNKNOWN when theaccessible source boundary is unclear. FULL remains only a Producer claim.
.env values, unauthorized personal data,irrelevant transcript, and hidden reasoning.
scripts/handoff.py to validate and publish exactly one final artifact.directories, duplicate validation reports, receipts, or rejected attempts by default.
10. Report the selection sentence, one artifact link, and only material warnings.
Do not create an audit file tree merely because the implementation supports audits.
only inside them.
handoff.md, handoff.zip, or handoff-audit.zip, runscripts/handoff.py receive <input>. It writes no file by default.
constraints, do-not-revive paths, answered questions, materials, omissions, and
revalidation needs.
receipt.json unless the userexplicitly requests a receipt file.
接收成功,按要求未继续。 A requestedpause is successful, not BLOCKED.
truly unanswered question that changes the next action.
Do not re-ask answered questions. Do not revive rejected paths. Historical context never
transfers current permission to send, publish, pay, install, execute, delete, disclose,
or modify an external system.
Load the heavier references only when their condition applies:
| Condition | Read |
|---|---|
| Full LCH 0.1 audit export | references/protocol-core.md, references/export-workflow.md, references/security-boundary.md, then references/wire-format.md |
| Receive an LCH 0.1 Bundle or T0 | references/protocol-core.md, references/receive-workflow.md, references/security-boundary.md, references/wire-format.md, references/result-model.md |
| Deterministic LCH verification | references/verify-structure-workflow.md, references/conformance.md, references/wire-format.md, references/result-model.md |
| Convert # HANDOFF.md v1, OCH, or LTM | references/convert-legacy.md, references/security-boundary.md |
| Multilingual authority or RTL ambiguity | references/multilingual-workflow.md |
| Protocol term or Profile is unclear | references/terminology.md or references/profiles.md |
The LCH 0.1 audit path preserves the original HOT/WARM/COLD, Manifest, detached-result,
and conformance behavior. It is an expert compatibility path, not the ordinary default.
Never call its Producer claims independent verification.
For a full audit, keep these boundaries separate:
LOSSLESS_PASS.| Script | Purpose |
|---|---|
| scripts/handoff.py | Select, export, validate, and receive the three human-first formats |
| scripts/pack_handoff.py | Build an older full LCH 0.1 T0 or Bundle audit draft |
| scripts/validate_handoff.py | Validate older LCH structure and rooted bytes |
| scripts/verify_handoff.py | Issue older LCH deterministic result files when explicitly required |
| scripts/scan_sensitive.py | Conservative static transfer scan |
| scripts/convert_handoff_md.py | Convert a legacy # HANDOFF.md v1 or approved generic Markdown |
| scripts/convert_och.py | Convert an OCH Snapshot |
| scripts/convert_ltm.py | Convert a supported LTM Packet |
If scripts are unavailable, follow the same format decision and write the Markdown
directly. Do not simulate hashes, scans, signatures, or verification by eye.
For an ordinary export, name the chosen format and final artifact. For an ordinary
receive, state what was recovered and whether continuation was requested. Surface only
material omissions, stale external state, security findings, or current-authority gaps.
Distinguish a readable handoff from audited bytes, verified origin, approved transfer,
current authorization, and tested semantic continuity. Never claim cross-model,
cross-language, cross-runtime, or lossless success without matching evaluation evidence.
Take jordanwei1/jiaojie from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.