recruiting-reminder

recruiting-reminder is a skill for Codex from riwonswain-ovo/OfferLoop. It costs 107 tokens per session (4,225 once invoked), scanned A, original, MIT.

A tool that scans hiring notifications in an IMAP email account and updates interview progress, calendars, and confirmation cards in Feishu, a workplace collaboration platform.

In plain words
What is it for?
Use it to check hiring emails, sync interview arrangements, process recruitment reminders, and handle daily confirmation cards.
Why use it?
It reduces manual work when sorting recruitment emails and keeping interview schedules and application status up to date.

Skill for Codex

Written for Codex: agents/openai.yaml present.

Good fit Use it to check hiring emails, sync interview arrangements, process recruitment reminders, and handle daily confirmation cards.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/riwonswain-ovo/offerloop/recruiting-reminder
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add riwonswain-ovo/OfferLoop --skill recruiting-reminder
Clone the repo
git clone --depth 1 https://github.com/riwonswain-ovo/OfferLoop

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for recruiting-reminder

README.md
[![agentmods](https://agentmods.dev/badge/skills/riwonswain-ovo/offerloop/recruiting-reminder/github.svg)](https://agentmods.dev/skills/riwonswain-ovo/offerloop/recruiting-reminder)
Your own site
<a href="https://agentmods.dev/skills/riwonswain-ovo/offerloop/recruiting-reminder"><img src="https://agentmods.dev/badge/skills/riwonswain-ovo/offerloop/recruiting-reminder/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for recruiting-reminder

Your own site · 80×15
<a href="https://agentmods.dev/skills/riwonswain-ovo/offerloop/recruiting-reminder"><img src="https://agentmods.dev/badge/skills/riwonswain-ovo/offerloop/recruiting-reminder.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 107 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,225 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00107 $0.04225
Opus 5 $0.00053 $0.02112
Sonnet 5 $0.00021 $0.00845
Haiku 4.5 $0.00011 $0.00422

Measured 4d ago against content hash 855a0ae0c812, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

recruiting-reminder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

The scan reads SKILL.md. This mod also ships 13 executable files (scripts/daily_checkin.py, scripts/event_lookup.py, scripts/event_model.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/recruiting-reminder/SKILL.md · 186 lines

How it starts

The opening of the file, as written. The whole thing — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Recruiting Reminder v2.0.0

一次调用完成一次邮箱扫描与结果汇报;不创建飞书原生任务,不启动后台轮询或定时补偿。脚本路径 从本 Skill 根目录解析。

动态工具门禁

运行环境若用 ToolSearch、延迟加载或类似机制暴露邮件工具,第一次工具搜索必须在同一批中包含 名称后缀 mail_searchmail_read_candidatemail_mark_processed;同时需要模式/配置工具时一并 搜索。搜索返回实际句柄后才能调用 mail_search。没有加载 mail_mark_processed 时不得开始扫描, 也不得假设稍后可以靠本地脚本或结果文字替代。服务端前缀可以不同,以这三个稳定名称后缀匹配。

如果本轮会写招聘事件,同一轮工具发现还必须加载 progress_querybase_writeprogress_read_currentprogress_updatecalendar_createbase_updatereminder_verifyprogress_verifybase_verify_views;通知已启用时再加载 notification_sendfailure_record。完成状态回调改为加载 reminder_query_existingprogress_read_currentreminder_update_completionprogress_updatereminder_verifyprogress_verify。不得先写入,再临时寻找本应位于前置步骤的工具。

维护本轮 must_mark_processed 集合:事件完成、永久忽略、非招聘,以及无明确时间的前置邀请一经 判定就加入 canonical source_mail_id;需要用户确认且尚未确认的邮件不加入。任何最终回复、摘要或 finalize 动作前,逐个核对该集合都有成功的邮件提供方写入;缺失项立即调用已加载的 mail_mark_processed。工具成功返回并包含对应 ID 后才允许收尾。

门禁与配置

本 Skill 的第一项动作是完整读取 ../.offerloop-runtime/references/installation-mode.md,随后实际运行 python3 ../.offerloop-runtime/scripts/install_mode.py,不得根据已安装文件数量或旧对话猜测模式。 OfferLoop 只支持飞书完整模式,不执行用户画像门禁,只收集本次邮件分类和事件同步必需的信息。

~/.config/offerloop/config.json(遵循 XDG_CONFIG_HOME)读取 lark_profile、必需的 reminder_base_url、可选的 progress_base_url,以及相互独立的 notificationsdaily_checkin。IMAP 凭证只从用户配置目录读取,不在聊天中索要或回显。

reminder_base_url 时停止业务写入并转入初始化修复;只缺 progress_base_url 时仍可写独立事件, 但不关联或推进求职进展。飞书授权与 locator 未验收时不得开始正式邮箱同步,也不得把 Chat 分类预览 描述成完整的 Recruiting Reminder。不得按标题猜 Base。

按当前任务加载最小契约:

  • 写 Base 字段、视图或迁移时读取 references/event-schema.md
  • 扫描邮件并联动 Base、进展、日历或通知时读取 references/mail-sync-contract.md
  • 渲染或处理 22:10 群卡片时才读取 references/daily-card-contract.md
  • 面试准备/复盘关联与回填时读取 references/event-contract.md
  • 仅在新配置缺失且检测到旧双 Base 时读取 references/legacy-dual-base.md

笔面试安排 是唯一笔面试业务表;OfferLoop运行状态 只保存最小幂等与失败账本。全部安排(默认视图,无筛选) 及各环节入口都是同表视图,在任一 视图修改的是同一个单元格。字段含可选的 面试准备文档面试复盘文档进展状态 是求职 进展当前状态唯一真源。

高效邮件读取

Read the full file on GitHub · 186 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +5 lines 855a0ae0c812
  2. 10d ago First seen · 181 lines · 107 tokens per session scan A c0b001dd8c44

Subscribe to this mod's changes

recruiting-reminder is a skill published in the GitHub repository riwonswain-ovo/OfferLoop (16 stars, last pushed 4d ago), licensed MIT. It adds 107 tokens to every session and 4,225 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.