Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

temporal-cortex-scheduling颞叶皮层调度

Agent Skill

temporal-cortex-scheduling 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

25,067

周安装

1,055

GitHub Stars

1

下载量

8,778
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:temporal-cortex-scheduling(颞叶皮层调度)
来源仓库:https://github.com/billylui/temporal-cortex-scheduling
安装命令:
openclaw skills install temporal-cortex-scheduling
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install temporal-cortex-scheduling

简介

跨日历系统的会议预订与可用性检测引擎。

  • 自动扩展重复事件并合并多人空闲窗口。
  • 输出最优时间段建议供用户选择确认。temporal-cortex-scheduling 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 依赖第三方日历 API 的稳定性和响应速度。
  • 复杂冲突情况下可能返回近似解需人工复核。

SKILL.md

name
temporal-cortex-scheduling
description
|-
license
MIT
compatibility
|-
metadata
author
temporal-cortex
version
0.9.1
mcp-server
@temporal-cortex/cortex-mcp
homepage
https://temporal-cortex.com
repository
https://github.com/temporal-cortex/skills
openclaw
install
package
@temporal-cortex/cortex-mcp@0.9.1
bins
[cortex-mcp]
requires
bins
config

Calendar Scheduling & Booking

14 tools (Layers 0, 2–4) for contact resolution, calendar discovery, event querying, free slot finding, availability checking, RRULE expansion, atomic booking, Open Scheduling, and proposal composition. 12 read-only tools + 2 write tools (book_slot, request_booking).

Source & Provenance

Runtime

These tools run inside the Temporal Cortex MCP server (@temporal-cortex/cortex-mcp), a compiled Rust binary distributed as an npm package.

Install and startup lifecycle:

  1. npx resolves @temporal-cortex/cortex-mcp from the npm registry (one-time, cached locally after first download)
  2. The postinstall script downloads the platform-specific binary from the GitHub Release and verifies its SHA256 checksum against the embedded checksums.jsoninstallation halts on mismatch
  3. The MCP server starts as a local process communicating over stdio (no listening ports)
  4. Calendar tools make authenticated API calls to your configured providers (Google Calendar API, Microsoft Graph API, CalDAV endpoints)

Credential storage: OAuth tokens are stored locally at ~/.config/temporal-cortex/credentials.json and read exclusively by the local MCP server process. No credential data is transmitted to Temporal Cortex servers. The binary's filesystem access is limited to ~/.config/temporal-cortex/ — verifiable by inspecting the open-source Rust code or running under Docker where the mount is the only writable path.

File access: The binary reads and writes only ~/.config/temporal-cortex/ (credentials and config). No other filesystem writes.

Network scope: Calendar tools connect only to your configured providers (googleapis.com, graph.microsoft.com, or your CalDAV server). In Local Mode (default), no calls to Temporal Cortex servers and no telemetry is collected. In Platform Mode, three tools (resolve_identity, query_public_availability, request_booking) call api.temporal-cortex.com for cross-user scheduling — no credential data is included in these calls.

Pre-run verification (recommended before first use):

  1. Inspect the npm package without executing: npm pack @temporal-cortex/cortex-mcp --dry-run
  2. Verify checksums independently against the GitHub Release (see verification pipeline below)
  3. For full containment, run in Docker instead of npx (see Docker containment below)

Verification pipeline: Checksums are published independently at each GitHub Release as SHA256SUMS.txt — verify the binary before first use:

# 1. Fetch checksums from GitHub (independent of the npm package)
curl -sL https://github.com/temporal-cortex/mcp/releases/download/mcp-v0.9.1/SHA256SUMS.txt

# 2. Compare against the npm-installed binary
shasum -a 256 "$(npm root -g)/@temporal-cortex/cortex-mcp/bin/cortex-mcp"

As defense-in-depth, the npm package also embeds checksums.json and the postinstall script compares SHA256 hashes during install — installation halts on mismatch (the binary is deleted, not executed). This automated check supplements, but does not replace, independent verification above.

Build provenance: Binaries are cross-compiled from auditable Rust source in GitHub Actions across 5 platforms (darwin-arm64, darwin-x64, linux-x64, linux-arm64, win32-x64). Source: github.com/temporal-cortex/mcp (MIT-licensed). The CI workflow, build artifacts, and release checksums are all publicly inspectable.

Docker containment (no Node.js on host, credential isolation via volume mount):

{
  "mcpServers": {
    "temporal-cortex": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "~/.config/temporal-cortex:/root/.config/temporal-cortex", "cortex-mcp"]
    }
  }
}

Build: docker build -t cortex-mcp https://github.com/temporal-cortex/mcp.git

Tools

Layer 0 — Discovery

