| name | tech-news-researcher |
| description | Use this skill when you need to research current tech-news sources, curate 6 to 10 Medium-worthy article topics, save the shortlist to shared memory, and send a numbered WhatsApp digest. Trigger on daily research runs, topic-discovery requests, or asks for fresh article ideas from Product Hunt, Hacker News, or Reddit. |
| user-invocable | true |
| cron-invocable | true |
Tech News Researcher
Research the latest high-signal technology conversations and convert them into a shortlist of timely, article-worthy Medium topics.
When to Use This Skill
Use this skill when:
- a cron job needs a fresh daily shortlist
- the user asks for article ideas or today's best topics
- the pipeline needs a numbered topic list for downstream drafting
Do not use this skill for deep article writing or Medium publication. Its job ends after shortlist creation, memory storage, and WhatsApp delivery.
Mission
Your job is not to summarize the internet. Your job is to identify which current tech stories are most likely to become strong Medium articles for a technical audience.
Every run should end with:
- a curated list of 6 to 10 topic candidates
- one concise reason for each topic
- a structured memory entry that downstream skills can consume
- a clean WhatsApp message sent to the user
Invocation Modes
Cron Invocation
When invoked by cron:
- treat the run as a fresh daily discovery cycle
- collect current signals from the last 24 to 72 hours
- bias toward novelty, momentum, and article potential
- send the shortlist automatically over WhatsApp
User Invocation
When invoked directly by a user:
- refresh the latest shortlist unless the user explicitly asks for the previous one
- if the user asks for a niche angle, bias the shortlist toward that angle
- still save the shortlist to memory in the same schema used by cron runs
Required Research Sources
Use web_search plus web_fetch and browser tools as needed. Prefer direct fetching first. If a source blocks or renders dynamically, use browser navigation and snapshots.
You must inspect at least these sources on every normal run:
- Product Hunt: today's launches or the latest homepage ranking
- Hacker News Top
- Hacker News Ask
- Hacker News Show
- Reddit
r/technology
- Reddit
r/programming
- Reddit
r/MachineLearning
- Reddit
r/LocalLLaMA or r/LocalLLM
You may also inspect adjacent communities when useful, including:
r/artificial
r/devops
r/startups
- notable company engineering blogs surfaced by search
Defaults and Gotchas
- Default to the strongest builder-facing angle, not the loudest headline.
- Default to merging duplicate stories across sources rather than listing them twice.
- Reddit community names can drift over time; if one target subreddit is unavailable, use the closest active community and record that choice implicitly in the source labels.
- If one source is temporarily unavailable, continue the run with the remaining required sources instead of failing the shortlist.
Research Process
Step 1: Gather Signals
Collect candidate signals from each source. For each candidate, capture:
- source
- title
- URL
- timestamp if available
- vote, comment, or ranking signal if available
- one-line explanation of why people care
Avoid low-signal fluff:
- vague funding news without a meaningful technical angle
- generic product launches with no engineering substance
- stale stories that already peaked days ago unless the angle is still accelerating
- duplicate stories across communities without a differentiated angle
Step 2: Normalize and De-duplicate
Merge duplicate signals that refer to the same underlying story. Preserve multiple sources when they strengthen confidence.
For each merged story, identify the best possible Medium angle. Good angles are usually one of:
- why this matters for builders
- how a new launch changes the product or developer landscape
- what technical trend the story reveals
- what engineers can learn from the implementation, architecture, or market shift
Step 3: Score Article Potential
Score each topic qualitatively using the following criteria:
- Freshness: is it recent enough to still matter now?
- Technical depth: can a serious engineering article be written from it?
- Audience fit: would Medium tech readers care?
- Novelty: is the angle distinct from obvious headline coverage?
- Discussion energy: are people reacting, debating, or experimenting with it?
- Evergreen tail: can the article remain useful beyond the same day?
Prefer topics that combine immediacy with a broader lesson.
Step 4: Select 6 to 10 Topics
Return between 6 and 10 topics only. Fewer than 6 usually means you were too conservative. More than 10 creates decision fatigue.
Each topic must include:
- a short headline
- a one-sentence reason
- 2 to 5 supporting source URLs
- source labels for traceability
Output Quality Bar
Each topic should feel publishable as a Medium article, not just shareable as a tweet. A good shortlist entry should imply a plausible article structure.
Examples of strong topics:
- a surprising launch with clear implications for developers
- a sudden shift in open-source AI tooling
- a technical controversy exposing an industry trade-off
- a breakout product that reveals a broader platform trend
Examples of weak topics:
- generic "AI is growing" summaries
- incremental version bumps with no real consequence
- pure gossip
- raw link dumps with no editorial framing
Memory Contract
Always save the shortlist in structured memory under the shared namespace:
- namespace:
tech-medium-pipeline
- key:
latest_shortlist
Use a structure equivalent to:
{
"generated_at": "ISO-8601 timestamp",
"status": "shortlist_sent",
"topics": [
{
"number": 1,
"headline": "Short topic title",
"angle": "Article angle in one sentence",
"reason": "Why this is worth writing now",
"sources": [
{"label": "Product Hunt", "url": "https://..."},
{"label": "Hacker News", "url": "https://..."}
]
}
]
}
Also update:
- namespace:
tech-medium-pipeline
- key:
conversation_state
With fields equivalent to:
{
"phase": "awaiting_topic_selection",
"last_action": "shortlist_sent",
"last_updated_at": "ISO-8601 timestamp"
}
WhatsApp Message Format
Send a clean, readable numbered list. Keep it compact enough for chat, but informative enough for the user to choose quickly.
Use this message shape:
Here are today's best Medium-worthy tech topics:
1. [Headline] - [one-sentence reason]
2. [Headline] - [one-sentence reason]
3. [Headline] - [one-sentence reason]
Reply with the number or topic name and I'll draft the full article.
Rules:
- do not send raw URLs unless the user asks
- do not send an overly long wall of text
- do not include internal scoring details
- always end with a clear next action
Fallback and Recovery Rules
- If Product Hunt is hard to fetch, use search results plus browser access to recover today's launches.
- If Reddit pages are blocked or partially rendered, use browser tools and inspect visible post lists.
- If one source fails, continue with the others rather than aborting.
- If fewer than 6 strong topics exist, expand the search radius but keep the quality bar high.
- If the user asks why a topic was chosen, provide the rationale and sources from memory.
Guardrails
- Do not invent launch details, metrics, dates, or claims.
- Do not overfit to AI every single day if stronger software, infrastructure, or security stories exist.
- Do not produce duplicate shortlist entries with slightly different wording.
- Do not confuse popularity with article-worthiness.
- Prefer evidence and momentum over hype.
Completion Checklist
Before ending:
- Confirm you reviewed all required source categories or documented any source failure.
- Confirm you selected 6 to 10 topics only.
- Save the shortlist to memory in the shared schema.
- Send the WhatsApp shortlist.
- Leave the pipeline in
awaiting_topic_selection state.