Jump to related tools in the same category or review the original source on GitHub.

CLI Utilities @visionik Updated 2/26/2026

📬 Sogcli OpenClaw Skill - ClawHub

Do you want your AI agent to automate Sogcli workflows? This free skill from ClawHub helps with cli utilities tasks without building custom tools from scratch.

What this skill does

Standards Ops Gadget — CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft).

Install

npx clawhub@latest install sogcli

Full SKILL.md

Open original
namedescriptionhomepage
sogStandards Ops Gadget — CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft).https://github.com/visionik/sogcli

sog — Standards Ops Gadget

CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft).

Quick Start

sog auth add [email protected] --discover
sog auth test
sog mail list

Global Flags

--account, -a    Account email to use ($SOG_ACCOUNT)
--json           JSON output (for scripting)
--plain          TSV output (parseable)
--force          Skip confirmations
--no-input       Never prompt (CI mode)
--verbose, -v    Debug logging
--ai-help        Detailed help text

Authentication

sog auth add <email> [flags]
  --discover       Auto-discover servers from DNS
  --imap-host      IMAP server hostname
  --imap-port      IMAP port (default: 993)
  --smtp-host      SMTP server hostname
  --smtp-port      SMTP port (default: 587)
  --caldav-url     CalDAV server URL
  --carddav-url    CardDAV server URL
  --webdav-url     WebDAV server URL
  --password       Password (stored in keychain)

sog auth list                    # List accounts
sog auth test [email]            # Test connection
sog auth remove <email>          # Remove account
sog auth password <email>        # Set protocol-specific passwords
  --imap, --smtp, --caldav, --carddav, --webdav

Mail (IMAP/SMTP)

sog mail list [folder]
  --max N          Maximum messages (default: 20)
  --unseen         Only unread messages

sog mail get <uid>
  --headers        Headers only
  --raw            Raw RFC822 format

sog mail search <query>
  # IMAP SEARCH syntax: FROM, TO, SUBJECT, SINCE, BEFORE, etc.
  # Example: sog mail search "FROM john SINCE 1-Jan-2026"

sog mail send --to <email> --subject <text> [flags]
  --to             Recipient(s)
  --cc             CC recipient(s)
  --bcc            BCC recipient(s)
  --subject        Subject line
  --body           Message body
  --body-file      Read body from file (- for stdin)
  --body-html      HTML body content

sog mail reply <uid> --body <text>
sog mail forward <uid> --to <email>
sog mail move <uid> <folder>
sog mail copy <uid> <folder>
sog mail flag <uid> <flag>       # Flags: seen, flagged, answered, deleted
sog mail unflag <uid> <flag>
sog mail delete <uid>

Folders

sog folders list
sog folders create <name>
sog folders delete <name>
sog folders rename <old> <new>

Drafts

sog drafts list
sog drafts create [flags]        # Same flags as mail send
sog drafts send <uid>
sog drafts delete <uid>

Calendar (CalDAV)

sog cal list [calendar]
  --from           Start date (default: today)
  --to             End date (default: +30d)
  --max            Maximum events

sog cal get <uid>
sog cal search <query>           # Search in title/description/location
sog cal today [calendar]
sog cal week [calendar]

sog cal create <title> --start <datetime> [flags]
  --start          Start time (YYYY-MM-DDTHH:MM or YYYY-MM-DD for all-day)
  --end            End time
  --duration       Duration (1h, 30m)
  --location       Location
  --description    Description

sog cal update <uid> [flags]     # Same flags as create
sog cal delete <uid>
sog cal calendars                # List calendars

Contacts (CardDAV)

sog contacts list [address-book]
  --max            Maximum contacts

sog contacts get <uid>
sog contacts search <query>      # Search name/email/phone

sog contacts create <name> [flags]
  -e, --email      Email address(es)
  -p, --phone      Phone number(s)
  --org            Organization
  --title          Job title
  --note           Note

sog contacts update <uid> [flags]  # Same flags as create
sog contacts delete <uid>
sog contacts books               # List address books

Tasks (CalDAV VTODO)

sog tasks list [list]
  --all            Include completed tasks

sog tasks add <title> [flags]
  --due            Due date (YYYY-MM-DD)
  -p, --priority   Priority (1-9, 1=highest)
  -d, --description Description

sog tasks get <uid>
sog tasks update <uid> [flags]   # Same flags as add
sog tasks done <uid>             # Mark complete
sog tasks undo <uid>             # Mark incomplete
sog tasks delete <uid>
sog tasks clear                  # Delete all completed tasks
sog tasks due <date>             # Tasks due by date
sog tasks overdue                # Overdue tasks
sog tasks lists                  # List task lists

Files (WebDAV)

sog drive ls [path]
  -l               Long format with details
  --all            Show hidden files

sog drive get <path>             # Get file metadata
sog drive download <remote> [local]
sog drive upload <local> [remote]
sog drive mkdir <path>
sog drive delete <path>
sog drive move <src> <dst>
sog drive copy <src> <dst>
sog drive cat <path>             # Output file to stdout

Meeting Invites (iTIP/iMIP)

sog invite send <summary> <attendees>... --start <datetime> [flags]
  --start          Start time
  --duration       Duration (default: 1h)
  --location       Location
  --description    Description

sog invite reply <file> --status <accept|decline|tentative>
  --comment        Optional comment

sog invite cancel <uid> <attendees>...
sog invite parse <file>          # Parse .ics file
sog invite preview <summary> <attendees>... --start <datetime>

IMAP IDLE

sog idle [folder]                # Watch for new mail (push notifications)
  --timeout        Timeout in seconds

Output Formats

  • Default: Human-readable colored output
  • --json: One JSON object per line (JSONL)
  • --plain: Tab-separated values (TSV)

Examples

# List recent emails
sog mail list --max 10

# Send an email
sog mail send --to [email protected] --subject "Hello" --body "Hi there"
sog mail send --to [email protected] --subject "Report" --body-file report.md
cat draft.txt | sog mail send --to [email protected] --subject "Hi" --body-file -

# Today's calendar
sog cal today

# Create a meeting with invite
sog invite send "Team Sync" [email protected] [email protected] \
  --start "2026-01-25T14:00" --duration 30m --location "Zoom"

# Add a task
sog tasks add "Review PR" --due 2026-01-26 -p 1

# Upload a file
sog drive upload report.pdf /documents/

# Search contacts
sog contacts search "John"

Tested Providers

  • Fastmail ✅ (full support)

Other standards-compliant providers should work but have not been tested yet.

Credential Storage

Passwords are stored securely in the native system credential store:

Platform Backend
macOS Keychain
Windows Windows Credential Manager
Linux/BSD D-Bus Secret Service (GNOME Keyring, KWallet)

Supports separate passwords per protocol (IMAP, SMTP, CalDAV, CardDAV, WebDAV).

Notes

  • Set [email protected] to avoid repeating --account
  • Part of the Ops Gadget family: gog (Google), mog (Microsoft), sog (Standards)
Original URL: https://github.com/openclaw/skills/blob/main/skills/visionik/sogcli

Related skills

If this matches your use case, these are close alternatives in the same category.