pulse
Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X/Twitter within a configurable recent window (default 30 days). Forcing intake clarifies topic specificity, angle (trend/sentiment/problems/opportunities/comparison), time window, and platform scope before searching. Returns a synthesized briefing with citations, engagement metrics, and cross-platform pattern analysis. Triggers: 'pulse on [topic]', 'what's happening with [topic]', 'what are people saying about [topic]', 'current conversation about [topic]', 'take the pulse of [topic]', 'trending: [topic]', 'find me info on [topic]', or any variation requesting multi-source recency intelligence on a topic. Also use for competitor research, trend discovery, tool comparisons, and audience sentiment analysis.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o pulse.zip https://jpskill.com/download/21988.zip && unzip -o pulse.zip && rm pulse.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21988.zip -OutFile "$d\pulse.zip"; Expand-Archive "$d\pulse.zip" -DestinationPath $d -Force; ri "$d\pulse.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
pulse.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
pulseフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 7
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] pulse
Pulse — マルチソースの鮮度調査
ポータビリティ: Claude Code CLI と Claude.ai の両方で動作します。オプションの X/Twitter フェーズにはブラウザの自動化が必要で、利用できない場合は自動的にスキップされます。
Reddit、Hacker News、オープンウェブ、そして(オプションで)X/Twitter を横断して、設定可能な時間枠内で人々が特定のトピックについて何を言っているかを統合する、鮮度重視の調査スキルです。出力は、引用、エンゲージメントシグナル、クロスプラットフォームのパターン分析を含む、単一の首尾一貫したブリーフィングです。このスキルは、規範的な参照ではなく、現在の会話を捉えます。
呼び出し
明示的なトリガーフレーズ:
- 「[トピック]について pulse」
- 「[トピック]で何が起こっていますか」
- 「[トピック]について人々は何と言っていますか」
- 「[トピック]に関する現在の会話」
- 「[トピック]の動向を探る」
- 「トレンド: [トピック]」
- 「[トピック]に関する情報を見つけてください」
以下もカバーします: 鮮度を重視した競合調査、トレンド発見、ツール比較、オーディエンスの感情分析。
エージェント整合性ルール (Research-Pack 規約)
以下のルールは、実行全体に適用されます。これらは research-pack 規約から継承され、PR #657 のクロススキル整合性監査によって固定されています。
- 実行規律。 フェーズ 1~3 は並行して実行されます(Reddit + HN + Web は独立しています)。各フェーズ内では、順次呼び出しのみです。プラットフォームごとに 1 q/秒のレート制限です。 同じフェーズ内で次の呼び出しを行う前に、応答が受信されたことを確認してください。
- ソース規律。 このセッションのツール呼び出しによって返されたソースのみを引用してください。トレーニング知識は
[Background — not from search]とラベル付けされ、主要な調査結果のカウントから除外されます。 - 3カウント追跡。 送信されたクエリ / 受信されたソース(表示) / 引用されたソース。合成セクションの監査ログにインラインで表示されます。確定的なカウントには
scripts/citation_tracker.pyを使用してください。 - 再試行ポリシー。 失敗した場合 → 3秒待機 → 1回再試行 → ログに記録。すべてのソースで3回連続して失敗した場合: 停止し、ユーザーに警告し、収集されたものを共有します。空のファイルを配信することはありません。
- プランティア検出。 Reddit + HN は認証不要の公開 JSON API です(プランごとではなく IP ごとにレート制限されます)。利用可能な場合は応答ヘッダーからレート制限シグナルを表示し、それ以外の場合は適切に機能低下させます。
規範については references/research_pack_conventions.md を、レート制限の根拠については references/parallel_execution_discipline.md を参照してください。
フェーズ 0: Grill-Me インテーク (2~4つの強制質問、一度に1つずつ)
依存関係順に並んでいます。各質問には明示的な「なぜ尋ねるのか」が付随します。停止条件: 最大4つ。
Q1 (root) — トピックの具体性
トピックは何ですか?1~2文で具体的に述べてください。「AI」や「tech」では漠然とした調査になります。「小規模チーム向けの自己ホスト型 LLM デプロイメント」や「エンタープライズエンジニアリング組織における Claude Code の採用」であれば、有用な回答が得られます。
なぜ尋ねるのか: 具体性が検索品質を決定します。漠然としたトピックは漠然としたブリーフィングを生み出します。トピックが広範な場合は、検索予算をノイズに費やすよりも、今すぐ絞り込みたいです。
曖昧なものは拒否してください。 ユーザーが「AI」と言った場合、一度だけ押し返してください:「AI の何についてですか — 採用、安全性、機能、規制、それとも比較ですか?視点を選んでください。」ユーザーが一度押し返しても絞り込まない場合は、「漠然としたトピック — 調査レベルであり、深掘りではない」という明示的な注意書きを付けて配信してください。
Q2 (Q1 に依存) — 視点
どの視点が最も重要ですか?1つ選んでください:
- トレンド — 何が加速または減速しているか
- 感情 — 人々がそれについてどう感じているか
- 問題 — 課題と不満
- 機会 — ギャップと満たされていないニーズ
- 比較 — 代替案と比べてどうか
なぜ尋ねるのか: 視点によって、どのソースがより重視されるか(感情には Reddit、技術的批判には HN、トレンド報道には Web)、そして合成のランク付け方法が決まります。
強制選択。推奨されるデフォルト: トピックが明らかに異なる視点を必要としない限り、トレンド。
Q3 (常に) — 時間枠
時間枠: 7 / 14 / 30 / 60 / 90 日?デフォルトは 30 です。
なぜ尋ねるのか: 7 日は速報的な会話を捉え、90 日は持続的な物語の変化を捉えます。ニュースの鮮度がどれだけ重要かに基づいて選択してください。
デフォルト付きの強制選択。
Q4 (Q1 に依存) — プラットフォームスコープ
スキップするプラットフォームはありますか?デフォルトでは、Reddit + Hacker News + オープンウェブ、さらにブラウザの自動化が利用可能であれば X/Twitter をカバーします。不要なものはスキップしてください。
なぜ尋ねるのか: プラットフォームをスキップすると、検索予算を節約できます。Reddit は感情を支配し、HN は技術的批判を支配し、Web は広範な情報を支配し、X は速報的な会話を支配します。あなたの視点に合わないものはスキップしてください。
Q1 + Q2 が一部のプラットフォームが明らかに的外れであることを示唆する場合にのみ尋ねられます(例:消費者感情のトピック → HN はあまり有用ではない)。それ以外の場合は「すべてのプラットフォーム」がデフォルトです。
停止条件: Q4 の後(または依存関係のスキップによりそれ以前に)、コミットしてフェーズ 1 を開始します。最大4つの質問で、決してまとめて尋ねません。
飛行前
いずれのフェーズが開始される前にも:
scripts/time_window_calculator.py --window <Nd>で時間枠を計算します。created_at_i>(HN) の Unix タイムスタンプと、Reddit のt=パラメータ (hour|day|week|month|year|all) を取得します。scripts/topic_slug_generator.py --topic "<topic>" --date $(date +%Y-%m-%d)で出力スラッグを生成します。${RESEARCH_DIR}/pulse/<slug>-<date>.mdが既に存在するかどうかを検出し、存在する場合は-v2サフィックスを追加するか、ユーザーに警告します。scripts/citation_tracker.py --action start --session pulse-<date>-<slug>で3カウント監査ログを開始します。 このファイルは~/.pulse_sessions/<session>.jsonにあり、実行全体で保持されます。
フェーズ 1: Reddit (HN + Web と並行)
API: reddit.com/search.json (認証不要、公開 JSON)。
クエリ (Reddit 内で順次、1 q/秒):
sort=top&t=<window>&q=<topic>— 時間枠内のトップ投稿sort=new&t=<window>&q=<topic>— 時間枠内の新しい投稿(速報シグナルを捕捉)- スコア上位 3~5 件の各投稿について、上位 10~20 件のコメントのコメント JSON (
<post-url>.json?limit=top) をフェッチします。
ヘッダー / レート制限。 Reddit はプランごとではなく IP ごとにレート制限します。スロットルを
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Pulse — Multi-Source Recency Research
Portability: Works in both Claude Code CLI and Claude.ai. The optional X/Twitter phase requires browser automation and is skipped automatically if unavailable.
A recency-oriented research skill that synthesizes what people are saying about a topic across Reddit, Hacker News, the open web, and (optionally) X/Twitter — within a configurable time window. Output is a single coherent briefing with citations, engagement signals, and cross-platform pattern analysis. The skill captures the current conversation, not the canonical reference.
Invocation
Explicit trigger phrases:
- "pulse on [topic]"
- "what's happening with [topic]"
- "what are people saying about [topic]"
- "current conversation about [topic]"
- "take the pulse of [topic]"
- "trending: [topic]"
- "find me info on [topic]"
Also covers: competitor research with recency flavor, trend discovery, tool comparisons, audience sentiment analysis.
Agent Integrity Rules (Research-Pack Convention)
The following rules apply throughout the run. They are inherited from the research-pack convention and locked down by PR #657's cross-skill consistency audit.
- Execution discipline. Phases 1–3 run in parallel (Reddit + HN + Web are independent). Within each phase, sequential calls only. 1 q/sec rate limit per platform. Confirm response received before next call within the same phase.
- Source discipline. Cite only sources returned by this session's tool calls. Training knowledge is labeled
[Background — not from search]and excluded from primary findings count. - Three-count tracking. Queries sent / sources received (shown) / sources cited. Surfaced in the audit log inline in the synthesis section. Use
scripts/citation_tracker.pyfor the deterministic count. - Retry policy. On failure → wait 3s → retry once → log. After 3 consecutive failures across all sources: stop, alert user, share what was collected. Never deliver an empty file.
- Plan-tier detection. Reddit + HN are unauthenticated public JSON APIs (rate-limited per IP, not per plan). Surface rate-limit signals from response headers when available; degrade gracefully otherwise.
See references/research_pack_conventions.md for the canon and references/parallel_execution_discipline.md for the rate-limit rationale.
Phase 0: Grill-Me Intake (2–4 forcing questions, one at a time)
Dependency-ordered. Each question carries explicit "why I'm asking". Stop condition: max 4.
Q1 (root) — Topic Specificity
What's the topic? State it in 1–2 sentences — be specific. "AI" or "tech" will get you a vague survey; "self-hosted LLM deployment for small teams" or "Claude Code adoption among enterprise engineering orgs" will get you a useful answer.
Why I'm asking: Specificity dictates search quality. Vague topics produce vague briefings. If your topic is broad, I'd rather narrow it now than spend a search budget on noise.
Refuse mush. If the user says "AI", push back once: "What about AI — adoption, safety, capability, regulation, or comparison? Pick an angle." If the user still won't narrow after one push-back, deliver with the explicit "vague topic — survey level, not depth" caveat.
Q2 (depends on Q1) — Angle
What angle matters most? Pick one:
- Trend — what's accelerating or decelerating
- Sentiment — what people feel about it
- Problems — pain points and complaints
- Opportunities — gaps and unmet needs
- Comparison — how it stacks up against alternatives
Why I'm asking: The angle dictates which sources weight more (Reddit for sentiment, HN for technical critique, Web for trend coverage) and how I rank the synthesis.
Forcing choice. Recommended default: trend, unless the topic obviously calls for a different angle.
Q3 (always) — Time Window
Time window: 7 / 14 / 30 / 60 / 90 days? Default is 30.
Why I'm asking: 7 days catches breaking conversation; 90 days catches sustained narrative shift. Pick based on how recent the news matters.
Forcing choice with default.
Q4 (depends on Q1) — Platform Scope
Any platform to skip? By default I'll cover Reddit + Hacker News + open web, plus X/Twitter if browser automation is available. Skip any you don't care about.
Why I'm asking: Skipping a platform saves search budget. Reddit dominates sentiment; HN dominates technical critique; Web dominates breadth; X dominates breaking conversation. Skip what doesn't fit your angle.
Asked only if Q1 + Q2 suggest some platforms are clearly off-target (e.g., consumer sentiment topic → HN less useful). Otherwise default to "all platforms".
Stop condition: After Q4 (or earlier with dependency skips), commit and start Phase 1. Max 4 questions, never bundle.
Pre-flight
Before any phase fires:
- Compute the time window with
scripts/time_window_calculator.py --window <Nd>. Get back the Unix timestamp forcreated_at_i>(HN) and thet=parameter (hour|day|week|month|year|all) for Reddit. - Generate the output slug with
scripts/topic_slug_generator.py --topic "<topic>" --date $(date +%Y-%m-%d). Detect if${RESEARCH_DIR}/pulse/<slug>-<date>.mdalready exists; if yes, append-v2suffix or warn user. - Start the three-count audit log with
scripts/citation_tracker.py --action start --session pulse-<date>-<slug>. This file at~/.pulse_sessions/<session>.jsonpersists across the run.
Phase 1: Reddit (parallel with HN + Web)
API: reddit.com/search.json (unauthenticated, public JSON).
Queries (sequential within Reddit, 1 q/sec):
sort=top&t=<window>&q=<topic>— top posts in windowsort=new&t=<window>&q=<topic>— new posts in window (catches breaking signal)- For each of the top 3–5 posts by score: fetch the comments JSON (
<post-url>.json?limit=top) for the top 10–20 comments.
Headers / rate limits. Reddit rate-limits by IP, not plan. Throttle to 1 q/sec. If response has X-Ratelimit-Remaining: 0 or returns 429, wait 3s, retry once. If still failing, fall back to subreddit-restricted search (r/<topic-subreddit>/search.json) or ?raw_json=1.
Record each query: citation_tracker.py --action record_sent --session NAME --query "...".
Record received counts: citation_tracker.py --action record_received --session NAME --count N.
Phase 2: Hacker News (parallel with Reddit + Web)
API: Algolia HN search (hn.algolia.com/api/v1/).
Queries (sequential within HN, 1 q/sec):
search?query=<topic>&numericFilters=created_at_i><timestamp>&tags=story— stories in windowsearch?query=<topic>&numericFilters=created_at_i><timestamp>&tags=comment— comments in window (catches discussion signal)
Failure handling. If HN returns empty: broaden the query (remove uncommon nouns); if still empty, drop the timestamp filter as last resort and label results "outside window".
HN bias note. HN skews technical / builder. Surface this in synthesis: "HN's voice is implementation-oriented; consumer sentiment will be under-represented here."
Phase 3: Web Search (parallel with Reddit + HN)
Tools: Available web search + fetch (e.g., WebSearch + WebFetch).
Query strategy (sequential within Web, 1 q/sec):
- Trusted publishers —
"<topic>" site:nytimes.com OR site:wsj.com OR site:wired.com OR site:theverge.com OR site:techcrunch.com after:<date> - Recent reviews —
"<topic>" review <year>or"<topic>" "honest review" after:<date> - Honest-opinion sources —
"<topic>" problems OR complaints OR "worth it" after:<date>
Fetch the top 3–5 URLs per query. Truncate at the body, skip cookie/nav markup.
Citation discipline. Every claim in the Web section must trace to a fetched URL. Do NOT cite from snippets alone; fetch first.
Phase 4: X/Twitter (sequential, optional)
Run last. Reasons:
- Most likely to fail / require browser automation
- X content overlaps significantly with Reddit/HN — so it adds delta, not primary signal
Interface (in priority order):
- Grok if available in the harness
- X API if authenticated
- Browser automation if the harness supports it (Claude Code CLI with
playwrightor similar) - Skip with note if none of the above available
Documented behavior:
If Phase 4 is skipped: include the section header
## X/Twitterwith bodySkipped — [reason: no browser automation / no Grok / no X API]. Do NOT pretend to have data.
Synthesis (Cross-Platform Patterns)
After Phases 1–4 complete (or Phase 4 skipped), produce the synthesis:
- Consensus signals — points where 3+ platforms agree (highest confidence). Tag each with cited source URLs.
- Controversy signals — points where platforms disagree. Note who says what.
- Pain points — recurring complaints across sources (esp. Reddit + Web).
- Excitement signals — recurring enthusiasm (esp. HN + X if available).
- Emerging trends — first-time mentions in newest posts but absent from older ones (compare
sort=newvssort=top). - Gaps — what's notably absent that you'd expect to find.
For each pattern, cite the source URLs that support it. Use citation_tracker.py --action record_cited --session NAME --url "..." per citation.
See references/cross_platform_synthesis.md for detection heuristics.
Output
Save to file AND paste in chat:
File: ${RESEARCH_DIR}/pulse/<topic-slug>-<YYYY-MM-DD>.md (path from topic_slug_generator.py).
Format:
# [TOPIC] — Pulse (Last [N] Days)
*Generated: [DATE] | Angle: [Q2 choice]*
## TL;DR
[2-3 sentences max]
## Reddit
### Top Posts
- **[Title]** (r/sub) — [score, comments] — [summary] — [URL]
### What Reddit Is Saying
[Narrative paragraph]
## Hacker News
### Notable Stories
- **[Title]** — [points, comments] — [summary] — [URL]
### What HN Is Saying
[Narrative paragraph; note HN's technical/builder bias]
## Web
### Key Sources
- **[Title]** ([Publication]) — [takeaway] — [URL]
### What the Web Is Saying
[Narrative paragraph]
## X/Twitter (if available)
[Cleaned response, with handles/references preserved]
[Or: "Skipped — [reason]"]
## Cross-Platform Patterns
[Highest-confidence signals across sources]
## Key Takeaways
- [3-5 bullets]
## Content Angles (if applicable)
[2-3 specific angles supported by the data]
---
*Audit:* Queries sent: N (Reddit: a, HN: b, Web: c, X: d|skipped).
Sources received: M. Sources cited: K. Training knowledge: 0 ([Background] excluded from count).
Error Handling
| Failure | Behavior |
|---|---|
| Topic is too vague (Q1) | Refuse to start. Re-ask Q1 once with examples. After 1 push-back, deliver with "vague topic" caveat. |
| Reddit blocks / rate-limits | Try ?raw_json=1 or fall back to subreddit-restricted search. Honor 3s-retry. |
| HN returns empty | Broaden query, drop timestamp filter as last resort, label results "outside window". |
| Web search returns nothing useful | Note in output; don't fabricate sources. |
| Browser automation unavailable | Skip Phase 4 with documented note. |
| WebFetch times out | Use what loaded, mark the source as "truncated". |
| 3 consecutive failures across sources | Stop. Return what was collected with explicit "stopped early" note. Do NOT deliver empty file. |
| All sources fail | Return error with diagnostic info. Do NOT deliver empty file. |
Tooling
| Script | Role |
|---|---|
scripts/time_window_calculator.py |
Compute Unix timestamps + Reddit t= parameter from window string (30d, 7d, etc.). Deterministic from datetime.now(). |
scripts/citation_tracker.py |
JSON-backed three-count audit log (sent / received / cited) at ~/.pulse_sessions/<session>.json. |
scripts/topic_slug_generator.py |
Filesystem-safe slug + duplicate-date detection for output paths. |
References
references/research_pack_conventions.md— Agent Integrity Rules canon (7+ sources: Google SRE, Reddit API docs, Algolia HN docs, exponential-backoff literature, citation discipline)references/cross_platform_synthesis.md— consensus / controversy / pain detection across platforms (7+ sources)references/parallel_execution_discipline.md— 1 q/sec rationale + plan-tier signals (7+ sources)
Anti-Patterns To Reject
- Starting any search before the user commits to topic specificity (Q1)
- Batching intake questions instead of one at a time
- Hardcoded URLs that won't survive API changes (note format, explain may evolve)
- Specific person / brand references in the skill body
- Tight coupling to one X/Twitter interface
- Missing fallback behavior on source failure
- "Just use [specific tool]" without explaining what the tool does
- Citing training knowledge in the cited count
- Fabricating sources to fill out a section
Version: 1.0.0
Source spec: megaprompts/01-pulse-megaprompt.md
Build pattern: Path B (direct conversion). Re-grill with /cs:grill-with-docs if drift between spec and implementation surfaces.
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (14,315 bytes)
- 📎 references/cross_platform_synthesis.md (9,058 bytes)
- 📎 references/parallel_execution_discipline.md (8,601 bytes)
- 📎 references/research_pack_conventions.md (8,651 bytes)
- 📎 scripts/citation_tracker.py (9,656 bytes)
- 📎 scripts/time_window_calculator.py (5,028 bytes)
- 📎 scripts/topic_slug_generator.py (4,970 bytes)