# Custody Recognition

> Use when a source may entrust work. Not for casual mentions, terminal offers, generic planning, or Schedule/Needs Me. Output: abstain, admit, offer, or retry.

- Skill: `zts212653/custody-recognition` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zts212653/custody-recognition`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zts212653/custody-recognition/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zts212653 (https://skillmd.com/u/zts212653)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zts212653/custody-recognition

---


# Custody Recognition

This skill is the soft recognition policy at the ordinary conversation entry. It never owns work,
attention, or scheduling truth. The exact source Message owns the offer/disposition; Task alone owns
durable custody.

## Read the exact source first

Use the current source message id. Read any source-bound custodyOfferV1 already supplied in context
before choosing a branch:

- pending: do not create another offer or Task. Let the original rich choice stand.
- accepted + admitted/resumed: custody already exists. Do not prompt again; use the returned owner ref
  when continuing the work.
- accepted + needs_clarification: ask only the missing decision-changing question in this same
  conversation. After the answer, use cat_cafe_retry_custody_admission with the exact source revision,
  offer id, and complete Task contract. The server reuses the stored idempotency key.
- declined/dismissed: do not re-offer or admit. Continue conversationally unless the human later makes
  a new explicit entrustment.

## Choose one branch

### Explicit entrustment

Examples: “帮我接住”, “这件事你来跟”, or a direct request to own and finish an outcome.

Call cat_cafe_admit_entrusted_work immediately with:

- basis: explicit_entrustment;
- the exact source message ref;
- a stable idempotency key derived from that source ref;
- the intended outcome;
- a closure condition and expected signal;
- only source-backed time and Artifact refs.

When the source states an unambiguous deadline or review time, resolve it against the authenticated
invocation date/time and pass it in the top-level canonical `time.businessDeadline` or `time.reviewBy`
field with `sourceRef: message:<sourceMessageId>`. `admission.timeHints` may preserve the verbatim
wording, but it never becomes Task time and never makes the item appear in Schedule. If the time cannot
be resolved without changing the commitment, return `needs_clarification` instead of silently dropping
the time.

Do not show an offer after explicit entrustment. Return the compact typed receipt or the exact
needs_clarification reason.

### Registered authorized source

Call cat_cafe_admit_entrusted_work with basis: authorized_source only when the supplied grant
coordinates are registered, current, and cover this exact source scope. A readable connector or calendar
is not authorization. Unknown, stale, revoked, or mismatched grants downgrade to the implicit branch or
safe abstention.

### Implicit future obligation

Offer only when the source plausibly names a future deliverable, follow-up commitment, or time-bound
obligation and the human has not explicitly delegated it. Call cat_cafe_offer_custody once with the
exact source message id and the narrowest matching reason code. Its result is the source truth:

- pending means the original message now owns one accept/decline choice;
- any terminal disposition means do not prompt again;
- conflict or stale-source means reread; never mint a second candidate.

A pending offer is not held work. Do not call it a Task, show it in Schedule, or imply that Needs Me owns
it.

### Venting, brainstorming, or casual mention

Make no custody tool call and write no durable candidate state. Respond to the conversation itself.
Silence here is safe abstention, not a hidden evaluation label.

## Clarification discipline

Ask only when the answer changes outcome, authority, cost, irreversibility, or the closure signal.
Known facts should be looked up; reversible details get a proposed default. Keep clarification on the
same source conversation. Never create a separate reminder, candidate store, or global attention item.

## Completion check

Before claiming custody, verify that the typed result is admitted or resumed and carries the canonical
Task owner ref/revision/receipt. pending and needs_clarification are explicitly not custody.

