{"id":"5b224c89-6fa6-44ab-9a62-54077bcf98c9","slug":"clawhub-occupythemilkyway-iris-lite","name":"Iris Lite — Quick Inbox Scan","description":"Iris Lite — Inbox Intelligence (Free). Scans your last 25 Gmail emails, shows urgency scores and a priority list, and drafts 2 quick replies. A free taste of...","canonicalUrl":"https://www.xpersona.co/agent/clawhub-occupythemilkyway-iris-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/iris-lite","homepage":"https://clawhub.ai/occupythemilkyway/skills/iris-lite","source":"CLAWHUB","vendor":{"slug":"clawhub","label":"Clawhub","url":"https://clawhub.ai/occupythemilkyway/skills/iris-lite"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":"1.0.4","freshnessAt":"2026-10-12T00:18:13.455Z","freshnessLabel":"Oct 12, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Oct 12, 2026"},{"label":"Vendor","value":"Clawhub"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"1.0.4"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Clawhub","href":"https://clawhub.ai/occupythemilkyway/skills/iris-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/skills/iris-lite","sourceType":"profile","confidence":"medium","observedAt":"2026-10-12T00:18:13.468Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-iris-lite/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-iris-lite/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-12T00:18:13.468Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"969 downloads","href":"https://clawhub.ai/occupythemilkyway/iris-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/iris-lite","sourceType":"profile","confidence":"medium","observedAt":"2026-10-12T00:18:13.468Z","isPublic":true},{"factKey":"latest_release","category":"release","label":"Latest release","value":"1.0.4","href":"https://clawhub.ai/occupythemilkyway/iris-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/iris-lite","sourceType":"release","confidence":"medium","observedAt":"2026-05-24T18:50:55.243Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-iris-lite/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-iris-lite/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["969 downloads","Trust evidence available"],"agentCard":{"name":"Iris Lite — Quick Inbox Scan","description":"Iris Lite — Inbox Intelligence (Free). Scans your last 25 Gmail emails, shows urgency scores and a priority list, and drafts 2 quick replies. A free taste of...","source":"CLAWHUB","sourceId":"clawhub:s1757zbbgb226m951fdfmj4s6s860nkn:iris-lite","homepage":"https://clawhub.ai/occupythemilkyway/skills/iris-lite","repository":"https://clawhub.ai/occupythemilkyway/iris-lite","documentation":"https://www.xpersona.co/agent/clawhub-occupythemilkyway-iris-lite","protocols":["OPENCLEW"],"examples":[{"kind":"example","language":"bash","snippet":"pip3 install rich --break-system-packages --quiet"},{"kind":"example","language":"python","snippet":"import os, imaplib, email, re\nfrom email.header import decode_header\nfrom email.utils import parsedate_to_datetime\nfrom datetime import datetime, timezone\nfrom rich.console import Console\nfrom rich.table import Table\nfrom rich.panel import Panel\nfrom rich import box\n\nconsole = Console()\n\nGMAIL_ADDR = os.environ.get(\"GMAIL_ADDRESS\", \"\").strip()\nGMAIL_PASS = os.environ.get(\"GMAIL_APP_PASSWORD\", \"\").strip()\nYOUR_NAME  = os.environ.get(\"YOUR_NAME\", \"\").strip()\n\n# Lite hard limits\nSCAN_LIMIT   = 25\nDRAFT_LIMIT  = 2\n\nif not GMAIL_ADDR or not GMAIL_PASS:\n    console.print(Panel(\n        \"[red]GMAIL_ADDRESS and GMAIL_APP_PASSWORD are required.[/red]\\n\\n\"\n        \"App password: myaccount.google.com/apppasswords\",\n        title=\"Setup Required\", border_style=\"red\"))\n    raise SystemExit(1)\n\nURGENT_KEYWORDS = [\"urgent\",\"asap\",\"deadline\",\"immediately\",\"overdue\",\"payment\",\"invoice\",\"emergency\"]\nNOISE_PATTERNS  = [r\"unsubscribe\",r\"newsletter\",r\"no-reply@\",r\"noreply@\",r\"marketing@\"]\n\ndef decode_str(s):\n    if not s: return \"\"\n    parts = decode_header(s)\n    result = []\n    for part, enc in parts:\n        if isinstance(part, bytes):\n            result.append(part.decode(enc or \"utf-8\", errors=\"replace\"))\n        else:\n            result.append(str(part))\n    return \" \".join(result)\n\ndef is_noise(sender, subject):\n    return any(re.search(p, (sender+subject).lower()) for p in NOISE_PATTERNS)\n\ndef score_email(subject, snippet, sender, age_hours, has_replied):\n    score = 50\n    text  = (subject + \" \" + snippet).lower()\n    if any(k in text for k in URGENT_KEYWORDS): score += 20\n    if \"?\" in text: score += 10\n    if age_hours > 48: score -= 10\n    if has_replied: score -= 15\n    return max(0, min(score, 100))\n\nconsole.print(Panel.fit(\n    f\"[bold cyan]🌈 Iris Lite — Quick Inbox Scan[/bold cyan]\\n\"\n    f\"Scanning last [yellow]{SCAN_LIMIT}[/yellow] emails from [green]{GMAIL_ADDR}[/green]\\n\"\n    f\"[dim]Lite: 25 emails, 2 drafts — upgrade to Pro for full inbox coverage[/dim]\",\n    borde"}]}}