{"id":39865,"plugin_id":"plugin_asdk_app_69ba9160ecb48191bab3f67e9b56ef34","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T12:49:46.809Z","digest":"66183c15c825e3e73c531dfa5c1fc431a8615cb3fa1b41203f98d4e7a73223a0","against":null,"payload":{"description":"Triage supplied or previously displayed coupons by expiry when the user asks what expires soon, what is still usable, or what to prioritize. Resolve only explicit, unambiguous dates, order eligible offers by urgency, and present them with the `coupons` app tool. Never invent or independently verify an expiry date.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":216}],"name":"coupon-expiry-triage","skill_md_contents":"---\nname: coupon-expiry-triage\ndescription: Triage supplied or previously displayed coupons by expiry when the user asks what expires soon, what is still usable, or what to prioritize. Resolve only explicit, unambiguous dates, order eligible offers by urgency, and present them with the `coupons` app tool. Never invent or independently verify an expiry date.\n---\n\n# Coupon expiry triage\n\nTurn coupon expiry information already present in the conversation into an urgency-ordered review.\n\n## Inputs\n\nUse coupon data supplied by the user or returned as model-visible structured content by `coupons`. Establish the reference date, timezone, and urgency window. Use seven calendar days as the urgency window when the user does not specify one, and state that choice.\n\n## Workflow\n\n1. Extract only explicit expiry information from coupon descriptions, notes, and supporting sources already available in the conversation.\n2. Resolve relative dates only when their reference date is known. Treat ambiguous numeric dates, unsupported relative phrases, and missing timezones as unknown when choosing an interpretation could change the result.\n3. Classify each coupon as expired, ending today, urgent, later, or unknown. A coupon is urgent when its stated expiry falls within the chosen urgency window.\n4. Exclude expired coupons from the widget unless the user asks to see them. Order the remaining dated coupons by earliest expiry, followed by coupons with unknown expiry.\n5. Preserve each coupon's original facts. Add a concise expiry status to `notes`, without replacing existing restrictions or presenting an unverified date as fact.\n6. Call `coupons` only when at least one active-or-unknown coupon remains. Keep the triage order in the input array and include a concise `reason`.\n7. Report the next stated deadline, counts by status, the reference timezone, and any dates that need clarification.\n\n## Boundaries\n\n- Do not treat absence of an expiry date as proof that an offer is ongoing.\n- Do not claim a coupon is currently valid; say it is not shown as expired based on the supplied terms.\n- Do not use private widget state, such as which row the user expanded, to identify a coupon.\n- The `coupons` tool cannot verify dates or schedule reminders. If no eligible coupon remains, answer in text instead of calling it with an empty list.\n\n## Output\n\nReturn an urgency-ordered coupon widget and a compact expiry summary.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}