$npx -y skills add MagicCube/agentara --skill pulse📡 Pulse — Twice-daily tech briefing for group distribution. Designed to be triggered by cronjob at morning and evening, or manually. Use this skill only when the user says "pulse" or "/pulse".
| 1 | # 📡 Pulse |
| 2 | |
| 3 | A comprehensive twice-daily tech briefing combining product launches, open-source trends, curated news, market indices, and weather forecasts. Designed for group distribution to a 4000+ person tech community. Runs at morning and evening, or manually. |
| 4 | |
| 5 | ## Locale |
| 6 | |
| 7 | The final output should be in the user's preferred language which is `zh-CN` simplified Chinese. |
| 8 | |
| 9 | ## Workflow Overview |
| 10 | |
| 11 | Execute the following steps in order. **Do NOT call `web_fetch`/`web_search` for sources that prefetch returned successfully** — use the prefetch JSON when building Step 4. **Step 2** is the only routine step that uses `web_search` (supplemental corporate and AI news). If a prefetch source’s `errors` entry is non-null, fall back to `web_fetch`/`web_search` for that source only. |
| 12 | |
| 13 | --- |
| 14 | |
| 15 | ### Step 1: Run Prefetch Script |
| 16 | |
| 17 | ```bash |
| 18 | cd .claude/skills/pulse && uv run scripts/prefetch.py |
| 19 | ``` |
| 20 | |
| 21 | Returns a JSON blob with `producthunt`, `github_trending`, `google_news`, `podcasts`, `weather`, `stock`, and when `GITHUB_OAUTH_TOKEN` is set: `agentara_stars`, `helixent_stars` (GitHub API counts for MagicCube/agentara and MagicCube/helixent). |
| 22 | |
| 23 | - **Use prefetch as-is** for Product Hunt, GitHub Trending, Google News inputs, Podcasts, Weather, and Stock in Step 4 when the corresponding payload has no error. |
| 24 | - If a slice fails, recover that slice only via `web_fetch`/`web_search` (same coverage prefetch would have provided). |
| 25 | |
| 26 | --- |
| 27 | |
| 28 | ### Step 2: Fetch & Curate News |
| 29 | |
| 30 | **Podcasts** come from prefetch only — do not run a separate podcast search here. |
| 31 | |
| 32 | Merge **`google_news`** from prefetch with supplemental items from the web searches below. Then apply curation rules (2c). |
| 33 | |
| 34 | #### 2a: Alibaba & ByteDance Corporate News |
| 35 | |
| 36 | 1. From `prefetch.searches`, look for: earnings reports, major product launches, leadership changes, regulatory actions, acquisitions, layoffs, stock-moving events. |
| 37 | 2. If nothing material, skip this sub-section entirely — do NOT pad with trivial news. |
| 38 | |
| 39 | #### 2b: AI Industry News |
| 40 | |
| 41 | 1. From `prefetch.searches`, look for: major model releases, notable funding rounds, regulatory developments, breakthrough research, significant product launches in the AI space. |
| 42 | 2. Only leave the news items that have happened today or are about to happen imminently. |
| 43 | |
| 44 | #### 2c: Curation Rules (MUST follow) |
| 45 | |
| 46 | Before finalizing the news list, apply these filters strictly: |
| 47 | |
| 48 | - **Timeliness**: The event MUST have happened today or be about to happen imminently. Do not include stories from yesterday or earlier unless they broke overnight and are still developing. |
| 49 | - **Significance**: Would the reader want to be interrupted to learn about this? If not, skip it. |
| 50 | - **Deduplication**: Avoid repeating stories from prior Pulse issues. If a story is a meaningful update to a previous one, include it with a "🔄 进展更新" note. |
| 51 | - **Result**: Aim for **3–8 news items total** across all sub-categories (including merged Google News). Fewer is better than padding. |
| 52 | |
| 53 | --- |
| 54 | |
| 55 | ### Step 3: Final Deduplication |
| 56 | |
| 57 | After Step 2, before assembling the final output: |
| 58 | |
| 59 | 1. Review all items that will appear in the **News** section (and across sections if the same story could appear twice) for duplicates. |
| 60 | 2. Remove duplicate stories. If a story is a meaningful update to a developing event, keep one entry with a "🔄 进展更新" note. |
| 61 | |
| 62 | --- |
| 63 | |
| 64 | ### Step 4: Assemble Output |
| 65 | |
| 66 | > **CRITICAL — OUTPUT STARTS WITH THE TITLE, NOTHING ELSE.** |
| 67 | > Your very first character of output MUST be `#`. No preamble, no status updates, no "数据已收集完毕", no "正在整理", no "以下是今日Pulse", no transition sentences of any kind. The Pulse title IS the start of your response. |
| 68 | |
| 69 | Use the following template. All section titles and product/repo/news names MUST be hyperlinked directly — no separate "sources" section. |
| 70 | |
| 71 | Language: Chinese (full-width punctuation: ,、:!?。)for prose; English for product names, repo names, and technical terms. |
| 72 | |
| 73 | ```markdown |
| 74 | # 📡 Pulse | {🌅 or 🌆} — {YYYY年M月D日} |
| 75 | |
| 76 | ## <font color="navy">🚀 Product Hunts</font> |
| 77 | |
| 78 | - **[Product Name](https://www.producthunt.com/posts/slug)** {upvotes if available} |
| 79 | 简短介绍与点评(简体中文)。 |
| 80 | |
| 81 | - **[Product Name](URL)** |
| 82 | ... |
| 83 | |
| 84 | (5-10 items) |
| 85 | |
| 86 | --- |
| 87 | |
| 88 | ## <font color="navy">🔥 GitHub Trending</font> |
| 89 | |
| 90 | - **[owner/repo](https://github.com/owner/repo)** ⭐ {total stars} (+{today}) |
| 91 | Description。{Language}。简短点评(简体中文)。 |
| 92 | |
| 93 | - **[owner/repo](URL)** ⭐ ... |
| 94 | ... |
| 95 | |
| 96 | (5 items) |
| 97 | |
| 98 | --- |
| 99 | |
| 100 | ## <font color="navy">📰 News</font> |
| 101 | |
| 102 | - **[Headline](URL)** |
| 103 | 1–2 sentence summary(简体中文)。 |
| 104 | |
| 105 | - **[Headline](URL)** |
| 106 | ... |
| 107 | |
| 108 | (3–8 items, or fewer if it's a quiet day) |
| 109 | |
| 110 | --- |
| 111 | |
| 112 | ## <font color="navy">🎙️ Podcasts</font> (If exists updates) |
| 113 | |
| 114 | - **[Channel Name - Episode Title](episode_url)** — Podcast Name |
| 115 | shownotes 摘要(1-2 句简体中文重点总结)。 |
| 116 | |
| 117 | - **[Episode Title](episode_url)** — Podcast Name |
| 118 | ... |
| 119 | |
| 120 | (1-3 items) |
| 121 | |
| 122 | --- |
| 123 | |
| 124 | ## <font color="navy">💰 Stock Market</font> |
| 125 | |
| 126 | > For each |