dojo.md
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
Manage Synology Calendar events and todos via API. Supports calendars, events, todos, and contacts. Based on official Calendar API Guide (v5).
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
SkillHub CLI
skillhub install fpengziyang/synology-calendarExaminez la source et la compatibilité, puis suivez les étapes d’installation.
Donnez le lien à votre agent et demandez-lui d’examiner instructions et dépendances avant d’expliquer les étapes.
Manage Synology Calendar using the official Calendar API.
Documentation: Calendar_API_Guide_enu.pdf
export SYNOLOGY_URL="http://{nas_ip}:5000" # 内网地址
export SYNOLOGY_USER="{username}"
export SYNOLOGY_PASSWORD="your-password"
from client import SynologyCalendar
cal = SynologyCalendar()
cal.login()
# List calendars
calendars = cal.get_calendars()
for c in calendars:
print(f"{c['cal_id']}: {c['cal_displayname']}")
cal.logout()
| Method | Description | Status |
|---|---|---|
get_calendars() |
List all calendars | ✅ Working |
get_calendar(cal_id) |
Get calendar details | ✅ Working |
create_calendar(...) |
Create calendar | ✅ Working |
delete_calendar(cal_id) |
Delete calendar | ✅ Working |
| Method | Description | Status |
|---|---|---|
list_events(cal_id_list) |
List events | ✅ Working |
get_event(evt_id) |
Get event details | ✅ Working |
create_event(...) |
Create event | ✅ Working |
delete_event(evt_id) |
Delete event | ✅ Working |
Event Creation Notes:
✅ Working:
⚠️ Critical: SID must be in URL parameter, not JSON body
The Synology Calendar v1 API requires the _sid parameter in the URL query string, not in the JSON body.
create_event Parameters:
| Parameter | Type | Required | Example |
|---|---|---|---|
| cal_id | string | ✅ | /admin/home/ |
| summary | string | ✅ | Event title |
| dtstart | int | ✅ | 1770440000 |
| dtend | int | ✅ | 1770443600 |
| is_all_day | bool | ✅ | false |
| is_repeat_evt | bool | ✅ | false |
| color | string | ✅ | #D9AE00 |
| description | string | ✅ | Description |
| ... |
Ces informations proviennent de l’analyse indexée et peuvent être anciennes. Vérifiez les fichiers actuels.
# Synology Calendar API Skill
## Overview
Manage Synology Calendar using the official Calendar API.
**Documentation:** [Calendar_API_Guide_enu.pdf](references/Calendar_API_Guide_enu.pdf)
## Connection
### Environment Variables
```bash
export SYNOLOGY_URL="http://{nas_ip}:5000" # 内网地址
export SYNOLOGY_USER="{username}"
export SYNOLOGY_PASSWORD="your-password"
```
### Quick Start
```python
from client import SynologyCalendar
cal = SynologyCalendar()
cal.login()
# List calendars
calendars = cal.get_calendars()
for c in calendars:
print(f"{c['cal_id']}: {c['cal_displayname']}")
cal.logout()
```
---
## API Reference
### Calendar Operations (SYNO.Cal.Cal)
| Method | Description | Status |
|--------|-------------|--------|
| `get_calendars()` | List all calendars | ✅ Working |
| `get_calendar(cal_id)` | Get calendar details | ✅ Working |
| `create_calendar(...)` | Create calendar | ✅ Working |
| `delete_calendar(cal_id)` | Delete calendar | ✅ Working |
### Event Operations (SYNO.Cal.Event)
| Method | Description | Status |
|--------|-------------|--------|
| `list_events(cal_id_list)` | List events | ✅ Working |
| `get_event(evt_id)` | Get event details | ✅ Working |
| `create_event(...)` | Create event | ✅ Working |
| `delete_event(evt_id)` | Delete event | ✅ Working |
**Event Creation Notes:**
✅ Working:
- All event types now work correctly with v1 API
**⚠️ Critical: SID must be in URL parameter, not JSON body**
The Synology Calendar v1 API requires the `_sid` parameter in the URL query string, not in the JSON body.
**create_event Parameters:**
| Parameter | Type | Required | Example |
|-----------|------|----------|---------|
| cal_id | string | ✅ | `/admin/home/` |
| summary | string | ✅ | Event title |
| dtstart | int | ✅ | 1770440000 |
| dtend | int | ✅ | 1770443600 |
| is_all_day | bool | ✅ | `false` |
| is_repeat_evt | bool | ✅ | `false` |
| color | string | ✅ | `#D9AE00` |
| description | string | ✅ | Description |
|...University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance
A股分析技能
A2A4B2B Skill for OpenClaw