Turn mentions into Linear issues
Catch bug reports and feature requests posted in public — on Reddit, X, LinkedIn, Hacker News, GitHub — and file them as Linear issues automatically.
Prefer a walkthrough? Read the full tutorial with video
Set it up
1. Connect the Octolens MCP — add the server URL in your client and sign in. OAuth, no API key. Per-client instructions · docs. Also connect the Linear MCP.
https://app.octolens.com/api/mcp/v22. Hand your agent the playbook — hit Copy below (it grabs the instruction plus the full playbook), fill in the placeholders, and paste it into your agent. Pasting the playbook instead of describing the idea makes the agent run this exact workflow rather than improvise its own.
Set up a daily recurring task using the playbook below. Product name: "{PRODUCT_NAME}". Linear team: {LINEAR_TEAM_ID}.What it does
- ✓Pulls new product mentions from the past 24 hours
- ✓Classifies each mention as a bug, feature request, or skip
- ✓Ignores praise, general chatter, competitor comparisons, and unrelated posts
- ✓Checks whether the issue already exists in Linear before creating anything
- ✓Creates Linear issues with the original quote, source link, and context
- ✓Posts a short summary of what it created
Delivers: New Linear issues for every actionable piece of public product feedback — deduplicated, labeled, and left unassigned for human triage.
Inputs
| Placeholder | Required | Description | Example |
|---|---|---|---|
| {PRODUCT_NAME} | Required | Your product name as tracked in Octolens | Acme |
| {LINEAR_TEAM_ID} | Required | The Linear team the issues should be created in | ENG |
How your agent runs it
- 1
Confirm the keyword — The agent checks that your product name is tracked in Octolens and grabs its keyword ID.
list_keywords - 2
Pull fresh mentions — Fetches every mention from the past 24 hours that matched the keyword.
list_mentions - 3
Classify each mention — Buckets every mention as bug, feature_request, or skip — praise, chatter, and competitor comparisons get skipped.
- 4
Check for duplicates — Searches Linear for an existing issue containing the mention's source URL, so nothing gets filed twice.
list_issues - 5
Create the issues — Files a Linear issue per actionable mention — original quote, source link, author, platform — labeled but unassigned.
create_issue - 6
Report back — Posts a summary: mentions checked, bugs vs feature requests, duplicates skipped, and links to the new issues.
Tools used
list_keywordsOctolens MCPList every monitored keyword with IDs, platforms, tag, and statuslist_mentionsOctolens MCPFetch collected mentions with filtering and paginationlist_issuesLinear MCPSearch existing Linear issues to dedupe against the source URLcreate_issueLinear MCPCreate the Linear issue with quote, source link, and labels
All 23 Octolens MCP tools are documented on the MCP page and in the docs.
The full playbook
Replace the placeholders, then paste this into your agent as a recurring task.
Every day, do the following:
1. Call list_keywords to confirm "{PRODUCT_NAME}" is tracked in Octolens and get its keyword ID.
2. Call list_mentions to pull all mentions from the past 24 hours matching that keyword.
3. For each mention, classify it into exactly one bucket:
- bug — describes broken behavior, an error, a regression, or something not working
- feature_request — asks for a capability the product doesn't have, or expresses a clear unmet need
- skip — everything else, including praise, general chatter, competitor comparisons, and unrelated discussion
4. Drop everything classified as "skip".
5. For each remaining mention, search Linear for an existing issue whose description contains the source URL. If found, skip it because it is already tracked.
6. For each new actionable mention, create a Linear issue in team {LINEAR_TEAM_ID}:
Title:
8–12 word summary, prefixed with [Bug] or [Feature]
Description:
> {original quote, trim to ~500 chars if longer}
**Source:** {url}
**Author:** {authorName} (@{author})
**Platform:** {source}
**Posted:** {timestamp}
Labels:
"social-listening" plus either "bug" or "feature-request"
No assignee, no priority — leave for human triage.
7. Post a summary in chat:
- Mentions checked: N
- Actionable: N (X bugs, Y feature requests)
- Already tracked: N
- New issues created: bullet list with Linear issue URLs
If there are no new actionable mentions, just say "No new actionable mentions today" and exit cleanly.More skills
Surface early churn signals
Flag negative mentions with switching language or blocked workflows the day they're posted — with a drafted reply ready for human review.
Build a wall of love from real mentions
Pull a year of positive mentions, score them against your ICP and homepage positioning, and output a fresh quotes.json for your landing page.
Find leads in public conversations
Catch people publicly shopping for an alternative to your competitors, qualify them against your ICP, and get drafted openers for each.
Give your agents context on what happens online
API, webhooks, and MCP on every plan. If you're paying us anything, you own your data.
No credit card required · API access on all plans · Cancel anytime