mcpbeat

Discourse

athola/discourse

Scans HN, Lobsters, Reddit, and tech blogs for community experience reports. Use when gathering practitioner opinions on a technology or approach.

416 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
324
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/athola/claude-night-market --skill discourse

The instruction itself

6 sections, as written by the author

When To Use

  • Gathering community opinions on a technology or approach
  • Finding experience reports from HN, Reddit, or Lobsters

When NOT To Use

  • Academic research (use /tome:papers)
  • Code examples (use /tome:code-search)

Scan community channels for discussions on a topic.

Channels

  • Hacker News: Algolia API at hn.algolia.com
  • Lobsters: WebSearch with site:lobste.rs
  • Reddit: JSON API (append .json to URLs)
  • Tech blogs: WebSearch targeting curated domains

Workflow

  • Build search URLs/queries per channel using

tome.channels.discourse.* functions

  • Execute via WebFetch (APIs) or WebSearch (fallback)
  • Parse responses into Finding objects
  • Merge across sources with source attribution

Exit Criteria

  • [ ] At least two community channels (HN, Lobsters, Reddit, or

tech blogs) queried per invocation

  • [ ] HN results fetched via Algolia API at hn.algolia.com

(WebFetch); WebSearch used as fallback if the API is

unreachable

  • [ ] Each Finding object includes a source field identifying

which channel (HN, Lobsters, Reddit, or blog) it came from

  • [ ] If all WebFetch and WebSearch calls fail for every channel,

the failure is reported explicitly rather than returning

fabricated or empty findings

How to use it

Copy the folder

Take athola/discourse from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.