ToolWhen to Use
resolve_identityDNS for Human Time: resolve an email, phone, or agent ID to a Temporal Cortex slug. Call before query_public_availability. Platform Mode only.
search_contactsSearch the user's address book by name (Google People API, Microsoft Graph). Returns matching contacts with emails, phones, organization, and job title. Opt-in — requires contacts permission.
resolve_contactGiven a confirmed contact's email, determine the best scheduling path: Open Scheduling (instant booking), email, or phone. Chains with resolve_identity when Platform API is available.

Layer 2 — Calendar Operations

ToolWhen to Use
list_calendarsFirst call when calendars are unknown. Returns all connected calendars with provider-prefixed IDs, names, labels, primary status, and access roles.
list_eventsList events in a time range. TOON format by default (~40% fewer tokens than JSON). Use provider-prefixed IDs for multi-calendar: "google/primary", "outlook/work".
find_free_slotsFind available gaps in a calendar. Set min_duration_minutes for minimum slot length.
expand_rruleExpand recurrence rules (RFC 5545) into concrete instances. Handles DST, BYSETPOS, EXDATE, leap years. Use dtstart as local datetime (no timezone suffix).
check_availabilityCheck if a specific time slot is free. Checks both events and active booking locks.

Layer 3 — Availability

ToolWhen to Use
get_availabilityMerged free/busy view across multiple calendars. Pass calendar_ids array. Privacy: "opaque" (default, hides sources) or "full".
query_public_availabilityCheck another user's public availability by Temporal Link slug. Pass the slug and date to find their open time slots. Platform Mode only.

Layer 4 — Booking

ToolWhen to Use
book_slotBook a time slot atomically. Lock → verify → write → release. Always check_availability first.
request_bookingBook on another user's public calendar by Temporal Link slug. Requires Platform Mode.
compose_proposalCompose a scheduling proposal message for email, Slack, or SMS. Formats proposed times in the recipient's timezone with an optional Temporal Link self-serve booking URL. Does NOT send — returns formatted text for the agent to send via its channel MCP.

Critical Rules

  1. Discover calendars first — call list_calendars when you don't know which calendars are connected. Use the returned provider-prefixed IDs for all subsequent calls.
  2. Use provider-prefixed IDs for multi-calendar setups: "google/primary", "outlook/work", "caldav/personal". Bare IDs (e.g., "primary") route to the default provider.
  3. TOON is the default format — output uses TOON (~40% fewer tokens than JSON). Pass format: "json" only if you need structured parsing.
  4. Check before booking — always call check_availability before book_slot. Never skip the conflict check.
  5. Content safety — event summaries and descriptions pass through a sanitization firewall before reaching the calendar API.
  6. Timezone awareness — all tools accept RFC 3339 with timezone offsets. Never use bare dates.
  7. Confirm before booking — when running autonomously, always present booking details (time, calendar, summary) to the user and wait for confirmation before calling book_slot or request_booking.
  8. Confirm contact selection — when search_contacts returns multiple matches, present candidates to the user and confirm which contact is correct. Never auto-select.
  9. Confirm before sending proposals — when using compose_proposal, present the composed message to the user before sending. Never auto-send outreach.
  10. Contact search is optional — if contacts permission is not configured, ask the user for the email directly. The workflow works without contact search.

Full Booking Workflow

0. Resolve Contact  →  search_contacts("Jane") → resolve_contact(jane@example.com)
                       (skip if user provides email directly)
1. Discover         →  list_calendars
2. Orient           →  get_temporal_context                      (temporal-cortex-datetime)
3. Resolve Time     →  resolve_datetime("next Tuesday at 2pm")  (temporal-cortex-datetime)
4. Route            →  If open_scheduling slug: fast path (query_public_availability → request_booking)
                       If email only: backward-compat path (find_free_slots → compose_proposal)
5. Check            →  check_availability(calendar_id, start, end)
6. Act              →  Fast: book_slot / request_booking
                       Backward-compat: compose_proposal → agent sends via channel MCP

If the slot is busy at step 5, use find_free_slots to suggest alternatives.

Open Scheduling Workflow (Platform Mode)

1. Identify    →  resolve_identity("jane@example.com")  →  slug: "jane-doe"
2. Orient      →  get_temporal_context                   (temporal-cortex-datetime)
3. Discover    →  query_public_availability(slug, date)  →  available slots
4. Present     →  Show top 3 options to user
5. Book        →  request_booking(slug, start, end, title, attendee_email)

Two-Phase Commit Protocol

Agent calls book_slot(calendar_id, start, end, summary)
    │
    ├─ 1. LOCK    →  Acquire exclusive lock on the time slot
    │                 (in-memory local; Redis Redlock in Platform Mode)
    │
    ├─ 2. VERIFY  →  Check for overlapping events and active locks
    │
    ├─ 3. WRITE   →  Create event in calendar provider (Google/Outlook/CalDAV)
    │                 Record event in shadow calendar
    │
    └─ 4. RELEASE →  Release the exclusive lock

