Standards Ops Gadget — CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft).
Scanned 9/7/2026
Install to Claude Code
npx -y skills add Demerzels-lab/elsamultiskillagent --skill sogcli --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Sogcli?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/demerzels-lab-sogcli)More formats (shields.io, HTML) on the badges page.
---
name: sog
description: Standards Ops Gadget — CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft).
homepage: https://github.com/visionik/sogcli
metadata: {"clawdbot":{"emoji":"📬","requires":{"bins":["sog"]},"install":[{"id":"go","kind":"go","package":"github.com/visionik/sogcli/cmd/sog@latest","bins":["sog"],"label":"Install sog (go install)"}]}}
---
# sog — Standards Ops Gadget
CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV.
Open-standards alternative to gog (Google) and mog (Microsoft).
## Quick Start
```bash
sog auth add you@fastmail.com --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
```bash
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)
```bash
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
```bash
sog folders list
sog folders create <name>
sog folders delete <name>
sog folders rename <old> <new>
```
## Drafts
```bash
sog drafts list
sog drafts create [flags] # Same flags as mail send
sog drafts send <uid>
sog drafts delete <uid>
```
## Calendar (CalDAV)
```bash
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)
```bash
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)
```bash
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)
```bash
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)
```bash
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
```bash
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
```bash
# List recent emails
sog mail list --max 10
# Send an email
sog mail send --to user@example.com --subject "Hello" --body "Hi there"
sog mail send --to user@example.com --subject "Report" --body-file report.md
cat draft.txt | sog mail send --to user@example.com --subject "Hi" --body-file -
# Today's calendar
sog cal today
# Create a meeting with invite
sog invite send "Team Sync" alice@example.com bob@example.com \
--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 `SOG_ACCOUNT=you@example.com` to avoid repeating `--account`
- Part of the Ops Gadget family: gog (Google), mog (Microsoft), sog (Standards)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!