Skill: visionik/sogcli (version 0.3.0)

--- 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 [REDACTED_SECRET] --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 [REDACTED_SECRET] --subject "Hello" --body "Hi there" sog mail send --to [REDACTED_SECRET] --subject "Report" --body-file report.md cat draft.txt | sog mail send --to [REDACTED_SECRET] --subject "Hi" --body-file - # Today's calendar sog cal today # Create a meeting with invite sog invite send "Team Sync" [REDACTED_SECRET] [REDACTED_SECRET] \ --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=[REDACTED_SECRET]` to avoid repeating `--account` - Part of the Ops Gadget family: gog (Google), mog (Microsoft), sog (Standards)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)