@kiyeonjeon21/ncli 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/skills/datalab.md +99 -0
- package/skills/search.md +96 -0
- package/.claude/skills/datalab.md +0 -80
- package/.claude/skills/search.md +0 -66
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kiyeonjeon21/ncli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "Agent-native CLI for Naver Open APIs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"dist",
|
|
11
11
|
"CONTEXT.md",
|
|
12
12
|
"AGENTS.md",
|
|
13
|
-
"
|
|
13
|
+
"skills"
|
|
14
14
|
],
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc",
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ncli-datalab
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Rules and patterns for using ncli DataLab APIs. Use when analyzing search trends or shopping insights.
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
requires:
|
|
8
|
+
bins: ["ncli"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ncli datalab Operations
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
1. Always use `--json` with full payload — DataLab APIs require structured input
|
|
16
|
+
2. Always use `--output json` for output
|
|
17
|
+
3. Rate limit is 1,000 calls/day — use sparingly
|
|
18
|
+
4. Date format is `yyyy-mm-dd`
|
|
19
|
+
5. `endDate` must not be in the future
|
|
20
|
+
6. `timeUnit` must be one of: `date`, `week`, `month`
|
|
21
|
+
7. Maximum 5 keyword groups per request
|
|
22
|
+
8. Always use `--dry-run` to validate before executing
|
|
23
|
+
|
|
24
|
+
## Authentication
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
export NAVER_CLIENT_ID="your-client-id"
|
|
28
|
+
export NAVER_CLIENT_SECRET="your-client-secret"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Workflows
|
|
32
|
+
|
|
33
|
+
### Search keyword trend
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
ncli datalab trend --json '{
|
|
37
|
+
"startDate": "2026-01-01",
|
|
38
|
+
"endDate": "2026-04-01",
|
|
39
|
+
"timeUnit": "month",
|
|
40
|
+
"keywordGroups": [
|
|
41
|
+
{"groupName": "AI", "keywords": ["artificial intelligence", "AI"]},
|
|
42
|
+
{"groupName": "blockchain", "keywords": ["blockchain"]}
|
|
43
|
+
]
|
|
44
|
+
}'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Shopping category trend
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
ncli datalab shopping --json '{
|
|
51
|
+
"startDate": "2026-01-01",
|
|
52
|
+
"endDate": "2026-04-01",
|
|
53
|
+
"timeUnit": "month",
|
|
54
|
+
"category": [
|
|
55
|
+
{"name": "laptop", "param": ["50000832"]}
|
|
56
|
+
]
|
|
57
|
+
}'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### With filters
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
ncli datalab trend --json '{
|
|
64
|
+
"startDate": "2026-01-01",
|
|
65
|
+
"endDate": "2026-04-01",
|
|
66
|
+
"timeUnit": "week",
|
|
67
|
+
"keywordGroups": [{"groupName": "test", "keywords": ["test"]}],
|
|
68
|
+
"device": "mo",
|
|
69
|
+
"gender": "f",
|
|
70
|
+
"ages": ["20", "30"]
|
|
71
|
+
}'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Dry-run validation
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
ncli --dry-run datalab trend --json '{
|
|
78
|
+
"startDate": "2026-01-01",
|
|
79
|
+
"endDate": "2026-04-01",
|
|
80
|
+
"timeUnit": "month",
|
|
81
|
+
"keywordGroups": [{"groupName": "test", "keywords": ["test"]}]
|
|
82
|
+
}'
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Schema Introspection
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
ncli schema datalab.trend
|
|
89
|
+
ncli schema datalab.shopping
|
|
90
|
+
ncli datalab trend --describe
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Error Handling
|
|
94
|
+
|
|
95
|
+
| Error Code | Meaning | Action |
|
|
96
|
+
|------------|---------|--------|
|
|
97
|
+
| `AUTH_REQUIRED` | Missing credentials | Run `ncli init` or set environment variables |
|
|
98
|
+
| `HTTP_400` | Bad request (e.g. future endDate) | Check required fields and date constraints |
|
|
99
|
+
| `HTTP_429` | Rate limited (1,000/day) | Hard daily limit — plan queries carefully |
|
package/skills/search.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ncli-search
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Rules and patterns for using ncli to search Naver services. Use when searching blog, news, web, image, book, cafe, kin, encyclopedia, shop, local, errata, adult, or doc.
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
requires:
|
|
8
|
+
bins: ["ncli"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ncli search Operations
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
1. Always use `--output json` for all commands
|
|
16
|
+
2. Always add `--fields` to minimize response size
|
|
17
|
+
3. Preferred fields for common searches:
|
|
18
|
+
- blog: `title,link,description,bloggername,postdate`
|
|
19
|
+
- news: `title,link,description,pubDate`
|
|
20
|
+
- shop: `title,link,lprice,mallName,brand`
|
|
21
|
+
- book: `title,author,publisher,isbn,description`
|
|
22
|
+
- local: `title,address,roadAddress,telephone`
|
|
23
|
+
4. Use `--json` for complex queries with multiple parameters
|
|
24
|
+
5. Use `--sanitize` when response data will be injected into agent context
|
|
25
|
+
6. Use `--page-all --max-results N` for bulk retrieval
|
|
26
|
+
7. Always use `--dry-run` before mutating operations
|
|
27
|
+
|
|
28
|
+
## Authentication
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
export NAVER_CLIENT_ID="your-client-id"
|
|
32
|
+
export NAVER_CLIENT_SECRET="your-client-secret"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Workflows
|
|
36
|
+
|
|
37
|
+
### Quick search
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
ncli search blog "AI" --fields "title,link,description"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Paginated search
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Page 1
|
|
47
|
+
ncli search news "AI" --display 10 --start 1 --fields "title,link,pubDate"
|
|
48
|
+
|
|
49
|
+
# Page 2
|
|
50
|
+
ncli search news "AI" --display 10 --start 11 --fields "title,link,pubDate"
|
|
51
|
+
|
|
52
|
+
# Auto-paginate
|
|
53
|
+
ncli search blog "AI" --page-all --max-results 50 --output ndjson --fields "title,link"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### JSON payload
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ncli search shop --json '{"query":"macbook","display":5,"sort":"dsc"}' \
|
|
60
|
+
--fields "title,lprice,hprice,mallName"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Stdin input
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
echo '{"query":"AI","display":3}' | ncli search blog --json - --fields "title,link"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Utility searches
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Spell check
|
|
73
|
+
ncli search errata "typo check"
|
|
74
|
+
|
|
75
|
+
# Adult content detection
|
|
76
|
+
ncli search adult "keyword"
|
|
77
|
+
|
|
78
|
+
# Local places
|
|
79
|
+
ncli search local "Gangnam restaurant" --fields "title,address,telephone"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Schema Introspection
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
ncli schema search.blog
|
|
86
|
+
ncli search blog --describe
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Error Handling
|
|
90
|
+
|
|
91
|
+
| Error Code | Meaning | Action |
|
|
92
|
+
|------------|---------|--------|
|
|
93
|
+
| `AUTH_REQUIRED` | Missing credentials | Run `ncli init` or set environment variables |
|
|
94
|
+
| `HTTP_400` | Bad request | Check schema for valid parameters |
|
|
95
|
+
| `HTTP_429` | Rate limited (25,000/day) | Wait and retry |
|
|
96
|
+
| `MISSING_QUERY` | No query provided | Add query argument |
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: naver-datalab
|
|
3
|
-
description: Rules and patterns for using naver CLI DataLab APIs. Use when analyzing search trends or shopping insights.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# naver datalab Operations
|
|
7
|
-
|
|
8
|
-
## Rules
|
|
9
|
-
|
|
10
|
-
1. Always use `--json` with full payload — DataLab APIs require structured input
|
|
11
|
-
2. Always use `--output json` for output
|
|
12
|
-
3. Rate limit is 1,000 calls/day — use sparingly
|
|
13
|
-
4. Date format is `yyyy-mm-dd`
|
|
14
|
-
5. `timeUnit` must be one of: `date`, `week`, `month`
|
|
15
|
-
6. Maximum 5 keyword groups per request
|
|
16
|
-
|
|
17
|
-
## Authentication
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
export NAVER_CLIENT_ID="your-client-id"
|
|
21
|
-
export NAVER_CLIENT_SECRET="your-client-secret"
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Workflows
|
|
25
|
-
|
|
26
|
-
### Search keyword trend
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
naver datalab trend --json '{
|
|
30
|
-
"startDate": "2026-01-01",
|
|
31
|
-
"endDate": "2026-04-01",
|
|
32
|
-
"timeUnit": "month",
|
|
33
|
-
"keywordGroups": [
|
|
34
|
-
{"groupName": "AI", "keywords": ["artificial intelligence", "AI"]},
|
|
35
|
-
{"groupName": "blockchain", "keywords": ["blockchain", "blockchain"]}
|
|
36
|
-
]
|
|
37
|
-
}'
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Shopping category trend
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
naver datalab shopping --json '{
|
|
44
|
-
"startDate": "2026-01-01",
|
|
45
|
-
"endDate": "2026-04-01",
|
|
46
|
-
"timeUnit": "month",
|
|
47
|
-
"category": [
|
|
48
|
-
{"name": "laptop", "param": ["50000832"]}
|
|
49
|
-
]
|
|
50
|
-
}'
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### With filters
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
naver datalab trend --json '{
|
|
57
|
-
"startDate": "2026-01-01",
|
|
58
|
-
"endDate": "2026-04-01",
|
|
59
|
-
"timeUnit": "week",
|
|
60
|
-
"keywordGroups": [{"groupName": "test", "keywords": ["test"]}],
|
|
61
|
-
"device": "mo",
|
|
62
|
-
"gender": "f",
|
|
63
|
-
"ages": ["20", "30"]
|
|
64
|
-
}'
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Schema Introspection
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
naver schema datalab.trend
|
|
71
|
-
naver schema datalab.shopping
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Error Handling
|
|
75
|
-
|
|
76
|
-
| Error Code | Meaning | Action |
|
|
77
|
-
|------------|---------|--------|
|
|
78
|
-
| `AUTH_REQUIRED` | Missing credentials | Set environment variables |
|
|
79
|
-
| `HTTP_400` | Bad request | Check required fields: startDate, endDate, timeUnit, keywordGroups/category |
|
|
80
|
-
| `HTTP_429` | Rate limited (1,000/day) | This is a hard daily limit — plan queries carefully |
|
package/.claude/skills/search.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: naver-search
|
|
3
|
-
description: Rules and patterns for using naver CLI to search Naver services. Use when searching blog, news, web, image, book, cafe, kin, encyclopedia, or shop.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# naver search Operations
|
|
7
|
-
|
|
8
|
-
## Rules
|
|
9
|
-
|
|
10
|
-
1. Always use `--output json` for all commands
|
|
11
|
-
2. Always add `--fields` to minimize response size
|
|
12
|
-
3. Preferred fields for common searches:
|
|
13
|
-
- blog: `title,link,description,bloggername,postdate`
|
|
14
|
-
- news: `title,link,description,pubDate`
|
|
15
|
-
- shop: `title,link,lprice,mallName,brand`
|
|
16
|
-
- book: `title,author,publisher,isbn,description`
|
|
17
|
-
4. Use `--json` for complex queries with multiple parameters
|
|
18
|
-
5. Use `--sanitize` when response data will be injected into agent context
|
|
19
|
-
|
|
20
|
-
## Authentication
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
export NAVER_CLIENT_ID="your-client-id"
|
|
24
|
-
export NAVER_CLIENT_SECRET="your-client-secret"
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Workflows
|
|
28
|
-
|
|
29
|
-
### Quick search
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
naver search blog "keyword" --fields "title,link,description"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Paginated search
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# Page 1
|
|
39
|
-
naver search news "AI" --display 10 --start 1 --fields "title,link,pubDate"
|
|
40
|
-
|
|
41
|
-
# Page 2
|
|
42
|
-
naver search news "AI" --display 10 --start 11 --fields "title,link,pubDate"
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### JSON payload
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
naver search shop --json '{"query":"macbook","display":5,"sort":"dsc"}' \
|
|
49
|
-
--fields "title,lprice,hprice,mallName"
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Schema Introspection
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
naver schema search.blog
|
|
56
|
-
naver schema search.shop
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Error Handling
|
|
60
|
-
|
|
61
|
-
| Error Code | Meaning | Action |
|
|
62
|
-
|------------|---------|--------|
|
|
63
|
-
| `AUTH_REQUIRED` | Missing credentials | Set environment variables |
|
|
64
|
-
| `HTTP_400` | Bad request | Check schema for valid parameters |
|
|
65
|
-
| `HTTP_429` | Rate limited (25,000/day) | Wait and retry |
|
|
66
|
-
| `MISSING_QUERY` | No query provided | Add query argument |
|