{"id":"c91834b5-d05b-4b38-9b6a-eb0fe5507850","slug":"clawhub-occupythemilkyway-tyche-lite","name":"Tyche Lite — Quick Invoice Preview","description":"Tyche Lite — Invoice Tracker (Free). Process up to 5 invoices from a CSV, see payment status, and get a friendly reminder template. A free preview of what Ty...","canonicalUrl":"https://www.xpersona.co/agent/clawhub-occupythemilkyway-tyche-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/tyche-lite","homepage":"https://clawhub.ai/occupythemilkyway/skills/tyche-lite","source":"CLAWHUB","vendor":{"slug":"clawhub","label":"Clawhub","url":"https://clawhub.ai/occupythemilkyway/skills/tyche-lite"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":"1.0.4","freshnessAt":"2026-10-12T00:30:42.211Z","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/tyche-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/skills/tyche-lite","sourceType":"profile","confidence":"medium","observedAt":"2026-10-12T00:30:42.282Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-tyche-lite/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-tyche-lite/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-12T00:30:42.282Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"967 downloads","href":"https://clawhub.ai/occupythemilkyway/tyche-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/tyche-lite","sourceType":"profile","confidence":"medium","observedAt":"2026-10-12T00:30:42.282Z","isPublic":true},{"factKey":"latest_release","category":"release","label":"Latest release","value":"1.0.4","href":"https://clawhub.ai/occupythemilkyway/tyche-lite","sourceUrl":"https://clawhub.ai/occupythemilkyway/tyche-lite","sourceType":"release","confidence":"medium","observedAt":"2026-05-24T18:56:52.530Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-tyche-lite/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-occupythemilkyway-tyche-lite/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["967 downloads","Trust evidence available"],"agentCard":{"name":"Tyche Lite — Quick Invoice Preview","description":"Tyche Lite — Invoice Tracker (Free). Process up to 5 invoices from a CSV, see payment status, and get a friendly reminder template. A free preview of what Ty...","source":"CLAWHUB","sourceId":"clawhub:s1757zbbgb226m951fdfmj4s6s860nkn:tyche-lite","homepage":"https://clawhub.ai/occupythemilkyway/skills/tyche-lite","repository":"https://clawhub.ai/occupythemilkyway/tyche-lite","documentation":"https://www.xpersona.co/agent/clawhub-occupythemilkyway-tyche-lite","protocols":["OPENCLEW"],"examples":[{"kind":"example","language":"bash","snippet":"pip3 install rich --break-system-packages --quiet"},{"kind":"example","language":"python","snippet":"import os, csv, re\nfrom datetime import datetime, timedelta\nfrom rich.console import Console\nfrom rich.table import Table\nfrom rich.panel import Panel\nfrom rich import box\n\nconsole = Console()\n\nINVOICES_FILE = os.environ.get(\"INVOICES_FILE\",\"\").strip()\nYOUR_NAME     = os.environ.get(\"YOUR_NAME\",\"Your Name\")\nCURRENCY      = os.environ.get(\"CURRENCY\",\"USD\").upper()\nSYM           = {\"USD\":\"$\",\"EUR\":\"€\",\"GBP\":\"£\"}.get(CURRENCY,\"$\")\nINVOICE_LIMIT = 5  # Lite cap\nnow           = datetime.now()\n\ndef fmt(a): return f\"{SYM}{a:,.2f}\"\ndef parse_amount(r):\n    c = re.sub(r\"[^0-9.]\",\"\",str(r)) or \"0\"\n    try: return float(c) if c.count(\".\")<=1 else 0.0\n    except: return 0.0\ndef parse_date(raw):\n    for f in (\"%Y-%m-%d\",\"%m/%d/%Y\",\"%d/%m/%Y\"):\n        try: return datetime.strptime(raw.strip(),f)\n        except: pass\n    return None\n\ninvoices = []\nif INVOICES_FILE and os.path.exists(INVOICES_FILE):\n    with open(INVOICES_FILE,encoding=\"utf-8\",errors=\"replace\") as f:\n        reader = csv.DictReader(f)\n        for i,row in enumerate(reader,1):\n            if i > INVOICE_LIMIT:\n                console.print(f\"[yellow]⚠️  Lite limit: showing first {INVOICE_LIMIT} invoices only. Upgrade to Pro for unlimited.[/yellow]\")\n                break\n            rk = {k.lower().strip():v.strip() for k,v in row.items()}\n            invoices.append({\n                \"inv_number\":   rk.get(\"inv_number\",f\"INV-{i:04d}\"),\n                \"client_name\":  rk.get(\"client_name\",\"Client\"),\n                \"client_email\": rk.get(\"client_email\",\"\"),\n                \"description\":  rk.get(\"description\",\"Services\"),\n                \"amount\":       parse_amount(rk.get(\"amount\",\"0\")),\n                \"due_date\":     rk.get(\"due_date\",\"\"),\n                \"status\":       rk.get(\"status\",\"unpaid\").lower(),\n            })\nelse:\n    console.print(\"[yellow]ℹ️  No INVOICES_FILE — using demo data.[/yellow]\\n\")\n    invoices = [\n        {\"inv_number\":\"INV-0001\",\"client_name\":\"Acme Corp\",\"client_email\":\"billing@acme.com\""}]}}