--- name: "cs-pulse" description: "/cs:pulse — Multi-source recency research. Grill-me intake (topic / angle / window / scope), then parallel Reddit + HN + Web (1 q/sec per platform), optional X/Twitter, cross-platform synthesis. Output: ${RESEARCH_DIR}/pulse/-.md + full briefing in chat." --- # /cs:pulse — Multi-Source Recency Research **Command:** `/cs:pulse ` The `cs-pulse` persona takes the pulse of a topic across Reddit, Hacker News, the open web, and (optionally) X/Twitter — within a configurable recent window — and synthesizes a single coherent briefing. ## When to Run - "What are people saying about X right now?" - Competitor research with recency flavor - Trend discovery / tool comparisons / audience sentiment - Pre-content-creation reconnaissance The skill ALSO triggers automatically without `/cs:pulse` when you use 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]" `/cs:pulse` is the explicit form. ## Forcing Intake (2–4 Questions, One at a Time) | Q | Asks | Why | |---|---|---| | Q1 | Topic specificity (1–2 sentences, no vague nouns) | Vague Q1 → vague briefing. Refuses "AI" / "tech" once. | | Q2 | Angle: trend / sentiment / problems / opportunities / comparison | Dictates which platform's voice weights more in synthesis. Default: trend. | | Q3 | Time window: 7 / 14 / 30 / 60 / 90 days | Default: 30. 7d = breaking, 90d = sustained shift. | | Q4 | Platform scope (skip any?) | Asked only when angle suggests some platforms off-target. Default: all. | ## What You Get ``` # [TOPIC] — Pulse (Last [N] Days) *Generated: [DATE] | Angle: [trend|sentiment|problems|opportunities|comparison]* ## TL;DR [2-3 sentences] ## Reddit ### Top Posts ... ### What Reddit Is Saying ## Hacker News ### Notable Stories ... ### What HN Is Saying ## Web ### Key Sources ... ### What the Web Is Saying ## X/Twitter (if available) [Or: "Skipped — [reason]"] ## Cross-Platform Patterns ## Key Takeaways ## Content Angles (if applicable) --- *Audit:* Queries sent: N. Sources received: M. Sources cited: K. ``` Saved to `${RESEARCH_DIR}/pulse/-.md` AND pasted in chat. ## Discipline - **One intake question per turn.** Never bundle. - **Refuse vague Q1 once.** Push back with examples; deliver with caveat if user won't narrow. - **Parallel Phases 1–3** — Reddit + HN + Web concurrent. Sequential within platform. 1 q/sec. - **Source discipline** — cite only session-call results. `[Background]` for training knowledge, excluded from cited count. - **Three-count tracking** — sent / received / cited in audit log. - **Retry once after 3s** — then log. 3 consecutive failures across sources → stop. - **Graceful degradation** — prefer a supplied X export. Skip only when no export or live interface exists. ## Workflow ```bash # A. Pre-flight (post-intake) python ../skills/pulse/scripts/time_window_calculator.py --window 30d python ../skills/pulse/scripts/topic_slug_generator.py --topic "" --date $(date +%Y-%m-%d) python ../skills/pulse/scripts/citation_tracker.py --action start --session NAME # B. Phases 1–3 (parallel, 1 q/sec per platform) # Reddit: search.json sort=top&t=month + sort=new&t=month + top thread comments # HN: Algolia stories + comments with timestamp filter # Web: 2–3 targeted queries # C. Phase 4 (optional, sequential): normalize a supplied export first python ../skills/pulse/scripts/citation_tracker.py --action import_sources \ --session NAME --input /path/to/x-search.json --platform x # If no export exists, try Grok / X API / browser automation. # D. Synthesis: cross-platform pattern detection # E. Output: file + chat + audit summary python ../skills/pulse/scripts/citation_tracker.py --action close --session NAME ``` ## Stop Conditions - All 4 phases complete (or Phase 4 skipped with note) → synthesize + deliver - 3 consecutive failures across all sources → stop, report what was collected - User says "stop" → produce partial briefing with what's been collected so far ## Anti-Patterns Rejected - Starting any search before Q1 (topic specificity) commits - Batching intake questions - Hardcoded URLs that won't survive API changes (note format, explain may evolve) - Irrelevant person or brand references - Tight coupling to one X/Twitter interface - Treating duplicate Tweet IDs or repeated citation URLs as separate sources - Missing fallback behavior - "Just use [specific tool]" without explaining what the tool does - Citing training knowledge as session results - Fabricating sources to fill out a section ## Related - Agent: [`cs-pulse`](../agents/cs-pulse.md) - Skill: [`pulse`](../skills/pulse/SKILL.md) - Source spec: `megaprompts/01-pulse-megaprompt.md` (maintainer-local draft spec — gitignored, not in the public repo) - Sibling research skills (after build): `/cs:litreview`, `/cs:grants`, `/cs:syllabus`, `/cs:patent`, `/cs:dossier`, `/cs:research` (router) --- **Version:** 1.0.0 **Source:** Path-B direct conversion of `megaprompts/01-pulse-megaprompt.md`