🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Yandex 360 CLI (Disk, Calendar, Mail)

by @smvlx

CLI tool for Yandex Disk, Calendar, and Mail via Yandex OAuth API

Versionv1.1.0
Downloads683
Stars⭐ 3
TERMINAL
clawhub install yandex-cli-yax

πŸ“– About This Skill


name: yax description: CLI tool for Yandex Disk, Calendar, and Mail via Yandex OAuth API version: 1.1.0 metadata: {"openclaw":{"emoji":"πŸ“","homepage":"https://github.com/smvlx/openclaw-ru-skills","os":["darwin","linux"],"requires":{"bins":["node"],"env":["YAX_CLIENT_ID"]},"primaryEnv":"YAX_CLIENT_ID","configPaths":["~/.openclaw/yax.env","~/.openclaw/yax-token.json"]}}

yax β€” Yandex 360 CLI

CLI tool for Yandex Disk, Calendar, and Mail via Yandex OAuth API.

Features

  • Disk: info, list, mkdir, upload, download
  • Calendar: list calendars, create events (via CalDAV)
  • Mail: ⚠️ Limited β€” Yandex has no public HTTP API for mail (IMAP/SMTP only, ports often blocked in cloud)
  • Prerequisites

    1. Create a Yandex OAuth app at https://oauth.yandex.ru/client/new - Redirect URI: https://oauth.yandex.ru/verification_code - Required scopes: - cloud_api:disk.app_folder β€” Disk app folder access - cloud_api:disk.info β€” Disk info - calendar:all β€” Calendar read/write - mail:smtp β€” Mail sending (SMTP only, no HTTP API) - Note the Client ID and Client Secret

    2. Save config to ~/.openclaw/yax.env:

       YAX_CLIENT_ID=your_app_client_id
       YAX_CLIENT_SECRET=your_app_secret_if_any
       

    Setup & Auth

    scripts/setup.sh        # Create env template
    node src/yax.cjs auth   # OAuth flow (opens browser URL, paste code)
    

    Usage

    # Disk
    node src/yax.cjs disk info
    node src/yax.cjs disk list /
    node src/yax.cjs disk mkdir /test-folder
    node src/yax.cjs disk upload ./local-file.txt /remote-path.txt
    node src/yax.cjs disk download /remote-path.txt ./local-file.txt

    Calendar

    node src/yax.cjs calendar list node src/yax.cjs calendar create "Meeting" "2026-02-14" "11:00:00" "12:00:00" "Holiday meeting" "Europe/Moscow"

    Mail (informational only)

    node src/yax.cjs mail

    Implementation Details

  • Calendar: Uses raw CalDAV HTTP requests to caldav.yandex.ru. Automatically discovers user login via OAuth info endpoint and calendar paths via PROPFIND. Supports timezone-aware event creation. No external dependencies.
  • Mail: Yandex does not offer a public REST/HTTP API for mail operations. Only IMAP/SMTP is available, which requires direct TCP connections on ports 993/465 β€” typically blocked in cloud environments (Railway, etc.). The Yandex 360 Admin API exists for organization accounts but is not suitable for personal use.
  • Scripts

  • scripts/setup.sh β€” Create env template
  • scripts/start.sh β€” N/A (CLI tool, not a daemon)
  • scripts/stop.sh β€” N/A
  • scripts/status.sh β€” Check auth status
  • πŸ’‘ Examples

    # Disk
    node src/yax.cjs disk info
    node src/yax.cjs disk list /
    node src/yax.cjs disk mkdir /test-folder
    node src/yax.cjs disk upload ./local-file.txt /remote-path.txt
    node src/yax.cjs disk download /remote-path.txt ./local-file.txt

    Calendar

    node src/yax.cjs calendar list node src/yax.cjs calendar create "Meeting" "2026-02-14" "11:00:00" "12:00:00" "Holiday meeting" "Europe/Moscow"

    Mail (informational only)

    node src/yax.cjs mail

    βš™οΈ Configuration

    1. Create a Yandex OAuth app at https://oauth.yandex.ru/client/new - Redirect URI: https://oauth.yandex.ru/verification_code - Required scopes: - cloud_api:disk.app_folder β€” Disk app folder access - cloud_api:disk.info β€” Disk info - calendar:all β€” Calendar read/write - mail:smtp β€” Mail sending (SMTP only, no HTTP API) - Note the Client ID and Client Secret

    2. Save config to ~/.openclaw/yax.env:

       YAX_CLIENT_ID=your_app_client_id
       YAX_CLIENT_SECRET=your_app_secret_if_any