Daum Trends Briefing

v0.1.2

Fetch Daum real-time trend TOP10, add one-line context (top news title) + links, and print a 12-line briefing suitable for OpenClaw cron + Telegram announce.

1· 306·0 current·0 all-time
bySung Kim@hunkim
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the actual behavior: the script fetches https://www.daum.net/ and https://search.daum.net/search?... for each keyword, extracts titles, and prints 12 lines. No unrelated binaries, env vars, or services are requested.
Instruction Scope
SKILL.md describes exactly the scraping/parsing steps implemented in scripts/briefing.mjs. The instructions do not request access to unrelated files, credentials, or external endpoints beyond Daum/search and an optional external example image link. It notes using OpenClaw cron + Telegram announce but does not itself access Telegram credentials.
Install Mechanism
This is an instruction-only skill with a small included Node.js script and no install spec. It uses Node built-ins only and does not download or extract external archives.
Credentials
The skill declares no required environment variables or credentials and the code does not read environment variables or config paths. No disproportionate secret access is requested.
Persistence & Privilege
always is false and the skill is user-invocable. The skill does not modify other skills or system-wide settings; it only prints to stdout and is safe to run on-demand or via cron.
Assessment
This skill appears to do exactly what it claims: periodic scraping of Daum and building a 12-line briefing. Before installing, confirm you are comfortable with an agent that will make outbound HTTP(S) requests to daum.net and search.daum.net on your behalf and that you will configure any Telegram announce channel separately (the skill does not hold Telegram tokens). Recommended precautions: review the script (it's short and readable), run it locally once to verify output, ensure Node.js is up to date, and consider rate limits or site terms of service for automated scraping. If you plan to announce the output to a chat, remember that anything printed will be posted to that channel.

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

briefingvk97328n4endv5jne7fwghg2cp182ahm1daumvk97328n4endv5jne7fwghg2cp182ahm1latestvk974ydq9n8cpd0x76x7vgvmzg982bts5openclawvk97328n4endv5jne7fwghg2cp182ahm1trendsvk97328n4endv5jne7fwghg2cp182ahm1
306downloads
1stars
3versions
Updated 1mo ago
v0.1.2
MIT-0

What this skill does

Creates a short briefing from Daum 메인 실시간 트렌드(REALTIME_TREND_TOP):

(ClawHub 검증 정책상 바이너리 파일(jpg/png 등)을 스킬에 포함할 수 없어서, 스크린샷은 외부 링크로만 첨부하세요.)

예시 스크린샷(외부 링크): https://github.com/user-attachments/assets/9aefc56b-6f52-4580-b4e5-585bd0e816da

  • TOP10 keywords
  • For each keyword: fetch Daum search page and extract one representative title (usually the first News result)
  • Include links
  • Print exactly 12 lines to stdout:
    1. Title line 2–11) 10 trend lines
    2. updatedAt: ...

Data sources

  • Daum homepage: https://www.daum.net/
  • Daum search (for each keyword): https://search.daum.net/search?w=tot&DA=RT1&rtmaxcoll=AIO,NNS,DNS&q=<keyword>

How to fetch & parse https://www.daum.net/ (REALTIME_TREND_TOP)

Daum renders a large JSON blob inside the HTML. The real-time trend slot appears as a node with:

  • "uiType":"REALTIME_TREND_TOP"
  • contents.data.updatedAt
  • contents.data.keywords (array of { keyword, rank, ... })

Parsing approach (used in the script):

  1. Download the HTML.
  2. Find the first occurrence of "uiType":"REALTIME_TREND_TOP".
  3. From that position, locate:
    • "updatedAt":"..."
    • "keywords":[ ... ]
  4. Extract the keywords array substring by bracket matching, then JSON.parse it.

This avoids having to parse the full page-level JSON assignment.

How to fetch each keyword’s Daum search page & extract 1 title

For each keyword, request:

https://search.daum.net/search?w=tot&DA=RT1&rtmaxcoll=AIO,NNS,DNS&q=<encodeURIComponent(keyword)>

Extraction heuristic (used in the script):

  • Prefer the first match of the News-like title pattern:
    • <strong class="tit-g ..."><a href="...">TITLE</a>
  • Strip HTML tags (<b>...</b> etc.) and decode basic HTML entities.
  • If no title is found, fall back to Daum 검색 결과.

Output format

Example (12 lines):

  1. Daum 실시간 트렌드 TOP10
  2. 1. 키워드: “대표 제목” https://search.daum.net/search?...q=... ...
  3. 10. 키워드: “대표 제목” https://search.daum.net/search?...q=...
  4. updatedAt: 2026-03-05T06:08:51.024+09:00

Script

  • Entry point: scripts/briefing.mjs
  • Runs with Node.js built-ins only.

Run locally

node {workspace}/skills/daum-trends-briefing/scripts/briefing.mjs

Sanity check (should print 12 lines)

node {workspace}/skills/daum-trends-briefing/scripts/briefing.mjs | wc -l | tr -d ' '
# expected: 12

OpenClaw cron job (08:00–21:00 every hour, KST) + Telegram announce

OpenClaw cron jobs live in:

  • ~/.openclaw/cron/jobs.json

In this OpenClaw setup, cron jobs typically run an agent turn. The agent can execute the Node script and then announce the stdout to Telegram.

Create a cron job with the CLI (recommended):

openclaw cron add \
  --name "Daum 실시간 트렌드 브리핑 (매시 정각 KST)" \
  --cron "0 8-21 * * *" \
  --tz "Asia/Seoul" \
  --agent main \
  --announce --channel telegram --to "<YOUR_TELEGRAM_CHAT_ID>" \
  --expect-final \
  --message $'Run this command and announce its stdout as-is:\n\nnode {workspace}/skills/daum-trends-briefing/scripts/briefing.mjs'

Tip: replace {workspace} with your OpenClaw workspace path (often ~/.openclaw/workspace or your configured workspace).

Comments

Loading comments...