/pulse
Community-pulse research on any topic — "what are people saying about X right now." Fans out parallel sub-agents across web search, Hacker News, Reddit, and GitHub; ranks findings by real engagement (points/upvotes/stars/comments); flags rumors; and writes a cited brief to chat
Claude Code
$ npx -y skills add duthaho/skillhub --skill pulse --agent claude-code
Codex
$ npx skills add duthaho/skillhub --skill pulse -a codex -y
Cursor
$ npx skills add duthaho/skillhub --skill pulse -a cursor -y
Gemini CLI
$ npx skills add duthaho/skillhub --skill pulse -a gemini-cli -y
GitHub Copilot
$ npx skills add duthaho/skillhub --skill pulse -a github-copilot -y
OpenCode
$ npx skills add duthaho/skillhub --skill pulse -a opencode -y
Windsurf
$ npx skills add duthaho/skillhub --skill pulse -a windsurf -y
SKILL.md
pulse.SKILL.mdname: pulse
description: >-
Community-pulse research on any topic — "what are people saying about X right
now." Fans out parallel sub-agents across web search, Hacker News, Reddit, and
GitHub; ranks findings by real engagement (points/upvotes/stars/comments);
flags rumors; and writes a cited brief to chat plus saved .md and .html files.
Use when the user wants the current community conversation / recent buzz /
sentiment / "last 30 days" view on a person, product, project, or concept —
e.g. "/pulse <topic>", "what's the buzz on X", "what are people saying about
X lately", "research recent discussion on X". For exhaustive, adversarially
fact-checked web reports, prefer the deep-research skill instead.
pulse — community-pulse research
`/pulse <topic> [window/flags in plain language]`
Answer one question: **what is the community actually saying about this topic right now, and what's resonating?** You ground every claim in a real source and rank by real engagement — not by what a search engine's editors surfaced.
Inputs
- **Topic** (required): a person, product/company, project/repo, or concept/event.
- **Window** (optional, plain language): default **last 30 days**. Honor overrides
like "last week", "past 6 months", "this year". Record the resolved window.
- Any other plain-language steering ("focus on Reddit", "ELI5", "just the drama").
Step 0 — Resolve scope (ask only if genuinely ambiguous)
Run immediately for clear topics. Ask **1–2 quick questions only if**:
- the name maps to multiple plausible entities (e.g. a common name, an ambiguous
product), **or**
- there's no obvious angle and the result would likely research the wrong thing.
Otherwise proceed and state your assumptions in the brief header.
**Auto-detect the topic type** and weight sources accordingly:
| Detected type | Source emphasis | | -------------------- | --------------------------------------------------- | | Person (dev/tech) | GitHub (velocity) + Hacker News + web + Reddit | | Person (non-tech) | Web + Reddit (skip/deprioritize GitHub) | | Product / company | Reddit + web + Hacker News (GitHub if it's a tool) | | Project / repo / tool| GitHub + Hacker News + Reddit + web | | Concept / event | Web + Hacker News + Reddit (skip GitHub) |
Do light **entity resolution** first when useful (e.g. the canonical subreddit, the GitHub `owner/repo` or username, the official site) so sub-agents search the right handles rather than guessing.
Step 1 — Fan out: parallel source sub-agents
Spawn the relevant source sub-agents **concurrently** (one message, multiple `Agent` calls). Skip sources the topic type deprioritizes. Give each the topic, resolved entities, and the time window. Each sub-agent must return **structured findings**: for every item — `title`, `url`, `source`, `engagement` (the raw metric + its kind), `date`, and a 1–2 sentence `snippet`. Then it deepens its **top 2–3** items (below). Each gathers ~8–10 candidates before deepening.
Use `subagent_type: "Explore"` (read-only, fast) for fetch-heavy sources.
**Effort scaling:** match the fan-out to the ask. A niche topic or an explicit "quick check" needs only the 2 best-matched sources from the table; the full fan-out is for broad or clearly hot topics. **Lossless hand-off:** if a sub-agent's deepened findings run long (many quotes/threads), have it write the full extracts to `out/pulse/.work/<source>.md` and return just its ranked summary — read the files at synthesis instead of losing detail in the relay.
Web sub-agent
- Use `WebSearch` with several query variations (topic + "news"/"review"/"discussion"
- recency terms). Prefer results inside the window.
- **Authority over SEO:** prefer primary sources (official posts, the actual
thread/repo, named practitioners) over SEO-optimized aggregators and listicle farms. A claim that appears *only* on low-quality aggregator sites is low-trust — mark it accordingly.
- Engagement proxy: publication prominence + how often a story recurs across results.
- Deepen top 2–3: `WebFetch` the article and extract the core claim + any quotes.
Hacker News sub-agent (free Algolia API — most reliable signal)
- Search: `WebFetch` →
`https://hn.algolia.com/api/v1/search?query=<TOPIC>&tags=story&numericFilters=created_at_i>UNIX_START` (compute `UNIX_START` with a real shell command — e.g. `date -d '30 days ago' +%s` — never guess the timestamp; for relevance over recency use `/search` instead of `/search_by_date`).
- `engagement` = `points` and `num_comments`.
- Deepen top 2–3: fetch `https://hn.algolia.com/api/v1/items/<objectID>` and pull the
highest-signal top-level comments (the actual takes).
Reddit sub-agent (best-effort, keyless)
- Try `WebFetch` on public JSON:
`https://www.reddit.com/search.json?q=<TOPIC>&sort=top&t=month` (map `t` to the window: `week`/`month`/`year`), and/or `https://www.reddit.com/r/<SUB>/search.json?...&restrict_sr=1`.
- `engagement` = `ups` (upvotes) and `num_comments`.
- Deepen top 2–3: fetch the thread JSON (`<permalink>.json`) and pull top comments.
- **Fallback chain on 403/empty:** first retry the same JSON paths on
`old.reddit.com` (often served when `www` is blocked); if that also fails, use `WebSearch` for `site:reddit.com <topic>` and `WebFetch` the threads. **Note in the brief that Reddit was reached via fallback.**
GitHub sub-agent (keyless REST, 60 req/hr)
- Repo/tool topic: `https://api.github.com/search/repositories?q=<TOPIC>&sort=stars`,
then for the chosen repo pull recent `commits`, `releases`, and open/closed PR counts to gauge shipping velocity.
- Person topic: resolve the username, then `users/<u>` + recent `users/<u>/events`
(public) to summarize what they're shipping.
- `engagement` = stars, recent commit/PR/release cadence.
If a source returns nothing usable after its fallback, re
Read more
name: pulse description: >- Community-pulse research on any topic — "what are people saying about X right now." Fans out parallel sub-agents across web search, Hacker News, Reddit, and GitHub; ranks findings by real engagement (points/upvotes/stars/comments); flags rumors; and writes a cited brief to chat plus saved .md and .html files. Use when the user wants the current community conversation / recent buzz / sentiment / "last 30 days" view on a person, product, project, or concept — e.g. "/pulse <topic>", "what's the buzz on X", "what are people saying about X lately", "research recent discussion on X". For exhaustive, adversarially fact-checked web reports, prefer the deep-research skill instead.
pulse — community-pulse research
`/pulse <topic> [window/flags in plain language]`
Answer one question: **what is the community actually saying about this topic right now, and what's resonating?** You ground every claim in a real source and rank by real engagement — not by what a search engine's editors surfaced.
Inputs
- **Topic** (required): a person, product/company, project/repo, or concept/event.
- **Window** (optional, plain language): default **last 30 days**. Honor overrides
like "last week", "past 6 months", "this year". Record the resolved window.
- Any other plain-language steering ("focus on Reddit", "ELI5", "just the drama").
Step 0 — Resolve scope (ask only if genuinely ambiguous)
Run immediately for clear topics. Ask **1–2 quick questions only if**:
- the name maps to multiple plausible entities (e.g. a common name, an ambiguous
product), **or**
- there's no obvious angle and the result would likely research the wrong thing.
Otherwise proceed and state your assumptions in the brief header.
**Auto-detect the topic type** and weight sources accordingly:
| Detected type | Source emphasis | | -------------------- | --------------------------------------------------- | | Person (dev/tech) | GitHub (velocity) + Hacker News + web + Reddit | | Person (non-tech) | Web + Reddit (skip/deprioritize GitHub) | | Product / company | Reddit + web + Hacker News (GitHub if it's a tool) | | Project / repo / tool| GitHub + Hacker News + Reddit + web | | Concept / event | Web + Hacker News + Reddit (skip GitHub) |
Do light **entity resolution** first when useful (e.g. the canonical subreddit, the GitHub `owner/repo` or username, the official site) so sub-agents search the right handles rather than guessing.
Step 1 — Fan out: parallel source sub-agents
Spawn the relevant source sub-agents **concurrently** (one message, multiple `Agent` calls). Skip sources the topic type deprioritizes. Give each the topic, resolved entities, and the time window. Each sub-agent must return **structured findings**: for every item — `title`, `url`, `source`, `engagement` (the raw metric + its kind), `date`, and a 1–2 sentence `snippet`. Then it deepens its **top 2–3** items (below). Each gathers ~8–10 candidates before deepening.
Use `subagent_type: "Explore"` (read-only, fast) for fetch-heavy sources.
**Effort scaling:** match the fan-out to the ask. A niche topic or an explicit "quick check" needs only the 2 best-matched sources from the table; the full fan-out is for broad or clearly hot topics. **Lossless hand-off:** if a sub-agent's deepened findings run long (many quotes/threads), have it write the full extracts to `out/pulse/.work/<source>.md` and return just its ranked summary — read the files at synthesis instead of losing detail in the relay.
Web sub-agent
- Use `WebSearch` with several query variations (topic + "news"/"review"/"discussion"
- recency terms). Prefer results inside the window.
- **Authority over SEO:** prefer primary sources (official posts, the actual
thread/repo, named practitioners) over SEO-optimized aggregators and listicle farms. A claim that appears *only* on low-quality aggregator sites is low-trust — mark it accordingly.
- Engagement proxy: publication prominence + how often a story recurs across results.
- Deepen top 2–3: `WebFetch` the article and extract the core claim + any quotes.
Hacker News sub-agent (free Algolia API — most reliable signal)
- Search: `WebFetch` →
`https://hn.algolia.com/api/v1/search?query=<TOPIC>&tags=story&numericFilters=created_at_i>UNIX_START` (compute `UNIX_START` with a real shell command — e.g. `date -d '30 days ago' +%s` — never guess the timestamp; for relevance over recency use `/search` instead of `/search_by_date`).
- `engagement` = `points` and `num_comments`.
- Deepen top 2–3: fetch `https://hn.algolia.com/api/v1/items/<objectID>` and pull the
highest-signal top-level comments (the actual takes).
Reddit sub-agent (best-effort, keyless)
- Try `WebFetch` on public JSON:
`https://www.reddit.com/search.json?q=<TOPIC>&sort=top&t=month` (map `t` to the window: `week`/`month`/`year`), and/or `https://www.reddit.com/r/<SUB>/search.json?...&restrict_sr=1`.
- `engagement` = `ups` (upvotes) and `num_comments`.
- Deepen top 2–3: fetch the thread JSON (`<permalink>.json`) and pull top comments.
- **Fallback chain on 403/empty:** first retry the same JSON paths on
`old.reddit.com` (often served when `www` is blocked); if that also fails, use `WebSearch` for `site:reddit.com <topic>` and `WebFetch` the threads. **Note in the brief that Reddit was reached via fallback.**
GitHub sub-agent (keyless REST, 60 req/hr)
- Repo/tool topic: `https://api.github.com/search/repositories?q=<TOPIC>&sort=stars`,
then for the chosen repo pull recent `commits`, `releases`, and open/closed PR counts to gauge shipping velocity.
- Person topic: resolve the username, then `users/<u>` + recent `users/<u>/events`
(public) to summarize what they're shipping.
- `engagement` = stars, recent commit/PR/release cadence.
If a source returns nothing usable after its fallback, re
Give Claude Code a memory and make it cite its sources — skills for research, daily work, and shipping code. They started as prompts I kept retyping, so I wrote each one down once. Keyless: no API keys, no signups.
More skills from other plugins.
i-have-adhd
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
distilly
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…
Questions about pulse.
- Which coding agents can use pulse?
- pulse installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

