mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-26 01:01:40 +00:00
When a skill declares required_environment_variables in its YAML frontmatter, missing env vars trigger a secure TUI prompt (identical to the sudo password widget) when the skill is loaded. Secrets flow directly to ~/.hermes/.env, never entering LLM context. Key changes: - New required_environment_variables frontmatter field for skills - Secure TUI widget (masked input, 120s timeout) - Gateway safety: messaging platforms show local setup guidance - Legacy prerequisites.env_vars normalized into new format - Remote backend handling: conservative setup_needed=True - Env var name validation, file permissions hardened to 0o600 - Redact patterns extended for secret-related JSON fields - 12 existing skills updated with prerequisites declarations - ~48 new tests covering skip, timeout, gateway, remote backends - Dynamic panel widget sizing (fixes hardcoded width from original PR) Cherry-picked from PR #723 by kshitijk4poor, rebased onto current main with conflict resolution. Fixes #688 Co-authored-by: kshitijk4poor <kshitijk4poor@users.noreply.github.com>
2.5 KiB
2.5 KiB
| name | description | version | author | license | platforms | metadata | prerequisites | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| apple-reminders | Manage Apple Reminders via remindctl CLI (list, add, complete, delete). | 1.0.0 | Hermes Agent | MIT |
|
|
|
Apple Reminders
Use remindctl to manage Apple Reminders directly from the terminal. Tasks sync across all Apple devices via iCloud.
Prerequisites
- macOS with Reminders.app
- Install:
brew install steipete/tap/remindctl - Grant Reminders permission when prompted
- Check:
remindctl status/ Request:remindctl authorize
When to Use
- User mentions "reminder" or "Reminders app"
- Creating personal to-dos with due dates that sync to iOS
- Managing Apple Reminders lists
- User wants tasks to appear on their iPhone/iPad
When NOT to Use
- Scheduling agent alerts → use the cronjob tool instead
- Calendar events → use Apple Calendar or Google Calendar
- Project task management → use GitHub Issues, Notion, etc.
- If user says "remind me" but means an agent alert → clarify first
Quick Reference
View Reminders
remindctl # Today's reminders
remindctl today # Today
remindctl tomorrow # Tomorrow
remindctl week # This week
remindctl overdue # Past due
remindctl all # Everything
remindctl 2026-01-04 # Specific date
Manage Lists
remindctl list # List all lists
remindctl list Work # Show specific list
remindctl list Projects --create # Create list
remindctl list Work --delete # Delete list
Create Reminders
remindctl add "Buy milk"
remindctl add --title "Call mom" --list Personal --due tomorrow
remindctl add --title "Meeting prep" --due "2026-02-15 09:00"
Complete / Delete
remindctl complete 1 2 3 # Complete by ID
remindctl delete 4A83 --force # Delete by ID
Output Formats
remindctl today --json # JSON for scripting
remindctl today --plain # TSV format
remindctl today --quiet # Counts only
Date Formats
Accepted by --due and date filters:
today,tomorrow,yesterdayYYYY-MM-DDYYYY-MM-DD HH:mm- ISO 8601 (
2026-01-04T12:34:56Z)
Rules
- When user says "remind me", clarify: Apple Reminders (syncs to phone) vs agent cronjob alert
- Always confirm reminder content and due date before creating
- Use
--jsonfor programmatic parsing