Creator · basecamp
Last updated · Sep 6, 2026
Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action.
Creator · basecamp
Last updated · Sep 6, 2026
Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action.
Creator · basecamp
Last updated · Sep 6, 2026
Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action.
Creator · basecamp
Last updated · Sep 6, 2026
Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action.
Sandbox only
Install targets
Codex install prompt
Install the "hey" agent skill from https://github.com/basecamp/hey-cli/tree/main/skills/hey. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"basecamp-hey-66a522d2","task":"Install hey","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Agent fit
Claude Code + Cursor + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add basecamp/hey-cli --skill hey
Maintenance
fresh
1d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
343
72/100 Quality · 75/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
343 GitHub stars
Repo activity
343 stars, 39 forks
Maintenance
1d since push
License
MIT
Install
npx skills add basecamp/hey-cli --skill hey
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add basecamp/hey-cli --skill heyDo not use when
Alternative
16.3K Stars
npx skills add hardikpandya/stop-slop --skill stop-slop
Alternative
37.4K Stars
npx skills add blader/humanizer --skill humanizer
Alternative
5.8K Stars
npx skills add petergyang/no-ai-slop --skill no-ai-slop
Alternative
4.8K Stars
npx skills add cursor/plugins --skill unslop
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/basecamp-hey-66a522d2/install
Agent should check
Copy prompt
Task: Use hey in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install
Install command: npx skills add basecamp/hey-cli --skill hey
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/basecamp-hey-66a522d2/install
LLM text format
/api/skills/basecamp-hey-66a522d2/install?format=text
Find alternatives
/api/skills/search?q=hey&limit=3
Agent prompt
Use hey for this task. Review https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install, then install with: npx skills add basecamp/hey-cli --skill heyRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/basecamp-hey-66a522d2
LLM text
/api/registry/manifest/basecamp-hey-66a522d2?format=text
Install alias
/api/registry/install/basecamp-hey-66a522d2
Recommend
/api/registry/recommend?task=Use%20hey%20in%20an%20agent%20workflow&limit=3
Agent fit
Workflow automation
Platforms
Claude Code, Cursor
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Workflow automation
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO343 GitHub stars
Stars/forks activity
CHECK343 stars, 39 forks; issue activity unavailable in current metadata
Recent maintenance
PASS1d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Coordinate work
I need my agent to summarize email, draft replies, and prepare calendar follow-ups.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Alternative shortlist
Similar skills that may fit this task.
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
--- name: hey description: | Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. triggers: # Direct invocations - hey - /hey # Email actions - hey account - hey box - hey label - hey collection - hey set-aside - hey workflow - hey clip - hey snippet - hey search - hey contact - hey thread read - hey share - hey unshare - hey reply - hey bulk-reply - hey forward - hey compose - hey draft list - hey draft show - hey draft edit - hey draft send - hey draft delete - hey screener - screen a sender - approve a sender - deny a sender # Calendar actions - hey calendar list - hey event # Todos - hey todo # Seen/unseen - hey seen - hey unseen - hey move - hey bubble - hey trash - hey spam - hey ignore - hey stop-ignoring - move email - bubble a thread up - trash email - mark as spam - ignore email thread - stop ignoring email thread - mark as read - mark as seen - mark as unseen - mark as unread # Habits - hey habit # Time tracking - hey timetrack # Journal - hey journal # Auth - hey auth # Common actions - check my email - read email - send email - reply to email - forward email - share email thread - turn off sharing link - compose email - list mailboxes - search email - find email - list contacts - add contact - edit contact - hide contact - bundle contact mail - unbundle contact mail - contact note - check calendar - add todo - complete todo - track time - write journal # Questions - can I hey - how do I hey - what's in hey - what hey - does hey # My work - my emails - my inbox - my imbox - my todos - my calendar - my journal # URLs - hey.com invocable: true argument-hint: "[command] [args...]" ---
# /hey - HEY Email Workflow Command
CLI for HEY: mailboxes, labels, collections, email threads, contacts, replies, compose, calendars, todos, habits, time tracking, and journal entries.
## Agent Invariants
**MUST follow these rules:**
1. **Choose the right structured output** — use `--jq '<expression>'` to filter or extract fields and `--json` for the full response. Never pipe to an external `jq`; `--jq` is built in and implies `--json`. 2. **Reuse stored authentication** — run the requested data command; it uses stored credentials and refreshes expiring OAuth tokens automatically. If it returns an auth error, report the task as blocked. Use `hey auth status --json` when an explicit authentication check is needed. Never run `hey auth login` unattended; use it only for interactive recovery with the user present. 3. **HTML output** is available via `--html` for commands that return HTML content 4. **Linked mail accounts share one login** — use `hey account list --json`, then `--account <id|all>` when a task must target one account 5. **Local HEY configuration requires human trust** — never run `hey config trust-local` without the user's explicit approval
## Output Filtering
`--jq` filters the full JSON success envelope, so result data is under `.data`. String results print as plain text; objects and arrays print as formatted JSON. Use `--quiet --jq` when the expression should run against result data directly. Errors retain their complete structured envelope. Commands with dedicated raw output (`auth token`, `completion`, `skill`, `tui`, and `--version`) reject `--jq`.
```bash hey box list --jq '.data[] | {id, name}' hey search "quarterly planning" --jq '.data[].id' hey box list --quiet --jq '.[].name' ```
An empty result is an empty array rather than `null`, so `.data[]` is safe to run against a listing that found nothing.
For the two commonest shapes there is no need for an expression at all: `--ids-only` prints one ID per line and `--count` prints a bare number, both on stdout with any pagination notice on stderr. Both need list data, so they work on `hey box list`, `hey box view`, `hey label list`, `hey label view`, `hey collection list`, `hey collection view`, `hey workflow list`, `hey workflow view`, `hey clip list`, `hey snippet list`, `hey draft list`, `hey search`, `hey contact list`, `hey screener list`, `hey screener history`, `hey calendar list`, `hey event list`, `hey event day`, `hey event week`, `hey todo list`, `hey habit list`, `hey timetrack list`, `hey journal list` and `hey attachment list`. On `hey box view` they count and list its postings, not the box itself.
## Quick Reference
| Task | Command | |------|---------| | List linked mail accounts | `hey account list --json` | | Set default mail account | `hey account use <id\|all>` | | Run once for one account | `hey --account <id> box list --json` | | Review trusted local settings | `hey config trusted-locals --json` | | Trust this repository's settings | `hey config trust-local` (requires explicit user approval) | | List mailboxes | `hey box list --json` | | List emails in a box | `hey box view imbox --json` | | List labels | `hey label list --json` | | List emails with a label | `hey label view <label_id> --all --json` | | Add a label to a thread | `hey label add <id> --to <label_id>` | | Create and add a label | `hey label create "Travel receipts" <id>` | | Remove labels | `hey label remove <id> --from <label_id\|all>` | | List collections | `hey collection list --json` | | List collection threads | `hey collection view <collection_id> --all --json` | | Create a collection | `hey collection create "Kitchen remodel"` | | Update a collection | `hey collection update <collection_id> --name "Kitchen renovation"` | | Add a thread to a collection | `hey collection add <topic_id> --to <collection_id>` | | Remove a thread from a collection | `hey collection remove <topic_id> --from <collection_id>` | | List Set Aside threads with their group | `hey set-aside view --all --json` | | List Set Aside groups | `hey set-aside group list --json` | | List a group's threads | `hey set-aside group view <group_id> --json` | | Gather threads into a new group | `hey set-aside group create <id> <id>` | | File threads into a group | `hey set-aside group add <id> --to <group_id>` | | Take threads out of their group | `hey set-aside group remove <id>` | | Break a group up | `hey set-aside group delete <group_id>` | | List workflows | `hey workflow list --json` | | View workflow stages | `hey workflow view <workflow_id> --json` | | List clips | `hey clip list --json` | | List snippets | `hey snippet list --json` | | Search email | `hey search "quarterly planning" --json` | | List search filters | `hey search filters --json` | | List contacts | `hey contact list --json` | | View contact | `hey contact show <id> --json` | | Add contact | `hey contact add --name "Jane Doe" --email jane@example.com` | | Edit contact | `hey contact update <id> --name "Jane Dawson"` | | Hide contact | `hey contact hide <id>` | | Show contact again | `hey contact show-again <id>` | | Bundle a contact's mail | `hey contact bundle <id>` | | List a contact's mail separately | `hey contact unbundle <id>` | | Read private contact note | `hey contact note show <id> --json` | | Set private contact note | `hey contact note set <id> "Prefers email"` | | Delete private contact note | `hey contact note delete <id>` | | Read email thread | `hey thread read <topic_id> --json` | | Get a sharing link | `hey share <thread_id>` | | Turn off a sharing link | `hey unshare <thread_id>` | | Reply to email | `hey reply <topic_id> -m "Friday works for me."` | | Forward email | `hey forward <topic_id> --to alice@example.com -m "For your review"` | | Compose email | `hey compose --to alice@example.com --subject "Lunch plans" -m "Are you free Friday?"` | | Compose with CC/BCC | `hey compose --to alice@example.com --cc bob@example.com --bcc carol@example.org --subject "Kitchen remodel timeline"` | | List drafts | `hey draft list --json` (`--all`/`--page` follow the cursor) | | Draft an email for human review | `hey compose --to alice@example.com --subject "Lunch plans" -m "Free Friday?" --draft` | | Draft a reply for human review | `hey reply <topic_id> -m "Drafting this." --draft` | | Read a draft back | `hey draft show <draft_id> --json` | | Change a draft | `hey draft edit <draft_id> --to alice@example.com --subject "New subject"` | | Send a draft | `hey draft send <draft_id>` | | Trash drafts | `hey draft delete <draft_id>...` | | Who is waiting in The Screener | `hey screener list --json` (clearance IDs) | | Number waiting | `hey screener list --count` | | Let a sender through | `hey screener approve <clearance_id>` | | Turn a sender away | `hey screener deny <clearance_id>` | | Who was already screened | `hey screener history --json` | | Preview a bulk reply | `hey bulk-reply preview <id> <id> --json` | | Send a bulk reply | `hey bulk-reply send <id> <id> -m "Thanks for the update."` | | Recall a bulk reply | `hey bulk-reply undo <delivery_id>` | | List calendars | `hey calendar list --json` | | List calendar events | `hey event list --json` | | Today's schedule, recurrences expanded | `hey event day --json` | | Add a calendar event | `hey event add "Design review" --starts-on 2026-09-02 --start-time 14:00` | | List todos | `hey todo list --json` | | Add todo | `hey todo add "Draft the quarterly report"` | | Complete todo | `hey todo complete 123` | | Uncomplete todo | `hey todo uncomplete 123` | | Delete todo | `hey todo delete 123` | | Wait for new mail | `hey watch --box imbox --exit-on-first` | | Follow every change | `hey watch` | | Mark as seen | `hey seen 12345` | | Mark as unseen | `hey unseen 12345` | | Move email threads | `hey move 12345 --to feed` | | Remove Reply Later | `hey move 12345 --to imbox` | | Bubble a thread up now | `hey bubble up 12345 --now` | | Bubble a thread up on a date | `hey bubble up 12345 --on 2026-09-04` | | Bubble a thread up this weekend | `hey bubble up 12345 --weekend` | | List bubbled-up and scheduled threads | `hey bubble list --json` | | Cancel a bubble-up | `hey bubble pop 12345` | | Move email threads to Trash | `hey trash 12345` | | Mark email threads as spam | `hey spam 12345` | | Ignore email threads | `hey ignore 12345` | | Stop ignoring email threads | `hey stop-ignoring 12345` | | List habits | `hey habit list --json` | | Create habit | `hey habit create "Morning strength training"` | | Edit habit | `hey habit edit 123 --days mon,wed,fri` | | Delete habit | `hey habit delete 123` | | Complete habit | `hey habit complete 123` | | Uncomplete habit | `hey habit uncomplete 123` | | Start time tracking | `hey timetrack start` | | Stop time tracking | `hey timetrack stop` | | Current timer | `hey timetrack current --json` | | List time entries | `hey timetrack list --json` | | Export completed time entries | `hey timetrack export > tracked-time.csv` (`--json` etc. need `--output`) | | Save a time tracking export | `hey timetrack export --output tracked-time.csv --json` | | List time track categories | `hey timetrack categories --json` | | Create time track category | `hey timetrack category create "Client work"` | | List journal entries | `hey journal list --json` | | Read journal entry | `hey journal read 2024-03-15 --json` | | Write journal entry | `hey journal write "Shipped the pagination fix."` (empty content removes the entry) | | Check auth status | `hey auth status --json` | | Print bearer token | `hey auth token` (refuses a `--cookie` login) | | Launch TUI | `hey tui` (Ctrl+A switches linked mail accounts) |
## Decision Trees
### Reading Email
``` Want to read email? ├── Which mailbox? → hey box list --json ├── List emails in box? → hey box view <name|id> --json ├── List labels or labeled email? → hey label list --json / hey label view <label_id> --json ├── Add, create, or remove a label? → hey label add|create|remove ├── List collections or collection thread
Source provenance
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for hey, ready for a manual X post.
hey: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, coll... 343 stars https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x
Listing + install path for hey: https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x Install: npx skills add basecamp/hey-cli --skill hey
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to basecamp but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2/audit)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)basecamp
@basecamp
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
stop-slop
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
16.3K StarsHumanizer
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
37.4K Starsno-ai-slop
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
5.8K Starsunslop
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
4.8K StarsSandbox only
Install targets
Codex install prompt
Install the "hey" agent skill from https://github.com/basecamp/hey-cli/tree/main/skills/hey. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"basecamp-hey-66a522d2","task":"Install hey","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Agent fit
Claude Code + Cursor + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add basecamp/hey-cli --skill hey
Maintenance
fresh
1d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
343
72/100 Quality · 75/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
343 GitHub stars
Repo activity
343 stars, 39 forks
Maintenance
1d since push
License
MIT
Install
npx skills add basecamp/hey-cli --skill hey
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add basecamp/hey-cli --skill heyDo not use when
Alternative
16.3K Stars
npx skills add hardikpandya/stop-slop --skill stop-slop
Alternative
37.4K Stars
npx skills add blader/humanizer --skill humanizer
Alternative
5.8K Stars
npx skills add petergyang/no-ai-slop --skill no-ai-slop
Alternative
4.8K Stars
npx skills add cursor/plugins --skill unslop
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/basecamp-hey-66a522d2/install
Agent should check
Copy prompt
Task: Use hey in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install
Install command: npx skills add basecamp/hey-cli --skill hey
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/basecamp-hey-66a522d2/install
LLM text format
/api/skills/basecamp-hey-66a522d2/install?format=text
Find alternatives
/api/skills/search?q=hey&limit=3
Agent prompt
Use hey for this task. Review https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install, then install with: npx skills add basecamp/hey-cli --skill heyRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/basecamp-hey-66a522d2
LLM text
/api/registry/manifest/basecamp-hey-66a522d2?format=text
Install alias
/api/registry/install/basecamp-hey-66a522d2
Recommend
/api/registry/recommend?task=Use%20hey%20in%20an%20agent%20workflow&limit=3
Agent fit
Workflow automation
Platforms
Claude Code, Cursor
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Workflow automation
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO343 GitHub stars
Stars/forks activity
CHECK343 stars, 39 forks; issue activity unavailable in current metadata
Recent maintenance
PASS1d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Coordinate work
I need my agent to summarize email, draft replies, and prepare calendar follow-ups.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Alternative shortlist
Similar skills that may fit this task.
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
--- name: hey description: | Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. triggers: # Direct invocations - hey - /hey # Email actions - hey account - hey box - hey label - hey collection - hey set-aside - hey workflow - hey clip - hey snippet - hey search - hey contact - hey thread read - hey share - hey unshare - hey reply - hey bulk-reply - hey forward - hey compose - hey draft list - hey draft show - hey draft edit - hey draft send - hey draft delete - hey screener - screen a sender - approve a sender - deny a sender # Calendar actions - hey calendar list - hey event # Todos - hey todo # Seen/unseen - hey seen - hey unseen - hey move - hey bubble - hey trash - hey spam - hey ignore - hey stop-ignoring - move email - bubble a thread up - trash email - mark as spam - ignore email thread - stop ignoring email thread - mark as read - mark as seen - mark as unseen - mark as unread # Habits - hey habit # Time tracking - hey timetrack # Journal - hey journal # Auth - hey auth # Common actions - check my email - read email - send email - reply to email - forward email - share email thread - turn off sharing link - compose email - list mailboxes - search email - find email - list contacts - add contact - edit contact - hide contact - bundle contact mail - unbundle contact mail - contact note - check calendar - add todo - complete todo - track time - write journal # Questions - can I hey - how do I hey - what's in hey - what hey - does hey # My work - my emails - my inbox - my imbox - my todos - my calendar - my journal # URLs - hey.com invocable: true argument-hint: "[command] [args...]" ---
# /hey - HEY Email Workflow Command
CLI for HEY: mailboxes, labels, collections, email threads, contacts, replies, compose, calendars, todos, habits, time tracking, and journal entries.
## Agent Invariants
**MUST follow these rules:**
1. **Choose the right structured output** — use `--jq '<expression>'` to filter or extract fields and `--json` for the full response. Never pipe to an external `jq`; `--jq` is built in and implies `--json`. 2. **Reuse stored authentication** — run the requested data command; it uses stored credentials and refreshes expiring OAuth tokens automatically. If it returns an auth error, report the task as blocked. Use `hey auth status --json` when an explicit authentication check is needed. Never run `hey auth login` unattended; use it only for interactive recovery with the user present. 3. **HTML output** is available via `--html` for commands that return HTML content 4. **Linked mail accounts share one login** — use `hey account list --json`, then `--account <id|all>` when a task must target one account 5. **Local HEY configuration requires human trust** — never run `hey config trust-local` without the user's explicit approval
## Output Filtering
`--jq` filters the full JSON success envelope, so result data is under `.data`. String results print as plain text; objects and arrays print as formatted JSON. Use `--quiet --jq` when the expression should run against result data directly. Errors retain their complete structured envelope. Commands with dedicated raw output (`auth token`, `completion`, `skill`, `tui`, and `--version`) reject `--jq`.
```bash hey box list --jq '.data[] | {id, name}' hey search "quarterly planning" --jq '.data[].id' hey box list --quiet --jq '.[].name' ```
An empty result is an empty array rather than `null`, so `.data[]` is safe to run against a listing that found nothing.
For the two commonest shapes there is no need for an expression at all: `--ids-only` prints one ID per line and `--count` prints a bare number, both on stdout with any pagination notice on stderr. Both need list data, so they work on `hey box list`, `hey box view`, `hey label list`, `hey label view`, `hey collection list`, `hey collection view`, `hey workflow list`, `hey workflow view`, `hey clip list`, `hey snippet list`, `hey draft list`, `hey search`, `hey contact list`, `hey screener list`, `hey screener history`, `hey calendar list`, `hey event list`, `hey event day`, `hey event week`, `hey todo list`, `hey habit list`, `hey timetrack list`, `hey journal list` and `hey attachment list`. On `hey box view` they count and list its postings, not the box itself.
## Quick Reference
| Task | Command | |------|---------| | List linked mail accounts | `hey account list --json` | | Set default mail account | `hey account use <id\|all>` | | Run once for one account | `hey --account <id> box list --json` | | Review trusted local settings | `hey config trusted-locals --json` | | Trust this repository's settings | `hey config trust-local` (requires explicit user approval) | | List mailboxes | `hey box list --json` | | List emails in a box | `hey box view imbox --json` | | List labels | `hey label list --json` | | List emails with a label | `hey label view <label_id> --all --json` | | Add a label to a thread | `hey label add <id> --to <label_id>` | | Create and add a label | `hey label create "Travel receipts" <id>` | | Remove labels | `hey label remove <id> --from <label_id\|all>` | | List collections | `hey collection list --json` | | List collection threads | `hey collection view <collection_id> --all --json` | | Create a collection | `hey collection create "Kitchen remodel"` | | Update a collection | `hey collection update <collection_id> --name "Kitchen renovation"` | | Add a thread to a collection | `hey collection add <topic_id> --to <collection_id>` | | Remove a thread from a collection | `hey collection remove <topic_id> --from <collection_id>` | | List Set Aside threads with their group | `hey set-aside view --all --json` | | List Set Aside groups | `hey set-aside group list --json` | | List a group's threads | `hey set-aside group view <group_id> --json` | | Gather threads into a new group | `hey set-aside group create <id> <id>` | | File threads into a group | `hey set-aside group add <id> --to <group_id>` | | Take threads out of their group | `hey set-aside group remove <id>` | | Break a group up | `hey set-aside group delete <group_id>` | | List workflows | `hey workflow list --json` | | View workflow stages | `hey workflow view <workflow_id> --json` | | List clips | `hey clip list --json` | | List snippets | `hey snippet list --json` | | Search email | `hey search "quarterly planning" --json` | | List search filters | `hey search filters --json` | | List contacts | `hey contact list --json` | | View contact | `hey contact show <id> --json` | | Add contact | `hey contact add --name "Jane Doe" --email jane@example.com` | | Edit contact | `hey contact update <id> --name "Jane Dawson"` | | Hide contact | `hey contact hide <id>` | | Show contact again | `hey contact show-again <id>` | | Bundle a contact's mail | `hey contact bundle <id>` | | List a contact's mail separately | `hey contact unbundle <id>` | | Read private contact note | `hey contact note show <id> --json` | | Set private contact note | `hey contact note set <id> "Prefers email"` | | Delete private contact note | `hey contact note delete <id>` | | Read email thread | `hey thread read <topic_id> --json` | | Get a sharing link | `hey share <thread_id>` | | Turn off a sharing link | `hey unshare <thread_id>` | | Reply to email | `hey reply <topic_id> -m "Friday works for me."` | | Forward email | `hey forward <topic_id> --to alice@example.com -m "For your review"` | | Compose email | `hey compose --to alice@example.com --subject "Lunch plans" -m "Are you free Friday?"` | | Compose with CC/BCC | `hey compose --to alice@example.com --cc bob@example.com --bcc carol@example.org --subject "Kitchen remodel timeline"` | | List drafts | `hey draft list --json` (`--all`/`--page` follow the cursor) | | Draft an email for human review | `hey compose --to alice@example.com --subject "Lunch plans" -m "Free Friday?" --draft` | | Draft a reply for human review | `hey reply <topic_id> -m "Drafting this." --draft` | | Read a draft back | `hey draft show <draft_id> --json` | | Change a draft | `hey draft edit <draft_id> --to alice@example.com --subject "New subject"` | | Send a draft | `hey draft send <draft_id>` | | Trash drafts | `hey draft delete <draft_id>...` | | Who is waiting in The Screener | `hey screener list --json` (clearance IDs) | | Number waiting | `hey screener list --count` | | Let a sender through | `hey screener approve <clearance_id>` | | Turn a sender away | `hey screener deny <clearance_id>` | | Who was already screened | `hey screener history --json` | | Preview a bulk reply | `hey bulk-reply preview <id> <id> --json` | | Send a bulk reply | `hey bulk-reply send <id> <id> -m "Thanks for the update."` | | Recall a bulk reply | `hey bulk-reply undo <delivery_id>` | | List calendars | `hey calendar list --json` | | List calendar events | `hey event list --json` | | Today's schedule, recurrences expanded | `hey event day --json` | | Add a calendar event | `hey event add "Design review" --starts-on 2026-09-02 --start-time 14:00` | | List todos | `hey todo list --json` | | Add todo | `hey todo add "Draft the quarterly report"` | | Complete todo | `hey todo complete 123` | | Uncomplete todo | `hey todo uncomplete 123` | | Delete todo | `hey todo delete 123` | | Wait for new mail | `hey watch --box imbox --exit-on-first` | | Follow every change | `hey watch` | | Mark as seen | `hey seen 12345` | | Mark as unseen | `hey unseen 12345` | | Move email threads | `hey move 12345 --to feed` | | Remove Reply Later | `hey move 12345 --to imbox` | | Bubble a thread up now | `hey bubble up 12345 --now` | | Bubble a thread up on a date | `hey bubble up 12345 --on 2026-09-04` | | Bubble a thread up this weekend | `hey bubble up 12345 --weekend` | | List bubbled-up and scheduled threads | `hey bubble list --json` | | Cancel a bubble-up | `hey bubble pop 12345` | | Move email threads to Trash | `hey trash 12345` | | Mark email threads as spam | `hey spam 12345` | | Ignore email threads | `hey ignore 12345` | | Stop ignoring email threads | `hey stop-ignoring 12345` | | List habits | `hey habit list --json` | | Create habit | `hey habit create "Morning strength training"` | | Edit habit | `hey habit edit 123 --days mon,wed,fri` | | Delete habit | `hey habit delete 123` | | Complete habit | `hey habit complete 123` | | Uncomplete habit | `hey habit uncomplete 123` | | Start time tracking | `hey timetrack start` | | Stop time tracking | `hey timetrack stop` | | Current timer | `hey timetrack current --json` | | List time entries | `hey timetrack list --json` | | Export completed time entries | `hey timetrack export > tracked-time.csv` (`--json` etc. need `--output`) | | Save a time tracking export | `hey timetrack export --output tracked-time.csv --json` | | List time track categories | `hey timetrack categories --json` | | Create time track category | `hey timetrack category create "Client work"` | | List journal entries | `hey journal list --json` | | Read journal entry | `hey journal read 2024-03-15 --json` | | Write journal entry | `hey journal write "Shipped the pagination fix."` (empty content removes the entry) | | Check auth status | `hey auth status --json` | | Print bearer token | `hey auth token` (refuses a `--cookie` login) | | Launch TUI | `hey tui` (Ctrl+A switches linked mail accounts) |
## Decision Trees
### Reading Email
``` Want to read email? ├── Which mailbox? → hey box list --json ├── List emails in box? → hey box view <name|id> --json ├── List labels or labeled email? → hey label list --json / hey label view <label_id> --json ├── Add, create, or remove a label? → hey label add|create|remove ├── List collections or collection thread
Source provenance
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for hey, ready for a manual X post.
hey: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, coll... 343 stars https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x
Listing + install path for hey: https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x Install: npx skills add basecamp/hey-cli --skill hey
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to basecamp but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2/audit)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)basecamp
@basecamp
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
stop-slop
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
16.3K StarsHumanizer
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
37.4K Starsno-ai-slop
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
5.8K Starsunslop
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
4.8K StarsSandbox only
Install targets
Codex install prompt
Install the "hey" agent skill from https://github.com/basecamp/hey-cli/tree/main/skills/hey. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"basecamp-hey-66a522d2","task":"Install hey","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Agent fit
Claude Code + Cursor + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add basecamp/hey-cli --skill hey
Maintenance
fresh
1d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
343
72/100 Quality · 75/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
343 GitHub stars
Repo activity
343 stars, 39 forks
Maintenance
1d since push
License
MIT
Install
npx skills add basecamp/hey-cli --skill hey
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add basecamp/hey-cli --skill heyDo not use when
Alternative
16.3K Stars
npx skills add hardikpandya/stop-slop --skill stop-slop
Alternative
37.4K Stars
npx skills add blader/humanizer --skill humanizer
Alternative
5.8K Stars
npx skills add petergyang/no-ai-slop --skill no-ai-slop
Alternative
4.8K Stars
npx skills add cursor/plugins --skill unslop
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/basecamp-hey-66a522d2/install
Agent should check
Copy prompt
Task: Use hey in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install
Install command: npx skills add basecamp/hey-cli --skill hey
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/basecamp-hey-66a522d2/install
LLM text format
/api/skills/basecamp-hey-66a522d2/install?format=text
Find alternatives
/api/skills/search?q=hey&limit=3
Agent prompt
Use hey for this task. Review https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install, then install with: npx skills add basecamp/hey-cli --skill heyRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/basecamp-hey-66a522d2
LLM text
/api/registry/manifest/basecamp-hey-66a522d2?format=text
Install alias
/api/registry/install/basecamp-hey-66a522d2
Recommend
/api/registry/recommend?task=Use%20hey%20in%20an%20agent%20workflow&limit=3
Agent fit
Workflow automation
Platforms
Claude Code, Cursor
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Workflow automation
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO343 GitHub stars
Stars/forks activity
CHECK343 stars, 39 forks; issue activity unavailable in current metadata
Recent maintenance
PASS1d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Coordinate work
I need my agent to summarize email, draft replies, and prepare calendar follow-ups.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Alternative shortlist
Similar skills that may fit this task.
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
--- name: hey description: | Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. triggers: # Direct invocations - hey - /hey # Email actions - hey account - hey box - hey label - hey collection - hey set-aside - hey workflow - hey clip - hey snippet - hey search - hey contact - hey thread read - hey share - hey unshare - hey reply - hey bulk-reply - hey forward - hey compose - hey draft list - hey draft show - hey draft edit - hey draft send - hey draft delete - hey screener - screen a sender - approve a sender - deny a sender # Calendar actions - hey calendar list - hey event # Todos - hey todo # Seen/unseen - hey seen - hey unseen - hey move - hey bubble - hey trash - hey spam - hey ignore - hey stop-ignoring - move email - bubble a thread up - trash email - mark as spam - ignore email thread - stop ignoring email thread - mark as read - mark as seen - mark as unseen - mark as unread # Habits - hey habit # Time tracking - hey timetrack # Journal - hey journal # Auth - hey auth # Common actions - check my email - read email - send email - reply to email - forward email - share email thread - turn off sharing link - compose email - list mailboxes - search email - find email - list contacts - add contact - edit contact - hide contact - bundle contact mail - unbundle contact mail - contact note - check calendar - add todo - complete todo - track time - write journal # Questions - can I hey - how do I hey - what's in hey - what hey - does hey # My work - my emails - my inbox - my imbox - my todos - my calendar - my journal # URLs - hey.com invocable: true argument-hint: "[command] [args...]" ---
# /hey - HEY Email Workflow Command
CLI for HEY: mailboxes, labels, collections, email threads, contacts, replies, compose, calendars, todos, habits, time tracking, and journal entries.
## Agent Invariants
**MUST follow these rules:**
1. **Choose the right structured output** — use `--jq '<expression>'` to filter or extract fields and `--json` for the full response. Never pipe to an external `jq`; `--jq` is built in and implies `--json`. 2. **Reuse stored authentication** — run the requested data command; it uses stored credentials and refreshes expiring OAuth tokens automatically. If it returns an auth error, report the task as blocked. Use `hey auth status --json` when an explicit authentication check is needed. Never run `hey auth login` unattended; use it only for interactive recovery with the user present. 3. **HTML output** is available via `--html` for commands that return HTML content 4. **Linked mail accounts share one login** — use `hey account list --json`, then `--account <id|all>` when a task must target one account 5. **Local HEY configuration requires human trust** — never run `hey config trust-local` without the user's explicit approval
## Output Filtering
`--jq` filters the full JSON success envelope, so result data is under `.data`. String results print as plain text; objects and arrays print as formatted JSON. Use `--quiet --jq` when the expression should run against result data directly. Errors retain their complete structured envelope. Commands with dedicated raw output (`auth token`, `completion`, `skill`, `tui`, and `--version`) reject `--jq`.
```bash hey box list --jq '.data[] | {id, name}' hey search "quarterly planning" --jq '.data[].id' hey box list --quiet --jq '.[].name' ```
An empty result is an empty array rather than `null`, so `.data[]` is safe to run against a listing that found nothing.
For the two commonest shapes there is no need for an expression at all: `--ids-only` prints one ID per line and `--count` prints a bare number, both on stdout with any pagination notice on stderr. Both need list data, so they work on `hey box list`, `hey box view`, `hey label list`, `hey label view`, `hey collection list`, `hey collection view`, `hey workflow list`, `hey workflow view`, `hey clip list`, `hey snippet list`, `hey draft list`, `hey search`, `hey contact list`, `hey screener list`, `hey screener history`, `hey calendar list`, `hey event list`, `hey event day`, `hey event week`, `hey todo list`, `hey habit list`, `hey timetrack list`, `hey journal list` and `hey attachment list`. On `hey box view` they count and list its postings, not the box itself.
## Quick Reference
| Task | Command | |------|---------| | List linked mail accounts | `hey account list --json` | | Set default mail account | `hey account use <id\|all>` | | Run once for one account | `hey --account <id> box list --json` | | Review trusted local settings | `hey config trusted-locals --json` | | Trust this repository's settings | `hey config trust-local` (requires explicit user approval) | | List mailboxes | `hey box list --json` | | List emails in a box | `hey box view imbox --json` | | List labels | `hey label list --json` | | List emails with a label | `hey label view <label_id> --all --json` | | Add a label to a thread | `hey label add <id> --to <label_id>` | | Create and add a label | `hey label create "Travel receipts" <id>` | | Remove labels | `hey label remove <id> --from <label_id\|all>` | | List collections | `hey collection list --json` | | List collection threads | `hey collection view <collection_id> --all --json` | | Create a collection | `hey collection create "Kitchen remodel"` | | Update a collection | `hey collection update <collection_id> --name "Kitchen renovation"` | | Add a thread to a collection | `hey collection add <topic_id> --to <collection_id>` | | Remove a thread from a collection | `hey collection remove <topic_id> --from <collection_id>` | | List Set Aside threads with their group | `hey set-aside view --all --json` | | List Set Aside groups | `hey set-aside group list --json` | | List a group's threads | `hey set-aside group view <group_id> --json` | | Gather threads into a new group | `hey set-aside group create <id> <id>` | | File threads into a group | `hey set-aside group add <id> --to <group_id>` | | Take threads out of their group | `hey set-aside group remove <id>` | | Break a group up | `hey set-aside group delete <group_id>` | | List workflows | `hey workflow list --json` | | View workflow stages | `hey workflow view <workflow_id> --json` | | List clips | `hey clip list --json` | | List snippets | `hey snippet list --json` | | Search email | `hey search "quarterly planning" --json` | | List search filters | `hey search filters --json` | | List contacts | `hey contact list --json` | | View contact | `hey contact show <id> --json` | | Add contact | `hey contact add --name "Jane Doe" --email jane@example.com` | | Edit contact | `hey contact update <id> --name "Jane Dawson"` | | Hide contact | `hey contact hide <id>` | | Show contact again | `hey contact show-again <id>` | | Bundle a contact's mail | `hey contact bundle <id>` | | List a contact's mail separately | `hey contact unbundle <id>` | | Read private contact note | `hey contact note show <id> --json` | | Set private contact note | `hey contact note set <id> "Prefers email"` | | Delete private contact note | `hey contact note delete <id>` | | Read email thread | `hey thread read <topic_id> --json` | | Get a sharing link | `hey share <thread_id>` | | Turn off a sharing link | `hey unshare <thread_id>` | | Reply to email | `hey reply <topic_id> -m "Friday works for me."` | | Forward email | `hey forward <topic_id> --to alice@example.com -m "For your review"` | | Compose email | `hey compose --to alice@example.com --subject "Lunch plans" -m "Are you free Friday?"` | | Compose with CC/BCC | `hey compose --to alice@example.com --cc bob@example.com --bcc carol@example.org --subject "Kitchen remodel timeline"` | | List drafts | `hey draft list --json` (`--all`/`--page` follow the cursor) | | Draft an email for human review | `hey compose --to alice@example.com --subject "Lunch plans" -m "Free Friday?" --draft` | | Draft a reply for human review | `hey reply <topic_id> -m "Drafting this." --draft` | | Read a draft back | `hey draft show <draft_id> --json` | | Change a draft | `hey draft edit <draft_id> --to alice@example.com --subject "New subject"` | | Send a draft | `hey draft send <draft_id>` | | Trash drafts | `hey draft delete <draft_id>...` | | Who is waiting in The Screener | `hey screener list --json` (clearance IDs) | | Number waiting | `hey screener list --count` | | Let a sender through | `hey screener approve <clearance_id>` | | Turn a sender away | `hey screener deny <clearance_id>` | | Who was already screened | `hey screener history --json` | | Preview a bulk reply | `hey bulk-reply preview <id> <id> --json` | | Send a bulk reply | `hey bulk-reply send <id> <id> -m "Thanks for the update."` | | Recall a bulk reply | `hey bulk-reply undo <delivery_id>` | | List calendars | `hey calendar list --json` | | List calendar events | `hey event list --json` | | Today's schedule, recurrences expanded | `hey event day --json` | | Add a calendar event | `hey event add "Design review" --starts-on 2026-09-02 --start-time 14:00` | | List todos | `hey todo list --json` | | Add todo | `hey todo add "Draft the quarterly report"` | | Complete todo | `hey todo complete 123` | | Uncomplete todo | `hey todo uncomplete 123` | | Delete todo | `hey todo delete 123` | | Wait for new mail | `hey watch --box imbox --exit-on-first` | | Follow every change | `hey watch` | | Mark as seen | `hey seen 12345` | | Mark as unseen | `hey unseen 12345` | | Move email threads | `hey move 12345 --to feed` | | Remove Reply Later | `hey move 12345 --to imbox` | | Bubble a thread up now | `hey bubble up 12345 --now` | | Bubble a thread up on a date | `hey bubble up 12345 --on 2026-09-04` | | Bubble a thread up this weekend | `hey bubble up 12345 --weekend` | | List bubbled-up and scheduled threads | `hey bubble list --json` | | Cancel a bubble-up | `hey bubble pop 12345` | | Move email threads to Trash | `hey trash 12345` | | Mark email threads as spam | `hey spam 12345` | | Ignore email threads | `hey ignore 12345` | | Stop ignoring email threads | `hey stop-ignoring 12345` | | List habits | `hey habit list --json` | | Create habit | `hey habit create "Morning strength training"` | | Edit habit | `hey habit edit 123 --days mon,wed,fri` | | Delete habit | `hey habit delete 123` | | Complete habit | `hey habit complete 123` | | Uncomplete habit | `hey habit uncomplete 123` | | Start time tracking | `hey timetrack start` | | Stop time tracking | `hey timetrack stop` | | Current timer | `hey timetrack current --json` | | List time entries | `hey timetrack list --json` | | Export completed time entries | `hey timetrack export > tracked-time.csv` (`--json` etc. need `--output`) | | Save a time tracking export | `hey timetrack export --output tracked-time.csv --json` | | List time track categories | `hey timetrack categories --json` | | Create time track category | `hey timetrack category create "Client work"` | | List journal entries | `hey journal list --json` | | Read journal entry | `hey journal read 2024-03-15 --json` | | Write journal entry | `hey journal write "Shipped the pagination fix."` (empty content removes the entry) | | Check auth status | `hey auth status --json` | | Print bearer token | `hey auth token` (refuses a `--cookie` login) | | Launch TUI | `hey tui` (Ctrl+A switches linked mail accounts) |
## Decision Trees
### Reading Email
``` Want to read email? ├── Which mailbox? → hey box list --json ├── List emails in box? → hey box view <name|id> --json ├── List labels or labeled email? → hey label list --json / hey label view <label_id> --json ├── Add, create, or remove a label? → hey label add|create|remove ├── List collections or collection thread
Source provenance
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for hey, ready for a manual X post.
hey: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, coll... 343 stars https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x
Listing + install path for hey: https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x Install: npx skills add basecamp/hey-cli --skill hey
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to basecamp but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2/audit)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)basecamp
@basecamp
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
stop-slop
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
16.3K StarsHumanizer
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
37.4K Starsno-ai-slop
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
5.8K Starsunslop
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
4.8K StarsSandbox only
Install targets
Codex install prompt
Install the "hey" agent skill from https://github.com/basecamp/hey-cli/tree/main/skills/hey. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"basecamp-hey-66a522d2","task":"Install hey","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Agent fit
Claude Code + Cursor + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add basecamp/hey-cli --skill hey
Maintenance
fresh
1d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
343
72/100 Quality · 75/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
343 GitHub stars
Repo activity
343 stars, 39 forks
Maintenance
1d since push
License
MIT
Install
npx skills add basecamp/hey-cli --skill hey
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add basecamp/hey-cli --skill heyDo not use when
Alternative
16.3K Stars
npx skills add hardikpandya/stop-slop --skill stop-slop
Alternative
37.4K Stars
npx skills add blader/humanizer --skill humanizer
Alternative
5.8K Stars
npx skills add petergyang/no-ai-slop --skill no-ai-slop
Alternative
4.8K Stars
npx skills add cursor/plugins --skill unslop
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/basecamp-hey-66a522d2/install
Agent should check
Copy prompt
Task: Use hey in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20hey%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install
Install command: npx skills add basecamp/hey-cli --skill hey
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/basecamp-hey-66a522d2/install
LLM text format
/api/skills/basecamp-hey-66a522d2/install?format=text
Find alternatives
/api/skills/search?q=hey&limit=3
Agent prompt
Use hey for this task. Review https://www.openagentskill.com/api/skills/basecamp-hey-66a522d2/install, then install with: npx skills add basecamp/hey-cli --skill heyRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/basecamp-hey-66a522d2
LLM text
/api/registry/manifest/basecamp-hey-66a522d2?format=text
Install alias
/api/registry/install/basecamp-hey-66a522d2
Recommend
/api/registry/recommend?task=Use%20hey%20in%20an%20agent%20workflow&limit=3
Agent fit
Workflow automation
Platforms
Claude Code, Cursor
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Workflow automation
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO343 GitHub stars
Stars/forks activity
CHECK343 stars, 39 forks; issue activity unavailable in current metadata
Recent maintenance
PASS1d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Coordinate work
I need my agent to summarize email, draft replies, and prepare calendar follow-ups.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Alternative shortlist
Similar skills that may fit this task.
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
--- name: hey description: | Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, collections, calendars, todos, habits, time tracking, and journal entries. Use for ANY HEY-related question or action. triggers: # Direct invocations - hey - /hey # Email actions - hey account - hey box - hey label - hey collection - hey set-aside - hey workflow - hey clip - hey snippet - hey search - hey contact - hey thread read - hey share - hey unshare - hey reply - hey bulk-reply - hey forward - hey compose - hey draft list - hey draft show - hey draft edit - hey draft send - hey draft delete - hey screener - screen a sender - approve a sender - deny a sender # Calendar actions - hey calendar list - hey event # Todos - hey todo # Seen/unseen - hey seen - hey unseen - hey move - hey bubble - hey trash - hey spam - hey ignore - hey stop-ignoring - move email - bubble a thread up - trash email - mark as spam - ignore email thread - stop ignoring email thread - mark as read - mark as seen - mark as unseen - mark as unread # Habits - hey habit # Time tracking - hey timetrack # Journal - hey journal # Auth - hey auth # Common actions - check my email - read email - send email - reply to email - forward email - share email thread - turn off sharing link - compose email - list mailboxes - search email - find email - list contacts - add contact - edit contact - hide contact - bundle contact mail - unbundle contact mail - contact note - check calendar - add todo - complete todo - track time - write journal # Questions - can I hey - how do I hey - what's in hey - what hey - does hey # My work - my emails - my inbox - my imbox - my todos - my calendar - my journal # URLs - hey.com invocable: true argument-hint: "[command] [args...]" ---
# /hey - HEY Email Workflow Command
CLI for HEY: mailboxes, labels, collections, email threads, contacts, replies, compose, calendars, todos, habits, time tracking, and journal entries.
## Agent Invariants
**MUST follow these rules:**
1. **Choose the right structured output** — use `--jq '<expression>'` to filter or extract fields and `--json` for the full response. Never pipe to an external `jq`; `--jq` is built in and implies `--json`. 2. **Reuse stored authentication** — run the requested data command; it uses stored credentials and refreshes expiring OAuth tokens automatically. If it returns an auth error, report the task as blocked. Use `hey auth status --json` when an explicit authentication check is needed. Never run `hey auth login` unattended; use it only for interactive recovery with the user present. 3. **HTML output** is available via `--html` for commands that return HTML content 4. **Linked mail accounts share one login** — use `hey account list --json`, then `--account <id|all>` when a task must target one account 5. **Local HEY configuration requires human trust** — never run `hey config trust-local` without the user's explicit approval
## Output Filtering
`--jq` filters the full JSON success envelope, so result data is under `.data`. String results print as plain text; objects and arrays print as formatted JSON. Use `--quiet --jq` when the expression should run against result data directly. Errors retain their complete structured envelope. Commands with dedicated raw output (`auth token`, `completion`, `skill`, `tui`, and `--version`) reject `--jq`.
```bash hey box list --jq '.data[] | {id, name}' hey search "quarterly planning" --jq '.data[].id' hey box list --quiet --jq '.[].name' ```
An empty result is an empty array rather than `null`, so `.data[]` is safe to run against a listing that found nothing.
For the two commonest shapes there is no need for an expression at all: `--ids-only` prints one ID per line and `--count` prints a bare number, both on stdout with any pagination notice on stderr. Both need list data, so they work on `hey box list`, `hey box view`, `hey label list`, `hey label view`, `hey collection list`, `hey collection view`, `hey workflow list`, `hey workflow view`, `hey clip list`, `hey snippet list`, `hey draft list`, `hey search`, `hey contact list`, `hey screener list`, `hey screener history`, `hey calendar list`, `hey event list`, `hey event day`, `hey event week`, `hey todo list`, `hey habit list`, `hey timetrack list`, `hey journal list` and `hey attachment list`. On `hey box view` they count and list its postings, not the box itself.
## Quick Reference
| Task | Command | |------|---------| | List linked mail accounts | `hey account list --json` | | Set default mail account | `hey account use <id\|all>` | | Run once for one account | `hey --account <id> box list --json` | | Review trusted local settings | `hey config trusted-locals --json` | | Trust this repository's settings | `hey config trust-local` (requires explicit user approval) | | List mailboxes | `hey box list --json` | | List emails in a box | `hey box view imbox --json` | | List labels | `hey label list --json` | | List emails with a label | `hey label view <label_id> --all --json` | | Add a label to a thread | `hey label add <id> --to <label_id>` | | Create and add a label | `hey label create "Travel receipts" <id>` | | Remove labels | `hey label remove <id> --from <label_id\|all>` | | List collections | `hey collection list --json` | | List collection threads | `hey collection view <collection_id> --all --json` | | Create a collection | `hey collection create "Kitchen remodel"` | | Update a collection | `hey collection update <collection_id> --name "Kitchen renovation"` | | Add a thread to a collection | `hey collection add <topic_id> --to <collection_id>` | | Remove a thread from a collection | `hey collection remove <topic_id> --from <collection_id>` | | List Set Aside threads with their group | `hey set-aside view --all --json` | | List Set Aside groups | `hey set-aside group list --json` | | List a group's threads | `hey set-aside group view <group_id> --json` | | Gather threads into a new group | `hey set-aside group create <id> <id>` | | File threads into a group | `hey set-aside group add <id> --to <group_id>` | | Take threads out of their group | `hey set-aside group remove <id>` | | Break a group up | `hey set-aside group delete <group_id>` | | List workflows | `hey workflow list --json` | | View workflow stages | `hey workflow view <workflow_id> --json` | | List clips | `hey clip list --json` | | List snippets | `hey snippet list --json` | | Search email | `hey search "quarterly planning" --json` | | List search filters | `hey search filters --json` | | List contacts | `hey contact list --json` | | View contact | `hey contact show <id> --json` | | Add contact | `hey contact add --name "Jane Doe" --email jane@example.com` | | Edit contact | `hey contact update <id> --name "Jane Dawson"` | | Hide contact | `hey contact hide <id>` | | Show contact again | `hey contact show-again <id>` | | Bundle a contact's mail | `hey contact bundle <id>` | | List a contact's mail separately | `hey contact unbundle <id>` | | Read private contact note | `hey contact note show <id> --json` | | Set private contact note | `hey contact note set <id> "Prefers email"` | | Delete private contact note | `hey contact note delete <id>` | | Read email thread | `hey thread read <topic_id> --json` | | Get a sharing link | `hey share <thread_id>` | | Turn off a sharing link | `hey unshare <thread_id>` | | Reply to email | `hey reply <topic_id> -m "Friday works for me."` | | Forward email | `hey forward <topic_id> --to alice@example.com -m "For your review"` | | Compose email | `hey compose --to alice@example.com --subject "Lunch plans" -m "Are you free Friday?"` | | Compose with CC/BCC | `hey compose --to alice@example.com --cc bob@example.com --bcc carol@example.org --subject "Kitchen remodel timeline"` | | List drafts | `hey draft list --json` (`--all`/`--page` follow the cursor) | | Draft an email for human review | `hey compose --to alice@example.com --subject "Lunch plans" -m "Free Friday?" --draft` | | Draft a reply for human review | `hey reply <topic_id> -m "Drafting this." --draft` | | Read a draft back | `hey draft show <draft_id> --json` | | Change a draft | `hey draft edit <draft_id> --to alice@example.com --subject "New subject"` | | Send a draft | `hey draft send <draft_id>` | | Trash drafts | `hey draft delete <draft_id>...` | | Who is waiting in The Screener | `hey screener list --json` (clearance IDs) | | Number waiting | `hey screener list --count` | | Let a sender through | `hey screener approve <clearance_id>` | | Turn a sender away | `hey screener deny <clearance_id>` | | Who was already screened | `hey screener history --json` | | Preview a bulk reply | `hey bulk-reply preview <id> <id> --json` | | Send a bulk reply | `hey bulk-reply send <id> <id> -m "Thanks for the update."` | | Recall a bulk reply | `hey bulk-reply undo <delivery_id>` | | List calendars | `hey calendar list --json` | | List calendar events | `hey event list --json` | | Today's schedule, recurrences expanded | `hey event day --json` | | Add a calendar event | `hey event add "Design review" --starts-on 2026-09-02 --start-time 14:00` | | List todos | `hey todo list --json` | | Add todo | `hey todo add "Draft the quarterly report"` | | Complete todo | `hey todo complete 123` | | Uncomplete todo | `hey todo uncomplete 123` | | Delete todo | `hey todo delete 123` | | Wait for new mail | `hey watch --box imbox --exit-on-first` | | Follow every change | `hey watch` | | Mark as seen | `hey seen 12345` | | Mark as unseen | `hey unseen 12345` | | Move email threads | `hey move 12345 --to feed` | | Remove Reply Later | `hey move 12345 --to imbox` | | Bubble a thread up now | `hey bubble up 12345 --now` | | Bubble a thread up on a date | `hey bubble up 12345 --on 2026-09-04` | | Bubble a thread up this weekend | `hey bubble up 12345 --weekend` | | List bubbled-up and scheduled threads | `hey bubble list --json` | | Cancel a bubble-up | `hey bubble pop 12345` | | Move email threads to Trash | `hey trash 12345` | | Mark email threads as spam | `hey spam 12345` | | Ignore email threads | `hey ignore 12345` | | Stop ignoring email threads | `hey stop-ignoring 12345` | | List habits | `hey habit list --json` | | Create habit | `hey habit create "Morning strength training"` | | Edit habit | `hey habit edit 123 --days mon,wed,fri` | | Delete habit | `hey habit delete 123` | | Complete habit | `hey habit complete 123` | | Uncomplete habit | `hey habit uncomplete 123` | | Start time tracking | `hey timetrack start` | | Stop time tracking | `hey timetrack stop` | | Current timer | `hey timetrack current --json` | | List time entries | `hey timetrack list --json` | | Export completed time entries | `hey timetrack export > tracked-time.csv` (`--json` etc. need `--output`) | | Save a time tracking export | `hey timetrack export --output tracked-time.csv --json` | | List time track categories | `hey timetrack categories --json` | | Create time track category | `hey timetrack category create "Client work"` | | List journal entries | `hey journal list --json` | | Read journal entry | `hey journal read 2024-03-15 --json` | | Write journal entry | `hey journal write "Shipped the pagination fix."` (empty content removes the entry) | | Check auth status | `hey auth status --json` | | Print bearer token | `hey auth token` (refuses a `--cookie` login) | | Launch TUI | `hey tui` (Ctrl+A switches linked mail accounts) |
## Decision Trees
### Reading Email
``` Want to read email? ├── Which mailbox? → hey box list --json ├── List emails in box? → hey box view <name|id> --json ├── List labels or labeled email? → hey label list --json / hey label view <label_id> --json ├── Add, create, or remove a label? → hey label add|create|remove ├── List collections or collection thread
Source provenance
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for hey, ready for a manual X post.
hey: Interact with HEY via the HEY CLI. Read and send emails, manage contacts, boxes, labels, coll... 343 stars https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x
Listing + install path for hey: https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=x Install: npx skills add basecamp/hey-cli --skill hey
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to basecamp but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2/audit)
[](https://www.openagentskill.com/skills/basecamp-hey-66a522d2?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)basecamp
@basecamp
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
stop-slop
Eliminates predictable AI writing patterns from prose while preserving specific meaning and reader trust.
16.3K StarsHumanizer
Rewrites AI-sounding text so it reads naturally while preserving every factual claim and matching the writer's voice.
37.4K Starsno-ai-slop
Audits or minimally edits drafts to remove named AI-writing patterns without flattening the author's voice.
5.8K Starsunslop
Applies Cursor's prose-discipline rules to remove filler and AI writing tells from agent-facing and user-facing text.
4.8K StarsPermission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness