{"id":"674029b4-20c0-4bd2-b41e-c78be31acbb7","slug":"dianehoo-inbox-triage","name":"inbox-triage","description":"Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail.","canonicalUrl":"https://www.xpersona.co/skill/dianehoo-inbox-triage","sourceUrl":"https://github.com/DianeHoo/inbox-triage","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"dianehoo","label":"Dianehoo","url":"https://github.com/DianeHoo/inbox-triage"},"protocols":["OPENCLEW"],"capabilities":["automate","trigger"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-02-24T19:44:38.756Z","freshnessLabel":"Feb 24, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Feb 24, 2026"},{"label":"Vendor","value":"Dianehoo"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Dianehoo","href":"https://github.com/DianeHoo/inbox-triage","sourceUrl":"https://github.com/DianeHoo/inbox-triage","sourceType":"profile","confidence":"medium","observedAt":"2026-02-24T19:44:39.768Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-02-24T19:44:39.768Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"1 GitHub stars","href":"https://github.com/DianeHoo/inbox-triage","sourceUrl":"https://github.com/DianeHoo/inbox-triage","sourceType":"profile","confidence":"medium","observedAt":"2026-02-24T19:44:39.768Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["1 GitHub stars","Trust evidence available"],"agentCard":{"name":"inbox-triage","description":"Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail.","source":"GITHUB_OPENCLEW","sourceId":"github:1164220594","repository":"https://github.com/DianeHoo/inbox-triage","documentation":"https://www.xpersona.co/skill/dianehoo-inbox-triage/agent/dianehoo-inbox-triage","protocols":["OPENCLEW"],"capabilities":["automate","trigger"],"languages":["typescript"],"install":{"command":"git clone https://github.com/DianeHoo/inbox-triage.git","ecosystem":"git"},"examples":[{"kind":"example","language":"text","snippet":"❓ QUESTION\nGuest Lecture (4:02 PM) — \"Topic Title\" by Speaker Name (Organization), Wed Mar 11 5 PM, Venue. ✅ No conflict. RSVP by Mar 9.\n\n⚡ ACTION\nProject / Contact Name (7:41 AM) — Meet Mon 2/23 1:30pm? ⚠️ Conflict: other event at 1:30–2:00.\n\n📌 KEEP\nTax Resources / Admin Office (4:03 PM) — Access code for tax filing\n\n📥 ARCHIVE\nInternet bill ready (1:48 PM) — Auto pay $40 on 3/6, no action needed"},{"kind":"example","language":"bash","snippet":"cat << 'EOF' | swift -\nimport EventKit\nimport Foundation\nlet store = EKEventStore()\nlet semaphore = DispatchSemaphore(value: 0)\nstore.requestFullAccessToReminders { granted, error in\n    guard granted else { semaphore.signal(); return }\n    let predicate = store.predicateForReminders(in: nil)\n    store.fetchReminders(matching: predicate) { reminders in\n        guard let reminders = reminders else { semaphore.signal(); return }\n        for r in reminders where r.title == \"REMINDER_TITLE\" {\n            r.url = URL(string: \"REMINDER_URL\")\n            do { try store.save(r, commit: true); print(\"URL set\") }\n            catch { print(\"Error: \\(error)\") }\n        }\n        semaphore.signal()\n    }\n}\nsemaphore.wait()\nEOF"}]}}