Agent Skillsdtyq/magic › magic-calendar

magic-calendar

GitHub

用于创建和管理交互式日历项目,支持事件调度、内容规划及活动管理。通过工具初始化项目并执行事件的增删改查及分类管理操作。

backend/super-magic/agents/skills/magic-calendar/SKILL.md dtyq/magic

Trigger Scenarios

创建日历或日程安排 添加或修改事件计划 查询和查看事件列表

Install

npx skills add dtyq/magic --skill magic-calendar -g -y
More Options

Non-standard path

npx skills add https://github.com/dtyq/magic/tree/master/backend/super-magic/agents/skills/magic-calendar -g -y

Use without installing

npx skills use dtyq/magic@magic-calendar

指定 Agent (Claude Code)

npx skills add dtyq/magic --skill magic-calendar -a claude-code -g -y

安装 repo 全部 skill

npx skills add dtyq/magic --all -g -y

预览 repo 内 skill

npx skills add dtyq/magic --list

SKILL.md

Frontmatter
{
    "name": "magic-calendar",
    "description": "Create and manage calendar projects for scheduling, content planning, and event management. Use when user wants to create a calendar, schedule events, or build a content\/publishing calendar."
}

Magic Calendar

Create and manage interactive calendar projects. Each calendar project is a folder containing index.html (visualization), magic.project.js (metadata and categories), and events/ (monthly event files). All data operations go through tools — do not manually read or edit these files.

Workflow

1. Create project folder (shell_exec: mkdir)
2. setup_calendar_project  → initialize calendar
3. manage_calendar         → add categories (optional)
4. manage_calendar         → add events (batch or one-by-one)

Decision Tree

User request
├── Create new calendar       → setup_calendar_project
├── Add event/schedule/plan   → manage_calendar (add_event)
├── View/query events         → manage_calendar (list_events)
├── Modify existing event     → manage_calendar (update_event)
├── Delete/cancel event       → manage_calendar (delete_event)
├── Add event category        → manage_calendar (add_category)
└── View categories           → manage_calendar (list_categories)

Tool: setup_calendar_project

Initialize a calendar project in an existing folder. You must create the folder first via shell_exec.

Parameters

Param Required Type Description
project_path yes string Existing folder path (relative to workspace). Name according to user's language
calendar_name yes string Calendar display name
description no string Calendar description
timezone no string IANA timezone identifier, default Asia/Shanghai
initial_categories no string JSON array string. Example: '[{"id":"publish","name":"Publish","color":"#4CAF50"}]'

Tool: manage_calendar

Manage calendar events and categories.

Common Parameters (all actions)

Param Type Description
action string add_event / list_events / update_event / delete_event / add_category / list_categories
project_path string Calendar project folder path (relative to workspace)

add_event

Only title + start are required. All other fields are optional with sensible defaults.

Param Required Type Description
title yes string Event title
start yes string YYYY-MM-DD HH:MM for timed events; YYYY-MM-DD for all-day events
end no string Same format as start. Default: timed +1h, all-day same day
description no string Event description
location no string Location
status no string confirmed (default) / tentative / cancelled / completed
category no string Category ID (must exist)
recurrence no string Recurrence rule as JSON string (see below)

list_events

All filters are optional. No filters = return all events.

Param Type Description
date_from string Start date filter (YYYY-MM-DD)
date_to string End date filter, inclusive (YYYY-MM-DD)
category string Filter by category ID
keyword string Search in title and description

update_event

Partial update — only pass fields you want to change.

Param Required Type Description
event_id yes string Event ID (from add_event or list_events result)
title no string New title
start no string New start time
end no string New end time
description no string New description
location no string New location
status no string New status
category no string New category ID
recurrence no string New recurrence rule (JSON string)

delete_event

Param Required Type Description
event_id yes string Event ID

add_category

