{"id":"13b7cd3a-ba4e-4fb8-bf30-89d33066f9be","slug":"crewai-yennanliu-agent-auto-system","name":"agent_auto_system","description":"A CrewAI-powered automation platform with harness engineering built in | #AI","canonicalUrl":"https://www.xpersona.co/skill/crewai-yennanliu-agent-auto-system","sourceUrl":"https://github.com/yennanliu/agent_auto_system","homepage":null,"source":"GITHUB_REPOS","vendor":{"slug":"yennanliu","label":"Yennanliu","url":"https://github.com/yennanliu/agent_auto_system"},"protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-10-09T15:57:33.709Z","freshnessLabel":"Oct 9, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Oct 9, 2026"},{"label":"Vendor","value":"Yennanliu"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Yennanliu","href":"https://github.com/yennanliu/agent_auto_system","sourceUrl":"https://github.com/yennanliu/agent_auto_system","sourceType":"profile","confidence":"medium","observedAt":"2026-10-09T15:57:33.717Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/crewai-yennanliu-agent-auto-system/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-yennanliu-agent-auto-system/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-09T15:57:33.717Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"1 GitHub stars","href":"https://github.com/yennanliu/agent_auto_system","sourceUrl":"https://github.com/yennanliu/agent_auto_system","sourceType":"profile","confidence":"medium","observedAt":"2026-10-09T15:57:33.717Z","isPublic":true},{"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":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/crewai-yennanliu-agent-auto-system/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-yennanliu-agent-auto-system/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["1 GitHub stars","Trust evidence available"],"agentCard":{"name":"agent_auto_system","description":"A CrewAI-powered automation platform with harness engineering built in | #AI","source":"GITHUB_REPOS","sourceId":"crewai:1238461675","repository":"https://github.com/yennanliu/agent_auto_system","documentation":"https://www.xpersona.co/skill/crewai-yennanliu-agent-auto-system/agent/crewai-yennanliu-agent-auto-system","protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"languages":["python"],"install":{"command":"git clone https://github.com/yennanliu/agent_auto_system.git","ecosystem":"git"},"examples":[{"kind":"example","language":"text","snippet":"┌──────────────────────────────────────────────────────────────────┐\n│  Browser UI  (HTML + Vanilla JS, login-gated)                     │\n│  • Automation picker + per-job form   • LLM provider/model select │\n│  • Live SSE progress + step graph     • Run history + detail pane  │\n│  • Usage (tokens/cost) + eval score   • Analytics / stats page     │\n│  • Admin page (users, keys, toggles)  • CSV / PDF result exports   │\n└───────────────────────────┬──────────────────────────────────────┘\n                            │ HTTP / SSE (cookie auth)\n┌───────────────────────────▼──────────────────────────────────────┐\n│  FastAPI  (src/main.py — lifespan: init_db + reconcile_stale_runs)│\n│  routers/  auth · admin · jobs · runs · system · uploads          │\n│  • POST /api/jobs                       CRUD (payload = JSON)      │\n│  • POST /api/jobs/{id}/run  → 202, asyncio.create_task            │\n│  • POST /api/runs/{id}/cancel           cancel in-flight task      │\n│  • GET  /api/runs/{id}/stream           SSE status + log stream    │\n│  • GET  /api/runs/{id}/report.pdf       profit-health PDF          │\n│  • GET  /api/runs/{id}/leads.csv        email-collect export       │\n│  • POST /api/uploads                    multipart file intake      │\n│  • GET  /api/stats  ·  /api/system  ·  /health                     │\n└───────────────┬───────────────────────────────┬──────────────────┘\n                │                                 │\n     ┌──────────▼───────────┐        ┌───────────▼─────────────────┐\n     │  SQLite / Postgres   │        │  Harness Executor            │\n     │  (SQLModel)          │        │  • normalize() provider/model│\n     │  users · settings    │        │  • dispatch job_type → Flow  │\n     │  jobs · runs         │        │  • validate result           │\n     │  + harness columns   │        │  • retry + inject error      │\n     │    llm_provider/model│        │  • cross-model fallback      │\n     │    tokens_in/out     │        │  • LLM-as-judge evaluate     "},{"kind":"example","language":"text","snippet":"1. User picks automation, fills fields, selects LLM provider + model\n        ↓\n2. POST /api/jobs         → job row (payload incl. llm_provider/model)  → 201\n3. POST /api/jobs/{id}/run → run row (status=pending), asyncio task     → 202\n        ↓\n4. UI opens EventSource on /api/runs/{id}/stream, auto-opens detail row\n        ↓\n5. Executor: pop llm_provider/model/max_retries → normalize() → dispatch Flow\n        ↓\n6. Flow calls resolve(provider, model, temperature=<job-specific>)\n   → injects crewai.LLM into the Crew (fresh Agent/Task/Crew, no @CrewBase)\n        ↓\n7. Flow → Crew → Tool(s) → structured JSON  (usage_metrics captured)\n   • transient model outage → cross-model fallback (up to 5 attempts)\n        ↓\n8. Validator checks the result\n   ├ pass → continue\n   └ fail + retries left → inject previous_error, re-run flow\n        ↓\n9. Evaluator (independent LLM judge) scores quality 0–100\n        ↓\n10. Executor writes provider/model/tokens/cost/retry/eval in one _update_run()\n        ↓\n11. Langfuse trace emitted (if configured); SSE streams terminal status →\n    UI updates badge, result cell, Usage + eval; stats page reflects new totals"}]}}