Docs
Agents and skills
EarShots does not run inside these agents and does not need their keys. Your agent signs in to EarShots the same way the CLI does, reads what it is allowed to read, and leaves drafts for a person to approve.
What connects where
- 1
The tools come from EarShots
The EarShots MCP server (or the earshots CLI) is the connection. It exposes read tools, reports, and one write: saving a reply draft. An agent that never connects has no EarShots tools. - 2
A skill is instructions, not a connection
A skill is a text file: SKILL.md for Claude, AGENTS.md blocks for Codex, a private skill for Grok Bot. It tells the agent when and how to use tools it already has. Installing a skill alone connects nothing. - 3
Schedules live in the agent
Grok Bot runs a routine on its computer. Claude and Codex run when you work with them. EarShots never calls you; the agent checks in and pings you in its own app.
Which one to use
Grok Bot
A named teammate on a cloud computer with a terminal, reachable from your phone. Best for alerts: a routine checks EarShots on a schedule and messages you when a buying signal or a friction post lands.
Claude
Connects to MCP servers and loads SKILL.md folders. Add the EarShots MCP server, drop in a pack, and Claude triages the queue, files tickets, and drafts replies for review.
Codex
Add the EarShots MCP server with codex mcp add earshots --url https://earshots.dev/mcp, then paste an AGENTS.md block so Codex knows when to use it. It can also run the earshots CLI from its shell. Best when the queue should live next to the code.
Grok Bot: alerts on your phone
Grok Bot connects to apps through its Marketplace, so it reaches EarShots through the CLI on its computer. Alerts arrive as notifications in the Grok Bot app on your phone and desktop. EarShots does not send texts.
- 1
Install the CLI on the Bot's computer
npx @earshotsdev/cli login - 2
Approve the sign in
The sign in page opens in the Bot's browser. Approve it once. The session stays on the Bot's computer and refreshes itself. - 3
Save the routine
Message the Bot the routine below and ask it to save it as a skill that runs every hour.
Every hour:
1. Run: earshots alerts --since 1h --json
2. If "alerts" is empty, stay quiet.
3. Otherwise message me one line per alert with its review link.
Buying signals first, then friction.
4. If I ask for a reply, read the post with: earshots show <id>
then save a draft with: earshots draft <id> --body "..."
Tell me it is saved for review in EarShots. Do not post it anywhere.
5. Never open the original post to reply, comment, or message the author.Prepackaged Grok Bot skills. Paste each one into a Bot conversation; the Bot saves it to your private skills.
EarShots alertsearshots-alertsHourly routine. Messages you when a buying signal, friction post, or urgent post lands.
Save this as a skill called "EarShots alerts".
When to use: on a routine every hour, or when I ask "anything new on EarShots?".
Needs: the earshots CLI signed in on this computer (npx @earshotsdev/cli login).
Steps:
1. Run: earshots alerts --since 1h --json
2. If "alerts" is empty, send nothing.
3. Otherwise send me one line per alert, buying signals first, then friction.
Each line: the summary, then the review_url.
4. Stop at 5 lines and say how many more are waiting.
Check: every line has a review link that starts with https://earshots.dev/mention/.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.EarShots weekly reportearshots-weekly-reportMondays. Sends the Voice of the Customer report with sentiment, tracks, and topics.
Save this as a skill called "EarShots weekly report".
When to use: every Monday at 8:00, or when I ask for the report.
Needs: the earshots CLI signed in.
Steps:
1. Run: earshots report --days 7 --json
2. Send me: the sentiment score and its change, the count per track with the change, the top three topics.
3. Under each track with posts, list up to two posts with their review_url.
4. Keep it under 15 lines.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.EarShots launch watchearshots-launch-watchDaily during a release window. Tallies praise, complaints, demands, and questions.
Save this as a skill called "EarShots launch watch".
When to use: every day at 9:00 while a release is being watched, or when I ask how a launch is landing.
Needs: the earshots CLI signed in. Growth or Enterprise plan.
Steps:
1. Run: earshots launch --json
2. For each release still in its watch window, report the tally: praise, complaints, new demands, questions.
3. Quote the single most useful complaint with its link.
4. If nothing changed since yesterday, send one line saying so.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.EarShots draft for reviewearshots-draft-for-reviewOn request. Writes a reply draft into the EarShots queue for a person to approve.
Save this as a skill called "EarShots draft for review".
When to use: when I say "draft a reply to <id>" after an alert.
Needs: the earshots CLI signed in.
Steps:
1. Read the post: earshots show <id> --json
2. If the post has a no reply reason (for example someone else's GitHub repo), stop and tell me why.
3. Ask Ears for a grounded draft: earshots reply <id> --json
(add --body "shorter" or another steer if I gave one)
4. Show me the draft and what it is grounded in.
5. Tell me it is saved for review in EarShots, with the review link.
Approval: always. The draft is never sent by you.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.Claude
- 1
claude.ai and Claude Desktop
Settings, Connectors, Add custom connector, then paste https://earshots.dev/mcp and approve the sign in. - 2
Claude Code
claude mcp add --transport http earshots https://earshots.dev/mcp - 3
Add the skills
In Claude Code, save each skill as .claude/skills/<id>/SKILL.md in your repo. Claude picks it up the next time it works there.
EarShots ticket triageearshots-ticket-triageTurn friction posts into Linear or Jira tickets.
---
name: earshots-ticket-triage
description: Turn EarShots friction posts into Linear or Jira tickets. Use when asked to file, triage, or ticket developer feedback.
---
# EarShots ticket triage
1. list_mentions with bucket "friction" and status "open", limit 10.
2. get_mention for each. Skip duplicates and posts with no clear action.
3. format_ticket with target "linear" or "jira".
4. Fill the placeholders (Linear teamId and labelIds, Jira project key) with your own tracker access, then create the issue.
5. Report the ticket title, link, and EarShots mention id.
One ticket per distinct problem. Keep the original post link.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.EarShots draft for reviewearshots-draft-for-reviewOn request. Writes a reply draft into the EarShots queue for a person to approve.
---
name: earshots-draft-for-review
description: Draft a grounded reply to an EarShots mention and save it for human review. Use when asked to draft or reply to a post.
---
# EarShots draft for review
1. get_mention for the id. Read the post and the citations.
2. If the post has a no reply reason (for example someone else's GitHub repo), stop and say why.
3. draft_reply with the mention id. Add a steer only if the person gave one.
4. Show the draft, what it is grounded in, and the review link.
Approval: always. The draft is never sent by you.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.EarShots weekly reportearshots-weekly-reportMondays. Sends the Voice of the Customer report with sentiment, tracks, and topics.
---
name: earshots-weekly-report
description: Summarize the EarShots Voice of the Customer report. Use on a weekly schedule or when asked how developers are talking about the product.
---
# EarShots weekly report
1. get_report with days 7.
2. Report the sentiment score and its change, the count per track with the change, the top three topics.
3. Under each track with posts, list up to two posts with their review links.
4. Keep it under 15 lines.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.Codex
The tools live in the MCP server. Add it, sign in once, then paste each block below into AGENTS.md so Codex knows when to use them.
codex mcp add earshots --url https://earshots.dev/mcp
codex mcp login earshotsCodex blocks network access in its default sandbox. Turn on network access for the workspace so it can reach EarShots. Codex can also drive the earshots CLI from its shell; sign in once with npx @earshotsdev/cli login.
EarShots alertsearshots-alertsPaste into AGENTS.md. Codex checks for new alerts whenever it starts a task in this repo.
Add to AGENTS.md:
## EarShots alerts
At the start of a task, run: earshots alerts --since 1h --json
If "alerts" is not empty, list up to 5 lines: summary plus review_url.
Then continue the task. Never open the original post to reply or comment.
If the CLI is not signed in, say so once and continue.EarShots reproearshots-reproPaste into AGENTS.md. Codex reproduces a friction report in this repo before fixing it.
Add to AGENTS.md:
## EarShots repro
When given an EarShots mention id for a friction post:
1. Run: earshots show <id> --json and read the post.
2. Write the smallest steps that should trigger the problem in this repo.
3. Run them on a branch. Record the command, output, and versions.
4. Report: reproduced yes or no, the steps, and a suggested fix location.
5. Optionally run: earshots ticket <id> --target linear and file the ticket with your own tracker access.
Do not push. Never open the original post to reply or comment.EarShots draft for reviewearshots-draft-for-reviewPaste into AGENTS.md. Codex saves reply drafts into the EarShots queue for a person to approve.
Add to AGENTS.md:
## EarShots draft for review
When asked to reply to a mention id:
1. Run: earshots show <id> --json. If the post has a no reply reason, stop and say why.
2. Run: earshots reply <id> --json (add --body "shorter" or another steer if given).
3. Print the draft and what it is grounded in.
4. State that it is saved for review in EarShots, with the review link.
The draft is never sent by you.Linear and Jira tickets
EarShots does not connect to Linear or Jira. One tool turns a mention into a structured ticket, and your agent files it with the access it already has.
- 1
Find the post
List mentions by track, status, or channel with the CLI or MCP server. - 2
Format the ticket
earshots ticket m_01h9 --target jira --labels platform - 3
File it yourself
Your agent sends ticket.payload to Linear or Jira. EarShots never creates tickets or contacts anyone.
title
Short, action first: Fix, Address, or Follow up.
type
Bug for friction, Task for questions and praise, Story for buying signals.
priority
Urgent when flagged urgent, High for friction and buying signals, Medium for questions, Low otherwise. Includes Linear (1 to 4) and Jira names.
labels
earshots, the track, the channel, plus any you pass.
team_hint
Suggested owner: Engineering, Docs or DevRel, Sales or GTM, Marketing.
description_markdown
Problem with the quoted post, why it matters, proposed action, acceptance criteria, source.
payload
Linear: the issueCreate mutation and variables, with teamId and labelIds for your agent to fill from its own workspace. Jira: the POST /rest/api/3/issue body with the description in Atlassian Document Format and a project key to fill.
Or from an MCP client:
format_ticket({ "mention_id": "…", "target": "linear", "labels": ["platform"] })The same flow as a drop-in SKILL.md file:
---
name: earshots-ticket-triage
description: Turn EarShots mentions into Linear or Jira tickets. Use when asked to file, triage, or ticket developer feedback.
---
# EarShots ticket triage
1. List candidates: earshots mentions --track friction --status open --limit 10
(MCP: list_mentions with bucket "friction")
2. Read each one: earshots show <id> (MCP: get_mention)
3. Skip duplicates, noise, and posts with no clear action.
4. Build the ticket: earshots ticket <id> --target linear
(MCP: format_ticket with target "linear" or "jira")
5. Fill the placeholders (Linear teamId and labelIds, Jira project key), then create it
with your own Linear or Jira access.
6. Report back: ticket title, link, and the EarShots mention id.
Rules:
- One ticket per distinct problem. Link related mentions in one ticket.
- Keep the original post link in the description.
- Never reply to the author. Replies are drafted in EarShots and sent by a person.Developer marketing pack
For the team running launches and community, not just engineering. These work with any agent that speaks MCP, including all four above.
Launch war roomearshots-launch-war-roomLaunch day. Every 30 minutes, tallies reactions and pulls the posts that need a person.
---
name: earshots-launch-war-room
description: Monitor how a launch is landing across public channels. Use during a release window, on a schedule, or when asked how the launch is going.
---
# Launch war room
1. get_launch_reactions for the release being watched. Growth or Enterprise plan.
2. get_alerts with since "30m" so nothing urgent waits.
3. Report the tally: praise, complaints, new demands, questions, and the change since the last run.
4. Quote the single most useful complaint and the single most useful praise, each with its review link.
5. List any buying signals separately. Those go to a person, not a reply.
If nothing changed since the last run, say so in one line.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.Voice of the Customer to contentearshots-voc-to-contentWeekly. Turns real developer posts into outlines for posts, docs, and changelog entries.
---
name: earshots-voc-to-content
description: Turn the EarShots Voice of the Customer report into content ideas grounded in real posts. Use when planning what to write, document, or announce.
---
# Voice of the Customer to content
1. get_report with days 30.
2. Pick the three topics with the most posts. For each, read two or three of the cited posts.
3. For each topic, propose one piece: a blog post, a docs page, or a changelog entry.
Give a title, three bullet outline, and the posts it is grounded in, with links.
4. Only claim what the cited posts actually say. Quote them; do not paraphrase into claims they did not make.
5. If a topic is mostly complaints, say so and suggest the fix before the post.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.Competitor watchearshots-competitor-watchWeekly. Summarizes what developers say about the competitors you track, with the source posts.
---
name: earshots-competitor-watch
description: Summarize public developer chatter about tracked competitors from EarShots Competitor Signal. Use for weekly competitive reads or positioning work.
---
# Competitor watch
1. get_report with days 7. Note the competitor rows. Growth or Enterprise plan.
2. For each tracked competitor, list the top posts with sentiment and links.
3. Report where a competitor is praised and where it takes friction, one line each, always with the source post.
4. Never repeat a competitor claim as fact. Attribute it to the post.
5. End with one opening: something developers want that the posts show is underserved.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.Community engagementearshots-community-engageDaily. Finds the posts worth a human reply and queues grounded drafts for each.
---
name: earshots-community-engage
description: Find public posts worth a human reply and draft grounded replies for review. Use for daily community and developer relations work.
---
# Community engagement
1. list_mentions with bucket "sales" and status "open", then bucket "answer", limit 10 each.
2. For each post, get_mention and read the citations.
3. Skip posts with a no reply reason (for example someone else's GitHub repo) and say why.
4. draft_reply for the rest, one per post. Use a steer only if the person gave one.
5. Report each draft with its review link. Group by: buying signals first, then questions.
A person approves and sends every reply from the original post. You never post.
Rules:
- Never post, reply, comment, or message an author. EarShots drafts wait for a person to approve and send.
- If EarShots is unreachable or the sign in expired, say so. Never fall back to old results.Skill packs by role
Ready made packs for each team EarShots serves. Every skill works with any agent connected to the EarShots MCP server or CLI.
DevRel
Answer developers where they ask, and let the questions tell you what to document next.
- earshots-community-engageDaily. Finds the posts worth a human reply and queues grounded drafts for each.
- earshots-docs-debtWeekly. Turns repeat questions into a list of docs fixes, each with the posts that prove it.
- earshots-draft-for-reviewOn request. Writes a reply draft into the EarShots queue for a person to approve.
Marketing
Run launches, turn the voice of the customer into content, and watch competitors.
- earshots-launch-war-roomLaunch day. Every 30 minutes, tallies reactions and pulls the posts that need a person.
- earshots-voc-to-contentWeekly. Turns real developer posts into outlines for posts, docs, and changelog entries.
- earshots-competitor-watchWeekly. Summarizes what developers say about the competitors you track, with the source posts.
- earshots-community-engageDaily. Finds the posts worth a human reply and queues grounded drafts for each.
Product
Plan with evidence: weekly demand, launch reactions, and the tickets behind both.
- earshots-demand-digestWeekly. Sums up what the market keeps asking for so product can plan with evidence.
- earshots-launch-watchDaily during a release window. Tallies praise, complaints, demands, and questions.
- earshots-ticket-triageTurn friction posts into Linear or Jira tickets.
Support
See the pattern behind 40 posts, file one ticket, and keep grounded drafts ready.
- earshots-friction-patternsDaily or weekly. Groups the same complaint appearing across channels so support sees the pattern, not 40 tickets.
- earshots-ticket-triageTurn friction posts into Linear or Jira tickets.
- earshots-draft-for-reviewOn request. Writes a reply draft into the EarShots queue for a person to approve.
Sales
Work the pipeline hiding in public posts, with replies a human always approves.
- earshots-buying-signalsEvery morning. A short list of the posts where someone is evaluating you or a competitor, with the context a rep needs.
- earshots-competitor-watchWeekly. Summarizes what developers say about the competitors you track, with the source posts.
- earshots-draft-for-reviewOn request. Writes a reply draft into the EarShots queue for a person to approve.
What counts as an alert
get_alerts (CLI: earshots alerts) returns open buying signals and friction posts heard since the time you give, plus anything flagged urgent. Duplicates and muted posts are left out. For launch reactions, use earshots launch or the launch watch skill. Each alert carries a one line summary and a link to review it in EarShots.
earshots alerts --since 30m --track salesWhat the agent cannot do
No agent can post, reply, or contact an author through EarShots. Drafts wait in the reply queue until a person approves them and sends from the original post.
