How k-skill Automates Naver Service Interactions for AI Agents

Yes, the k-skill repository provides production-grade automation for Naver Blog, Naver News, and Naver Shopping, allowing AI agents to query these services programmatically via standardized CLI commands without requiring private API credentials.

The k-skill framework from NomaDamas bundles three first-party skills specifically designed to let AI agents interact with Naver's ecosystem. These skills handle authentication, rate limiting, and response normalization automatically, exposing a unified JSON interface that agents can consume directly.

Three First-Party Naver Skills

The repository ships with dedicated skills for the three major Naver services, each optimized for agentic consumption.

The naver-blog-research skill scrapes public blog search results using only Python's standard library. It fetches full post HTML and can download associated images without requiring any authentication tokens.

According to the source code, the core logic resides in naver-blog-research/scripts/naver_search.py, which implements the scraping logic described in the skill's documentation at naver-blog-research/SKILL.md. This skill is unique among the three because it operates entirely without API keys, making it immediately deployable for agents.

The naver-news-search skill queries Naver's Open API endpoint at https://openapi.naver.com/v1/search/news.json. The implementation in packages/k-skill-proxy/src/naver-news.js normalizes titles, links, and timestamps into a consistent format.

While the proxy layer can inject clientId and clientSecret if provided by the host, the skill functions without these credentials, routing requests through a proxy that handles the upstream communication.

The naver-shopping-search skill implements a dual-strategy approach in packages/k-skill-proxy/src/naver-shopping.js. It first attempts to use the official Naver Shopping Open API, then falls back to the public BFF JSON endpoint at https://ns-portal.shopping.naver.com/api/v2/shopping-paged-slot if needed.

This skill normalizes product titles, prices, and seller links, and supports local re-sorting of results to give agents flexibility in how they present commerce data.

Proxy-Centric Architecture for Reliable Automation

All three Naver skills share a common proxy-centric architecture that ensures consistent behavior and error handling.

Request Validation and Normalization

Each skill implements a normalize...Query helper to validate parameters before upstream calls. For example, normalizeNaverNewsSearchQuery in packages/k-skill-proxy/src/naver-news.js (lines 95-108) checks required parameters, clamps result limits, and throws descriptive errors for malformed queries.

Upstream Fetching with Error Handling

The proxy wraps upstream API calls in standardized fetch functions. In packages/k-skill-proxy/src/server.js (lines 48-37), the fetchNaverShoppingSearch usage demonstrates how errors from Naver's endpoints are caught and wrapped into a standard payload containing error, message, and optional upstream fields, preventing agents from receiving raw HTTP errors.

Intelligent Caching Layer

To reduce load on Naver's infrastructure and improve response times, the proxy implements an LRU cache using deterministic keys generated by makeCacheKey. The cache handling logic in packages/k-skill-proxy/src/server.js (lines 9-27) stores repeated queries in memory, serving identical agent requests instantly.

Uniform Response Schema

Regardless of which Naver service is queried, the proxy returns a consistent JSON structure: {items, query, meta, upstream?, proxy}. This uniformity allows AI agents to parse results using a single code path, switching between blog research, news monitoring, or price comparison without adjusting their response handlers.

How AI Agents Invoke Naver Skills

AI agents interact with these services through standardized CLI wrappers provided by k-skill-cli. The npx command automatically resolves skill assets and pipes JSON output to stdout, making it trivial for language models to parse results and determine next actions.


# Search Naver blogs for "서울 맛집" (top 5 results)

npx -y @nomadamas/k-skill@0 exec naver-blog-research scripts/naver_search.py -- "서울 맛집" --count 5 --sort sim

# Pull latest news about "코로나바이러스"

npx -y @nomadamas/k-skill@0 exec naver-news-search scripts/naver_news_search.py -- "코로나바이러스" --display 10

# Compare prices for "무선 충전기" on Naver Shopping

npx -y @nomadamas/k-skill@0 exec naver-shopping-search scripts/naver_shopping_search.py -- "무선 충전기" --limit 10 --sort price_asc

These commands return normalized JSON that agents can process to display results, ask clarifying questions, or proceed to checkout actions. The runtime audit table in docs/runtime-action-audit.md (line 118) marks these skills as "commerce" capable, meaning they support safe chaining to clarification steps before order placement.

Key Implementation Files

Summary

  • k-skill provides three production-ready skills for Naver Blog, Naver News, and Naver Shopping automation.
  • The proxy-centric architecture enforces request validation, intelligent caching, and uniform JSON responses across all services.
  • AI agents invoke these skills via standardized CLI commands using npx, receiving structured data that requires no HTML parsing.
  • No private API keys are required for blog research, while news and shopping skills can operate with or without credentials via the proxy layer.
  • Error handling and upstream response normalization are implemented in packages/k-skill-proxy/src/server.js, ensuring agents receive predictable data structures even when Naver's APIs fail.

Frequently Asked Questions

Do I need Naver API credentials to use k-skill?

No credentials are required for the naver-blog-research skill, which scrapes public data using only Python's standard library. For naver-news-search and naver-shopping-search, the proxy can inject clientId and clientSecret if available, but both skills include fallback mechanisms that work without authentication, routing through public endpoints or BFF APIs.

How does k-skill handle rate limiting from Naver's APIs?

The proxy implements an in-memory LRU cache using makeCacheKey to serve repeated queries instantly, reducing redundant calls to Naver's infrastructure. Additionally, request normalization helpers clamp result limits and validate parameters before upstream calls occur, preventing malformed requests that might trigger rate limits.

Can AI agents modify the sorting or filtering of Naver Shopping results?

Yes. The naver-shopping-search skill supports local re-sorting of results after fetching them from the BFF JSON endpoint. Agents can specify sort orders like price_asc or price_desc via CLI arguments, and the normalization logic in packages/k-skill-proxy/src/naver-shopping.js handles the reordering before returning the final payload.

What happens if a Naver API endpoint returns an error?

The proxy layer in packages/k-skill-proxy/src/server.js catches upstream errors and wraps them into a standardized response containing error, message, and optional upstream fields. This ensures AI agents receive predictable JSON structures rather than raw HTTP errors, allowing them to implement graceful degradation or retry logic based on the error type.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →