HN Morning Brief

v1.0.1

Use this skill when the user explicitly mentions Hacker News or HN — e.g. "what's on HN", "show me Hacker News", "top HN stories", "anything good on HN today...

0· 172·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for ken7y/hn-morning-brief.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "HN Morning Brief" (ken7y/hn-morning-brief) from ClawHub.
Skill page: https://clawhub.ai/ken7y/hn-morning-brief
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install hn-morning-brief

ClawHub CLI

Package manager switcher

npx clawhub@latest install hn-morning-brief
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description map to the actual behavior: the skill fetches HN RSS, ranks stories with a small local script, and presents summaries. Required binary (python3) is appropriate and nothing extraneous is requested.
Instruction Scope
SKILL.md directs the agent to (1) read user interests via memory_search to personalize ranking, (2) run the included Python script to fetch HN RSS, and (3) summarize articles when requested. All actions are within the stated scope. Note: the skill explicitly reads agent memory for interests to personalize results, which is expected but is a privacy-relevant action.
Install Mechanism
No install spec or external downloads; the skill is instruction-only with one included local Python script. No network install or arbitrary archive extraction is used.
Credentials
The skill requests no environment variables, credentials, or config paths. Its runtime behavior (network fetch to hnrss.org) does not require secrets and is proportionate to the purpose.
Persistence & Privilege
always:false and default agent invocation are used. The skill does not request persistent system privileges or modify other skills' config. It only reads memory_search and performs read-only network requests when invoked.
Assessment
This skill appears coherent and self-contained: it runs a local Python script to fetch the Hacker News RSS (hnrss.org), personalizes ranking by reading your agent memory for interests, and can fetch/summarize linked articles on demand. Consider whether you are comfortable with the agent accessing your stored "interests/topics" memory for personalization and with the skill making outbound HTTP requests to fetch articles (summarizing external pages may retrieve content you consider sensitive). If that is acceptable, the skill requires no secrets or installs and otherwise has a small, readable code footprint. If you want extra caution, review the included script, or restrict activation to manual invocation only.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📰 Clawdis
OSLinux · macOS · Windows
Binspython3
latestvk974d91tq621t900n9nfpb6p89836r2b
172downloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0
Linux, macOS, Windows

Morning Briefing

Step 1 — Pull user interests from memory

memory_search("interests topics preferences technology news")

Do this first, before fetching stories — the results determine how stories are ranked. Extract any topics, technologies, or themes found. If nothing relevant comes back, fall back to HN ranking order.

Step 2 — Fetch top HN stories

python3 skills/hn-morning-brief/scripts/fetch_hn.py --limit 20

(Path is relative to the project root — openclaw installs this skill at skills/hn-morning-brief/.)

Returns JSON with: title, article_url, hn_url, domain, author, points, num_comments.

Step 3 — Rank and filter

Score each story by combining two signals:

  • Relevance to user interests (from memory) — a story the user cares about is worth more regardless of score
  • HN points — use as a tiebreaker and quality signal when interests are unclear

Surface the 8–12 highest-scoring stories. If memory search returned no clear interests, rank by points only.

Step 4 — Present briefing

## HN Morning Brief — {today's date}

{N} stories picked for you

1. **{Title}** `{domain}` · ⬆ {points} · 💬 {num_comments}
   {one-line context or why this is interesting}
   → [Article]({article_url}) · [HN Discussion]({hn_url})

2. ...

---
Say "dive deeper into #N" or "tell me more about [title]" to get a full summary.

Diving Deeper

When the user picks a story:

  1. Fetch and summarize the article — read the article URL and write a 3–5 sentence summary of the key points. Do this even if the user just says "more on #3" — they want the content, not just the link.
  2. Show both links:
    • Article: {article_url}
    • HN Discussion: {hn_url} (often where the most interesting debate happens)
  3. Offer to go further: "Want me to search for more context on this?"

Gotchas

  • article_url is the original article. hn_url is the HN discussion thread. Never swap them — linking to the HN page when the user wants the article is a bad experience.
  • If the article is a PDF or appears paywalled, say so and summarize from the title, domain, and any available description instead of silently failing.
  • If memory_search returns no clear interests, rank by points and don't guess — invented interests will surface irrelevant stories.

Comments

Loading comments...