kr-naver-insight
Skill2 starsChanged 9 days agoMITView on GitHub
Fetch and summarize Naver blog posts from a ranked blogger list for use in a KRX decision memo's Street / Alternative Views section. Use after `kr-naver-blogger` has produced a candidate JSON file, or when the user already knows which blogger IDs to read. Caches individual posts per `logNo` so follow-up runs are cheap, and renders a Markdown insights digest grouped by blogger. Requires `kr-naver-browse`. Do not use to produce a standalone view — this skill summarizes source material, not a thesis.
In this repository42 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- kr-analyst-report-discoverSkill
- kr-analyst-report-fetchSkill
- kr-analyst-report-insightSkill
- kr-analyst-report-watchSkill
- kr-article-readabilitySkill
- kr-chatgpt-reviewSkill
- kr-daily-market-newsSkill
- kr-earnings-reviewSkill
- kr-finance-slide-claritySkill
- kr-foreign-analystSkill
- kr-market-leadersSkill
- kr-market-sentimentSkill
- kr-naver-bloggerSkill
- kr-naver-blog-publishSkill
- kr-naver-browseSkill
- kr-order-backlog-analysisSkill
- kr-portfolio-guardSkill
- kr-portfolio-monitorSkill
- kr-research-siteSkill
- kr-sector-analysisSkill
- kr-sector-auditSkill
- kr-sector-compareSkill
- kr-sector-data-packSkill
- kr-sector-planSkill
- kr-sector-updateSkill
- kr-stock-analysisSkill
- kr-stock-chartSkill
- kr-stock-dart-analysisSkill
- kr-stock-data-packSkill
- kr-stock-planSkill
- kr-stock-updateSkill
- kr-strategy-backtestSkill
- kr-trade-flow-analysisSkill
- kr-web-browseSkill
- telegram-report-senderSkill
- us-daily-market-newsSkill
- us-earnings-reviewSkill
- us-sec-analysisSkill
- us-stock-analysisSkill
- us-strategy-backtestSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
After kr-naver-blogger has produced a dated JSON file for a ticker.
- Distinctive: line 15
When the user supplies an explicit list of blogger IDs to read.
- Distinctive: line 16
When a memo needs source type 4 material (independent long-form analysis) and Naver is the right venue for it.
- Distinctive: line 19
Do not use this skill to:
- Distinctive: line 111
How to interpret it: treat this as an environment bug first, not as proof that the blogger has no relevant posts.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Korean Naver Blog Insights
Given a company and a list of Naver blogger IDs, read their recent posts,
extract the body text, and produce a structured Markdown digest that plugs
into the Street / Alternative Views section of a full memo.
When To Use
- After
kr-naver-bloggerhas produced a dated JSON file for a ticker. - When the user supplies an explicit list of blogger IDs to read.
- When a memo needs source type 4 material (independent long-form analysis) and Naver is the right venue for it.
Do not use this skill to:
- Produce a final thesis or stance — that belongs in
kr-stock-analysis. - Cite bloggers as primary sources for material facts. Treat them as secondary perspectives.
Pipeline
- Fetch —
scripts/fetch-blog-posts.jsreads the bloggers list, walks each blogger's PostList, filters posts that mention the company name or ticker, and pulls the body of each relevant post throughkr-naver-browse. Posts are cached perlogNounder the cache dir; a post is immutable, so cache never expires. - Summarize —
scripts/summarize-insights.jsreads the posts JSON and renders a Markdown digest grouped by blogger, with per-post date, title, snippet, and a source URL.
Output Contract
The summarize step writes a Markdown file that looks like:
# Naver Blog Insights: 엘앤에프 (066970)
기준일: 2026-04-12
## Blogger Coverage Summary
| Blogger | Posts | Coverage Window | Latest |
|---------|-------|-----------------|--------|
| mooyoung_2022 | 5 | 2025-10-12 ~ 2026-04-12 | 2026-04-12 |
## mooyoung_2022 — Recent Posts
### 실리를 찾는 국가 지도자 (2026-04-12)
> 에너지 안보 앞에 다른 선택은 없다. 배터리 양극재를 만드는 기업인 엘앤에프에…
📎 https://blog.naver.com/PostView.naver?blogId=mooyoung_2022&logNo=224249188355Reference: references/output-format.md.
Operating Rules
- Never paraphrase into a thesis. The digest quotes the post and links the source. Synthesis belongs in the memo itself.
- Quote, don't invent. Snippets must be lifted verbatim from the fetched text, with ellipsis for truncation. No reworded summaries.
- Always include the source URL for each post. A memo writer needs the link to cite.
- Truncate each post body to 3000 chars during fetch (handled by
kr-naver-browse). Truncate snippets in the digest to 500 chars. - Skip posts that do not mention the company or ticker in title or first 500 characters of body.
- Stay per-blogger deterministic — sort posts by date descending, fall
back to
logNodescending. - Respect the cache — same
logNoshould never be re-fetched unless--no-cacheis set.
Invocation
# Step 1: fetch (either from blogger list JSON or explicit IDs)
node skills/kr-naver-insight/scripts/fetch-blog-posts.js \
--input .tmp/naver-blog-cache/bloggers/066970/2026-04-12.json \
--company "엘앤에프" --max-posts 5 --output /tmp/posts.json
# or
node skills/kr-naver-insight/scripts/fetch-blog-posts.js \
--company "엘앤에프" --ticker 066970 \
--bloggers mooyoung_2022 --max-posts 5 --output /tmp/posts.json
# renamed tickers can pass legacy names too
node skills/kr-naver-insight/scripts/fetch-blog-posts.js \
--company "리가켐바이오" --aliases "레고켐바이오,리가켐바이오사이언스" \
--ticker 141080 --bloggers foreconomy --max-posts 5 --output /tmp/posts.json
# Step 2: summarize
node skills/kr-naver-insight/scripts/summarize-insights.js \
--input /tmp/posts.json --output /tmp/insights.mdKnown Issue
- Sandbox runtime bug: this skill depends on
kr-naver-browse, which starts a local gstackbrowseserver. In some Codex sandbox environments, local127.0.0.1listen is blocked withEPERM, so the fetch step cannot run inside the sandbox. - What it looks like:
fetch-blog-posts.jsmay report browse startup failures such asNo available port after 5 attemptsorlisten EPERM: operation not permitted. - How to interpret it: treat this as an environment bug first, not as proof that the blogger has no relevant posts.
- Workaround: rerun
fetch-blog-posts.jsoutside the sandbox or with elevated execution. After the recent fix, these failures should also be recorded inposts.json.meta.errorsinstead of being silently flattened intoposts: [].
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

