/install calendar-extractor
Calendar Extractor
Periodically scan recent recording sessions, extract calendar events from transcripts, and push a daily summary to your iOS chat.
When to use
- "today's meetings"
- "calendar extract"
- "今日会议"
- "提取日历"
Core commands
# Register (first use)
node scripts/register.js \x3CuserId> \x3Cname>
# Run today's flow (also what the cron triggers)
node scripts/calendar-extractor.js \x3CuserId>
# Push management
node scripts/push-toggle.js on \x3CuserId> [--time HH:MM] [--channel iOS|Telegram|Discord|Slack]
node scripts/push-toggle.js off \x3CuserId>
node scripts/push-toggle.js status \x3CuserId>
Workflow
- Fetch recent transcripts via the LLM's javis_mcp tools (get_transcript_tool / search_transcripts_tool) and pass the relevant text to this script on stdin.
- Fetch from the configured HTTP endpoint (set HTTP_SOURCE_URL env var when registering the cron).
- Format output and POST to
http://javis-server:8000/api/agent/pushwith{"skill": "calendar-extractor", "content": "\x3Cformatted>"}usingOPENCLAW_GATEWAY_TOKENfor auth.
Push setup (cron registration)
When user requests scheduled push:
Step 1: Save preferences
node scripts/push-toggle.js on \x3CuserId> --time \x3CHH:MM> --channel \x3Cchannel>
Step 2: Create cron job via openclaw CLI
openclaw cron add \
--name "calendar-extractor-\x3CuserId>" \
--schedule "0 8,18 * * *" \
--tz "America/Los_Angeles" \
--channel \x3Cchannel> \
--to "\x3Cchannel-target-id>" \
--session isolated \
--command "Run /calendar-extractor: execute node scripts/calendar-extractor.js \x3CuserId>, format output nicely. Then POST to http://javis-server:8000/api/agent/push with JSON body {\"skill\": \"calendar-extractor\", \"content\": \"\x3Cformatted output>\"} using the gateway bearer token for auth."
Step 3: Confirm to user
Push is set up; results land in iOS agent chat under /calendar-extractor.
Supported channels: iOS, Telegram, Discord, Slack
Notes
- Data stored in
data/users/\x3CuserId>.json; external HTTP source configured separately viaHTTP_SOURCE_URLenv var. - Run
npm installbefore first run (none needed beyond Node 18+ built-ins, but theenginesfield gates the runtime). - User IDs only allow letters, digits,
-,_(path-traversal guard indata.js). - Additional data sources picked but NOT auto-wired in
main():pure-local-stateanduser-typed-text. The template only emits code for the first 2 sources (transcripts + external-http). To activate the others, hand-editscripts/calendar-extractor.js:- For pure-local-state:
const userState = fs.existsSync(safeUserPath(userId)) ? readJson(safeUserPath(userId)) : {}; - For user-typed-text:
const text = process.argv.slice(3).join(' ');
- For pure-local-state:
- TZ caveat: cron tz is hardcoded to
America/Los_Angelesat registration time. If you travel, re-register with the new tz:node scripts/push-toggle.js off \x3CuserId>, thennode scripts/push-toggle.js on \x3CuserId> --tz \x3Cnew-tz>, then re-run theopenclaw cron addcommand above with the new--tz. - Multi-channel cron: each non-iOS channel (Telegram, Discord, Slack) needs a SEPARATE
openclaw cron addwith its own--channeland--to \x3Cchannel-target-id>. iOS push is automatic via the/api/agent/pushcall (no separate cron needed for iOS). - Session-finalize trigger (NOT implemented): the "fire on each finished recording" requirement is out-of-scope for skill-creator's periodic-push template. It requires server-side wiring: javis-server watches
audio_recordings.session_completedflips and POSTs a synthetic prompt to the user's openclaw container/v1/responsesto invoke this script with the finalized session id. Track as a follow-up in javis-server.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install calendar-extractor - 安装完成后,直接呼叫该 Skill 的名称或使用
/calendar-extractor触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
for HiJavis calendar-extractor via conversation 是什么?
Periodically scans recent transcripts to extract calendar events and sends a daily summary of meetings to your iOS chat via push notifications. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 56 次。
如何安装 for HiJavis calendar-extractor via conversation?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install calendar-extractor」即可一键安装,无需额外配置。
for HiJavis calendar-extractor via conversation 是免费的吗?
是的,for HiJavis calendar-extractor via conversation 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
for HiJavis calendar-extractor via conversation 支持哪些平台?
for HiJavis calendar-extractor via conversation 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 for HiJavis calendar-extractor via conversation?
由 SamuelWei(@samuel-wei)开发并维护,当前版本 v0.1.0。