If any step fails, the lock is released and the booking is aborted. No partial writes.

Common Patterns

Schedule with a Contact (End-to-End)

1. search_contacts(query: "Jane") → present candidates to user
2. User confirms: "Jane Doe (jane@example.com)"
3. resolve_contact(email: "jane@example.com") → scheduling_paths
4. If open_scheduling: query_public_availability(slug, date) → request_booking
5. If email only:
   a. find_free_slots(calendar_id, start, end) → available times
   b. compose_proposal(contact_name, email, slots, timezone, format: "email")
   c. Present composed message to user → user confirms → send via channel MCP

List Events This Week

1. list_calendars → discover connected calendars
2. get_temporal_context → current time (use temporal-cortex-datetime)
3. resolve_datetime("start of this week") → week start
4. resolve_datetime("end of this week") → week end
5. list_events(calendar_id: "google/primary", start, end)

Find Free Time Across Calendars

1. list_calendars → discover all connected calendars
2. get_availability(
     start, end,
     calendar_ids: ["google/primary", "outlook/work"],
     privacy: "full"
   ) → merged free/busy blocks with source_count

Check and Book a Slot

1. check_availability(calendar_id: "google/primary", start, end) → true/false
2. If free: book_slot(calendar_id: "google/primary", start, end, summary: "Team standup")
3. If busy: find_free_slots(calendar_id, start, end, min_duration_minutes: 30)

Expand Recurring Events

expand_rrule(
  rrule: "FREQ=MONTHLY;BYDAY=FR;BYSETPOS=-1",
  dtstart: "2026-01-01T10:00:00",     ← local datetime, no timezone suffix
  timezone: "America/New_York",
  count: 12
) → last Friday of every month for 2026

Provider-Prefixed Calendar IDs

All calendar IDs use provider-prefixed format:

FormatExampleRoutes to
google/<id>"google/primary"Google Calendar
outlook/<id>"outlook/work"Microsoft Outlook
caldav/<id>"caldav/personal"CalDAV (iCloud, Fastmail)
<id> (bare)"primary"Default provider

Privacy Modes

Modesource_countUse case
"opaque" (default)Always 0Sharing availability externally
"full"Actual countInternal use — shows which calendars are busy

Tool Annotations (book_slot)

PropertyValueMeaning
readOnlyHintfalseCreates calendar events
destructiveHintfalseNever deletes or overwrites existing events
idempotentHintfalseCalling twice creates two events
openWorldHinttrueMakes external API calls

Tool Annotations (request_booking)

PropertyValueMeaning
readOnlyHintfalseCreates calendar events on another user's calendar
destructiveHintfalseNever deletes or overwrites existing events
idempotentHintfalseCalling twice creates two bookings
openWorldHinttrueCalls the Platform API

Tool Annotations (compose_proposal)

PropertyValueMeaning
readOnlyHinttruePure formatting — no state modification
destructiveHintfalseNever deletes data
idempotentHinttrueSame input always gives same output
openWorldHintfalseNo external calls — pure computation

Tool Annotations (search_contacts)

PropertyValueMeaning
readOnlyHinttrueReads contacts only — no modifications
destructiveHintfalseNever deletes contacts
idempotentHinttrueSame query always gives same results
openWorldHinttrueCalls external contact API (Google People / Microsoft Graph)

Error Handling

ErrorAction
"No credentials found"Run: npx @temporal-cortex/cortex-mcp auth google (or outlook / caldav).
"Timezone not configured"Prompt for IANA timezone. Or run the auth command which configures timezone.
Slot is busy / conflict detectedUse find_free_slots to suggest alternatives. Present options to user.
Lock acquisition failedAnother agent is booking the same slot. Wait briefly and retry, or suggest alternative times.
Content rejected by sanitizationRephrase the event summary/description. The firewall blocks prompt injection attempts.

Open Scheduling & Temporal Links

When a user has Open Scheduling enabled, their Temporal Link (book.temporal-cortex.com/{slug}) allows anyone to:

  1. Query availabilityGET /public/{slug}/availability?date=YYYY-MM-DD
  2. Book a meetingPOST /public/{slug}/book with {start, end, title, attendee_email}
  3. Discover via Agent CardGET /public/{slug}/.well-known/agent-card.json

Workflow: Book via Temporal Link

  1. User shares their Temporal Link
  2. Agent calls availability endpoint to find free slots
  3. Agent calls booking endpoint with selected slot
  4. Meeting is created on the user's default calendar

See Temporal Links Reference for detailed API documentation.

Additional References

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

82.68%
按下载量换算7,258

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills