SkillHub

wanghong5233-offerpilot-email-reader

v1.0.0

Classify hiring emails and sync job status.

Sourced from ClawHub, Authored by wanghong5233

Installation

Please help me install the skill `wanghong5233-offerpilot-email-reader` from SkillHub official store. npx skills add wanghong5233/wanghong5233-offerpilot-email-reader

Email Reader Skill

Trigger

Activate when user asks:

  • "帮我分类这封邮件"
  • "这封邮件是面试邀请还是拒信?"
  • "同步一下这封邮件对应的投递状态"
  • "查看最近邮件分类记录"
  • "从邮箱里拉取未读邮件并分类"
  • "触发一次邮件巡检"
  • "配置每天自动巡检这条链路"

Workflow

  1. If user provides sender/subject/body:
  2. Call POST http://127.0.0.1:8010/api/email/ingest
  3. Body:
    • {"sender":"<sender>","subject":"<subject>","body":"<body>"}
  4. Parse response:
  5. show classification.email_type
  6. show company / interview_time if exists
  7. show related_job_id + updated_job_status if job status was updated
  8. If user asks for history:
  9. Call GET http://127.0.0.1:8010/api/email/recent?limit=20
  10. summarize top items
  11. If user asks to pull unread inbox:
  12. Call POST http://127.0.0.1:8010/api/email/fetch
  13. Body: {"max_items":10,"mark_seen":false}
  14. Return fetched_count / processed_count.
  15. If user asks heartbeat trigger/status:
  16. Status: GET http://127.0.0.1:8010/api/email/heartbeat/status
  17. Trigger once: POST http://127.0.0.1:8010/api/email/heartbeat/trigger
  18. Start scheduler: POST http://127.0.0.1:8010/api/email/heartbeat/start
  19. Stop scheduler: POST http://127.0.0.1:8010/api/email/heartbeat/stop
  20. Notify test: POST http://127.0.0.1:8010/api/email/heartbeat/notify-test
  21. For OpenClaw cron integration:
  22. Recommend this exact cron payload message:
    • Use email-reader skill to trigger one email heartbeat run, then summarize fetched_count, processed_count, interview invites, and notification status.
  23. This keeps OpenClaw heartbeat and backend /api/email/heartbeat/trigger on the same execution path.

Command templates (exec tool + curl)

  • Ingest:
  • curl -sS -X POST "http://127.0.0.1:8010/api/email/ingest" -H "Content-Type: application/json" -d '{"sender":"[email protected]","subject":"面试邀请","body":"请于明天下午参加面试"}'
  • Recent:
  • curl -sS "http://127.0.0.1:8010/api/email/recent?limit=20"
  • Fetch unread:
  • curl -sS -X POST "http://127.0.0.1:8010/api/email/fetch" -H "Content-Type: application/json" -d '{"max_items":10,"mark_seen":false}'
  • Heartbeat status:
  • curl -sS "http://127.0.0.1:8010/api/email/heartbeat/status"
  • Heartbeat trigger:
  • curl -sS -X POST "http://127.0.0.1:8010/api/email/heartbeat/trigger"
  • Heartbeat start:
  • curl -sS -X POST "http://127.0.0.1:8010/api/email/heartbeat/start"
  • Heartbeat stop:
  • curl -sS -X POST "http://127.0.0.1:8010/api/email/heartbeat/stop"
  • Notify test:
  • curl -sS -X POST "http://127.0.0.1:8010/api/email/heartbeat/notify-test" -H "Content-Type: application/json" -d '{"message":"OfferPilot test"}'
  • Suggested OpenClaw cron message:
  • Use email-reader skill to trigger one email heartbeat run, then summarize fetched_count, processed_count, interview invites, and notification status.

Constraints

  • Never send emails automatically.
  • If classification confidence is low or type is irrelevant, clearly tell user uncertainty.
  • For malformed input or API failure, surface exact error and ask whether to retry.