← 返回 Skills 市场
samuel-wei

for HiJavis calendar-extractor via conversation

作者 SamuelWei · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
56
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install calendar-extractor
功能描述
Periodically scans recent transcripts to extract calendar events and sends a daily summary of meetings to your iOS chat via push notifications.
使用说明 (SKILL.md)

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

  1. 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.
  2. Fetch from the configured HTTP endpoint (set HTTP_SOURCE_URL env var when registering the cron).
  3. Format output and POST to http://javis-server:8000/api/agent/push with {"skill": "calendar-extractor", "content": "\x3Cformatted>"} using OPENCLAW_GATEWAY_TOKEN for 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 via HTTP_SOURCE_URL env var.
  • Run npm install before first run (none needed beyond Node 18+ built-ins, but the engines field gates the runtime).
  • User IDs only allow letters, digits, -, _ (path-traversal guard in data.js).
  • Additional data sources picked but NOT auto-wired in main(): pure-local-state and user-typed-text. The template only emits code for the first 2 sources (transcripts + external-http). To activate the others, hand-edit scripts/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(' ');
  • TZ caveat: cron tz is hardcoded to America/Los_Angeles at registration time. If you travel, re-register with the new tz: node scripts/push-toggle.js off \x3CuserId>, then node scripts/push-toggle.js on \x3CuserId> --tz \x3Cnew-tz>, then re-run the openclaw cron add command above with the new --tz.
  • Multi-channel cron: each non-iOS channel (Telegram, Discord, Slack) needs a SEPARATE openclaw cron add with its own --channel and --to \x3Cchannel-target-id>. iOS push is automatic via the /api/agent/push call (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_completed flips and POSTs a synthetic prompt to the user's openclaw container /v1/responses to invoke this script with the finalized session id. Track as a follow-up in javis-server.
安全使用建议
Review this before installing. Only use it if you are comfortable with scheduled access to recent meeting transcripts, with transcript-derived output being pushed to the configured service, and with an administrator-controlled HTTP_SOURCE_URL. Prefer a version that extracts only calendar fields, validates or allowlists network destinations, uses explicit opt-in triggers, and lets you choose timezone and delivery targets.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The stated purpose is to extract calendar events from transcripts, but the main script emits the raw stdin transcript together with arbitrary JSON fetched from HTTP_SOURCE_URL rather than minimizing output to extracted calendar fields.
Instruction Scope
The skill documents transcript collection, external HTTP fetching, and posting formatted results to an internal push endpoint, but the scope is broad for sensitive meeting transcripts and includes common trigger phrases that could activate in ordinary conversation.
Install Mechanism
Installation is a small Node skill with no declared dependencies; the static exec finding comes from a push-off helper that removes this skill's OpenClaw cron job using a sanitized userId, which is purpose-aligned but still grants cron-management authority.
Credentials
Fetching from a fully environment-controlled HTTP_SOURCE_URL without validation, allowlisting, timeout, or size limits is overbroad for a calendar extraction workflow, even though the network behavior is partly documented.
Persistence & Privilege
The skill supports scheduled cron execution and push delivery of transcript-derived content, with a hardcoded America/Los_Angeles example and limited user-facing controls over data minimization, destination trust, or timing.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install calendar-extractor
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /calendar-extractor 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial release of calendar-extractor. - Scans recent recording session transcripts to extract calendar events. - Pushes a daily summary of meetings to iOS chat. - Supports trigger phrases in English and Chinese: "today's meetings", "calendar extract", "今日会议", "提取日历". - Allows user setup for scheduled daily push notifications via multiple channels (iOS, Telegram, Discord, Slack). - Provides CLI scripts for registration, daily summary execution, and push notification management. - Includes notes on data storage, configuration, and multi-timezone/multi-channel setup.
元数据
Slug calendar-extractor
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

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。

💬 留言讨论