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.
64
78%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./cat-cafe-skills/custody-recognition/SKILL.mdThis 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.
Use the current source message id. Read any source-bound custodyOfferV1 already supplied in context before choosing a branch:
Examples: “帮我接住”, “这件事你来跟”, or a direct request to own and finish an outcome.
Call cat_cafe_admit_entrusted_work immediately with:
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.
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.
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:
A pending offer is not held work. Do not call it a Task, show it in Schedule, or imply that Needs Me owns it.
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.
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.
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.
61389cc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.