Param Required Type Description
category_id yes string Alphanumeric identifier (e.g. meeting, publish)
category_name yes string Display name
category_color yes string Hex color (e.g. #4CAF50)

list_categories

No additional parameters.

Recurrence Rule Format

Pass as JSON string in the recurrence parameter:

{"type": "daily", "interval": 1, "end_date": "2026-06-30"}
{"type": "weekly", "interval": 1, "days_of_week": [1, 3, 5]}
{"type": "monthly", "interval": 1, "day_of_month": 15, "end_date": "2026-12-31"}
  • type: daily / weekly / monthly
  • interval: repeat every N days/weeks/months, default 1
  • days_of_week: for weekly only, 1=Mon … 7=Sun
  • day_of_month: for monthly, defaults to the day from start
  • end_date: YYYY-MM-DD, omit for indefinite

Code Mode Examples

Create calendar and add events

from sdk.tool import tool

# 1. Create project folder
tool.call("shell_exec", {"command": "mkdir -p .workspace/content-calendar"})

# 2. Setup calendar with initial categories
tool.call("setup_calendar_project", {
    "project_path": "content-calendar",
    "calendar_name": "Content Publishing Calendar",
    "description": "30-day rolling content plan",
    "initial_categories": '[{"id":"publish","name":"Publish","color":"#4CAF50"},{"id":"review","name":"Review","color":"#2196F3"}]'
})

# 3. Minimal event (title + start only)
tool.call("manage_calendar", {
    "action": "add_event",
    "project_path": "content-calendar",
    "title": "Weekly standup",
    "start": "2026-04-21 10:00"
})

# 4. Full event
tool.call("manage_calendar", {
    "action": "add_event",
    "project_path": "content-calendar",
    "title": "Product review video",
    "start": "2026-04-22 14:00",
    "end": "2026-04-22 15:30",
    "category": "publish",
    "location": "Studio 3F",
    "description": "30s vertical tutorial"
})

# 5. Recurring event
tool.call("manage_calendar", {
    "action": "add_event",
    "project_path": "content-calendar",
    "title": "Content review meeting",
    "start": "2026-04-21 09:00",
    "recurrence": '{"type":"weekly","interval":1,"days_of_week":[1,3,5],"end_date":"2026-06-30"}'
})

# 6. All-day event (date-only start)
tool.call("manage_calendar", {
    "action": "add_event",
    "project_path": "content-calendar",
    "title": "Product launch day",
    "start": "2026-05-01",
    "category": "publish"
})

Query, update, and delete

from sdk.tool import tool

# Query by date range
result = tool.call("manage_calendar", {
    "action": "list_events",
    "project_path": "content-calendar",
    "date_from": "2026-04-21",
    "date_to": "2026-04-27"
})
print(result.content)

# Mark event as completed
tool.call("manage_calendar", {
    "action": "update_event",
    "project_path": "content-calendar",
    "event_id": "evt_a7f3b2",
    "status": "completed"
})

# Delete event
tool.call("manage_calendar", {
    "action": "delete_event",
    "project_path": "content-calendar",
    "event_id": "evt_c3d4e5"
})

Important Notes

  1. Create folder firstsetup_calendar_project does not create folders; use shell_exec beforehand
  2. Event IDs are auto-generated — never pass id when creating; use the returned ID for update/delete
  3. update_event is partial — omitted fields keep their current value
  4. Time formatYYYY-MM-DD HH:MM for timed events, YYYY-MM-DD for all-day. No seconds or timezone suffixes
  5. Do not manually edit project files — always use tools; manual edits waste context and may corrupt data format

Version History

  • 41d7ef4 Current 2026-07-25 09:29

Same Skill Collection

backend/super-magic/agents/skills/agent-info/SKILL.md
backend/super-magic/agents/skills/canvas-designer/SKILL.md
backend/super-magic/agents/skills/chat-history/SKILL.md
backend/super-magic/agents/skills/cli-manager/SKILL.md
backend/super-magic/agents/skills/compact-chat-history/SKILL.md
backend/super-magic/agents/skills/creating-slides/SKILL.md
backend/super-magic/agents/skills/develop-data-analysis-dashboard/SKILL.md
backend/super-magic/agents/skills/document-converter/SKILL.md
backend/super-magic/agents/skills/download/SKILL.md
backend/super-magic/agents/skills/env-manager/SKILL.md
backend/super-magic/agents/skills/im-channels/SKILL.md
backend/super-magic/agents/skills/magicbase/SKILL.md
backend/super-magic/agents/skills/sandbox-manager/SKILL.md
backend/super-magic/agents/skills/self-media-pre-publish-analyzer/SKILL.md
backend/super-magic/agents/skills/share/SKILL.md
backend/super-magic/agents/skills/skill-vetter/SKILL.md
backend/super-magic/agents/skills/slide-template/SKILL.md
backend/super-magic/agents/skills/subagents/SKILL.md
backend/super-magic/agents/skills/teamshare-cli/SKILL.md
backend/super-magic/agents/skills/user-info/SKILL.md
backend/super-magic/agents/skills/using-cron/SKILL.md
backend/super-magic/agents/skills/using-llm/SKILL.md
backend/super-magic/agents/skills/using-mcp/SKILL.md
frontend/magic-web/.agents/skills/antd-style-to-tailwind/SKILL.md
frontend/magic-web/.agents/skills/code-review-expert/SKILL.md
frontend/magic-web/.agents/skills/dual-edition-module-migration/SKILL.md
frontend/magic-web/.agents/skills/magic-web-error-logging/SKILL.md
frontend/magic-web/.agents/skills/sw-best-practices/SKILL.md
frontend/magic-web/.agents/skills/ui-data-testid/SKILL.md
frontend/magic-web/.agents/skills/vercel-composition-patterns/SKILL.md
frontend/magic-web/.agents/skills/vercel-react-best-practices/SKILL.md
backend/super-magic/agents/skills/ai-card-generator/SKILL.md
backend/super-magic/agents/skills/crew-creator/SKILL.md
backend/super-magic/agents/skills/deep-research/SKILL.md
backend/super-magic/agents/skills/dingtalk-cli/SKILL.md
backend/super-magic/agents/skills/html-api-sdk/SKILL.md
backend/super-magic/agents/skills/lark-cli/SKILL.md
backend/super-magic/agents/skills/micro-app-architect/SKILL.md
backend/super-magic/agents/skills/self-media-composer/SKILL.md
backend/super-magic/agents/skills/skill-creator/SKILL.md

Metadata

Files
0
Version
f9973c5
Hash
7ad495ff
Indexed
2026-07-25 09:29

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 12:27
浙ICP备14020137号-1 $Гость$