#865 by GitHub stars
cookjohn/cnki-skills
CNKI (中国知网) skills for Claude Code — search, browse journals, download PDFs, export to Zotero via Chrome DevTools MCP
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/cnki-advanced-search/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-download/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-export/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-journal-index/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-journal-search/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-journal-toc/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-navigate-pages/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-paper-detail/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-parse-results/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20d65f660456
No earlier version was observed for comparison.
skills/cnki-search/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20d65f660456 → 20d65f660456
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20d65f660456
No earlier version was observed for comparison.
Heat
5.2- Star growth, last 7 daysAhead of 90% of tracked repositories
- Star growth, last 24 hoursAhead of 75% of tracked repositories
- Rank movement, last 7 daysAhead of 23% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- cnki-advanced-search
skills/cnki-advanced-search - cnki-download
skills/cnki-download - cnki-export
skills/cnki-export - cnki-journal-index
skills/cnki-journal-index - cnki-journal-search
skills/cnki-journal-search - cnki-journal-toc
skills/cnki-journal-toc - cnki-navigate-pages
skills/cnki-navigate-pages - cnki-paper-detail
skills/cnki-paper-detail - cnki-parse-results
skills/cnki-parse-results - cnki-search
skills/cnki-search
How it works
cnki-advanced-search
When your agent uses it
Perform advanced search on CNKI with field filters like author, title, journal, date range, source category (SCI/EI/CSSCI/北大核心). Use when user needs precise filtered search beyond simple keywords.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
2,144 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Steps
- Tool calls: 2 (navigate + evaluate_script)
- Verified selectors (old-style interface)
- Captcha detection
- Important Notes
Files
SKILL.mdcore7,462 bytesSKILL.mdcore7,462 bytesSKILL.mdcore7,462 bytesSKILL.mdcore7,462 bytesSKILL.mdcore7,462 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-download
When your agent uses it
Download a paper PDF/CAJ from CNKI. Requires user to be logged in. Use when user wants to download a specific paper.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
964 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Arguments
- Steps
- Tool calls: 1–2 (navigate_page if URL + evaluate_script)
- Verified selectors
- Captcha detection
Files
SKILL.mdcore3,528 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-export
When your agent uses it
Export paper from CNKI and push to Zotero, or save as RIS file. Use when user wants to save a paper to Zotero or export citation data.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
1,861 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Mode Selection
- Steps
- Export API Reference
- Verified selectors
- Zotero API Reference
- Important Notes
Scripts executed separately
scripts/push_to_zotero.py
Files
SKILL.mdcore6,774 bytesSKILL.mdcore6,774 bytesSKILL.mdcore6,774 bytesSKILL.mdcore6,774 bytesSKILL.mdcore6,774 bytesscripts/push_to_zotero.pyruns14,309 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-journal-index
When your agent uses it
Query journal indexing/inclusion status on CNKI - check which databases include a journal (北大核心, CSSCI, CSCD, SCI, EI, etc.), get impact factors and evaluation data. Use when user asks about a journal's level, indexing, or ranking.
What it loads into context
Frontmatter
77 tokensAlways available to the agent
SKILL.md
1,650 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Steps
- Verified Page Structure
- Common Indexing Databases
Files
SKILL.mdcore6,385 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-journal-search
When your agent uses it
Search for journals/publications on CNKI by name, ISSN, CN, or sponsor. Use when the user wants to find a specific journal or browse publications.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
1,208 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Steps
- Notes
- Captcha detection
- Tool calls: 2 (navigate + evaluate_script)
Files
SKILL.mdcore4,084 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-journal-toc
When your agent uses it
Browse journal issues, view table of contents, and download original TOC PDF from CNKI. Use when user wants to see papers in a specific journal issue or download the original cover/TOC pages.
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
1,762 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Steps
- Tool calls
- Verified selectors
- Important Notes
Files
SKILL.mdcore6,391 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-navigate-pages
When your agent uses it
Navigate CNKI search result pages (next/previous/specific page) or change sort order. Use when user wants to see more results or change sorting.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
1,349 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Pagination (single evaluate_script)
- Sorting (single evaluate_script)
- Output
- Tool calls: 1 (evaluate_script only)
- Verified selectors
- Captcha detection
Files
SKILL.mdcore4,785 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-paper-detail
When your agent uses it
Extract full paper details from a CNKI paper page including title, authors, affiliations, abstract, keywords, fund, classification. Use when the user needs detailed information about a specific paper.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
1,583 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Steps
- Verified DOM Selectors
Files
SKILL.mdcore6,590 bytesSKILL.mdcore6,590 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-parse-results
When your agent uses it
Parse current CNKI search results page into structured paper data (title, authors, journal, date, citations). Use after a search has been performed and you need to extract the results.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
1,129 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Verified DOM Selectors (CNKI uses jQuery, stable semantic class names)
Files
SKILL.mdcore4,712 bytesSKILL.mdcore4,712 bytesSKILL.mdcore4,712 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcnki-search
When your agent uses it
Search CNKI (中国知网) for papers by keyword. Use when the user wants to find academic papers on a topic.
What it loads into context
Frontmatter
42 tokensAlways available to the agent
SKILL.md
1,309 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Arguments
- Steps
- Captcha detection
- Verified selectors
- Batch export to Zotero
- Tool calls: 2 (navigate + evaluate_script)
Files
SKILL.mdcore5,015 bytesSKILL.mdcore5,015 bytesSKILL.mdcore5,015 bytesSKILL.mdcore5,015 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- cnki-advanced-search
- cnki-download
- cnki-export
- cnki-journal-index
- cnki-journal-search
- cnki-journal-toc
- cnki-navigate-pages
- cnki-paper-detail
- cnki-parse-results
- cnki-search
Repository facts
- License
- No license detected
- Created
- Feb 28, 2026
- Last pushed
- Mar 13, 2026
- Forks
- 89
- Open issues
- 6
- Project activity
- Slowing
Rank over the last 12 weeks
Now #865 · best #619 · down 116 in 30 days
- #851 on Nov 1
- #855 on Nov 2
- #859 from Nov 3 to Nov 4
- #858 on Nov 5
- #860 on Nov 6
- #865 since Nov 7
74 earlier periods
- #622 on Aug 2
- #611 on Aug 8
- #621 on Aug 9
- #645 on Aug 10
- #652 on Aug 12
- #646 on Aug 13
- #643 on Aug 14
- #623 on Aug 15
- #636 on Aug 16
- #648 on Aug 17
- #660 on Aug 18
- #644 on Aug 19
- #642 on Aug 20
- #645 on Aug 21
- #619 on Aug 22
- #646 on Aug 23
- #659 on Aug 24
- #665 on Aug 25
- #649 on Aug 26
- #656 on Aug 27
- #677 on Aug 28
- #629 on Aug 29
- #628 on Aug 30
- #658 on Aug 31
- #672 on Sep 1
- #662 on Sep 3
- #644 on Sep 4
- #638 on Sep 5
- #652 on Sep 6
- #666 on Sep 7
- #684 on Sep 8
- #671 on Sep 9
- #672 on Sep 10
- #660 on Sep 11
- #664 from Sep 12 to Sep 13
- #684 on Sep 14
- #671 on Sep 15
- #678 on Sep 16
- #682 on Sep 17
- #651 on Sep 19
- #664 on Sep 20
- #684 on Sep 21
- #695 on Sep 22
- #691 on Sep 23
- #661 on Sep 24
- #652 on Sep 26
- #682 on Sep 27
- #684 on Sep 28
- #727 on Sep 29
- #666 on Oct 1
- #657 on Oct 3
- #689 on Oct 4
- #693 on Oct 5
- #703 on Oct 6
- #709 on Oct 7
- #749 on Oct 8
- #702 on Oct 11
- #717 on Oct 12
- #723 on Oct 13
- #734 on Oct 14
- #735 on Oct 16
- #710 on Oct 17
- #707 on Oct 18
- #749 on Oct 19
- #751 on Oct 20
- #757 on Oct 21
- #736 on Oct 22
- #740 on Oct 23
- #706 on Oct 24
- #834 on Oct 25
- #839 on Oct 28
- #843 on Oct 29
- #847 on Oct 30
- #850 on Oct 31
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 14 notes
skills/cnki-advanced-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-advanced-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-advanced-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-advanced-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-export/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-export/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-export/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-export/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-paper-detail/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-parse-results/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-parse-results/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/cnki-search/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 40 network referencesin 6 files: cnki-export/scripts/push_to_zotero.py:23 cnki-export/SKILL.md:43 cnki-journal-index/SKILL.md:25 and 3 more
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: cnki-export/scripts/push_to_zotero.py:1
- No access to secrets
- No requests to vote in Hot
Show all 41 signals by file
skills/cnki-advanced-search/SKILL.md
- Network accessline 26
Use `mcp__chrome-devtools__navigate_page` → `https://kns.cnki.net/kns/AdvSearch?classid=7NS01R8M`
skills/cnki-export/SKILL.md
- Network accessline 43
const resp = await fetch(url, { - Network accessline 76
async () => { const API_URL = 'https://kns.cnki.net/dm8/API/GetExport'; - Network accessline 77
const API_URL = 'https://kns.cnki.net/dm8/API/GetExport'; - Network accessline 90
const resp = await fetch(API_URL, { - Network accessline 135
- UTF-8 encoding (avoids Windows encoding issues) - Parsing ELEARNING format into Zotero item fields - Calling `POST http://127.0.0.1:23119/connector/saveItems` - Network accessline 136
- Parsing ELEARNING format into Zotero item fields - Calling `POST http://127.0.0.1:23119/connector/saveItems` - Returns: 201 = success, 500 = error, 0 = Zotero not running - Network accessline 137
- Calling `POST http://127.0.0.1:23119/connector/saveItems` - Network accessline 162
| Parameter | Value | Source | |-----------|-------|--------| | API URL | `https://kns.cnki.net/dm8/API/GetExport` | Fixed, works from any page | - Network accessline 163
|-----------|-------|--------| | API URL | `https://kns.cnki.net/dm8/API/GetExport` | Fixed, works from any page | | filename | Encrypted ID | Detail page: `#export-id`; Results page: `input.cbItem` value | - Network accessline 164
| API URL | `https://kns.cnki.net/dm8/API/GetExport` | Fixed, works from any page | - Network accessline 182
POST http://127.0.0.1:23119/connector/saveItems - Network accessline 197
- **Windows encoding:** Must use Python script, cannot pass Chinese JSON via bash/curl directly
skills/cnki-export/scripts/push_to_zotero.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 23
ZOTERO_API = 'http://127.0.0.1:23119/connector' - Network accessline 29
url = f'{ZOTERO_API}/{endpoint}' body = json.dumps(data or {}, ensure_ascii=False).encode('utf-8') req = urllib.request.Request(url, data=body, headers={ - Network accessline 30
body = json.dumps(data or {}, ensure_ascii=False).encode('utf-8') req = urllib.request.Request(url, data=body, headers={ 'Content-Type': 'application/json', - Network accessline 31
req = urllib.request.Request(url, data=body, headers={ - Network accessline 34
}) try: resp = urllib.request.urlopen(req, timeout=timeout) - Network accessline 35
try: resp = urllib.request.urlopen(req, timeout=timeout) text = resp.read().decode('utf-8') - Network accessline 36
resp = urllib.request.urlopen(req, timeout=timeout) - Network accessline 137
filename = paper.get('filename', '') if dbcode and dbname and filename: item['url'] = f'https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode={dbcode}&dbname={dbname}&filename={filename}' - Network accessline 138
if dbcode and dbname and filename: item['url'] = f'https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode={dbcode}&dbname={dbname}&filename={filename}' elif paper.get('link'): - Network accessline 139
item['url'] = f'https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode={dbcode}&dbname={dbname}&filename={filename}' - Network accessline 178
def download_pdf(pdf_url, cookies='', referer='https://kns.cnki.net'): - Network accessline 180
req = urllib.request.Request(pdf_url, headers={ - Network accessline 184
}) try: resp = urllib.request.urlopen(req, timeout=60) - Network accessline 185
try: resp = urllib.request.urlopen(req, timeout=60) content_type = resp.headers.get('Content-Type', 'application/pdf') - Network accessline 186
resp = urllib.request.urlopen(req, timeout=60) - Network accessline 204
}) url = f'{ZOTERO_API}/saveAttachment?sessionID={session_id}' req = urllib.request.Request(url, data=pdf_bytes, headers={ - Network accessline 205
url = f'{ZOTERO_API}/saveAttachment?sessionID={session_id}' req = urllib.request.Request(url, data=pdf_bytes, headers={ 'Content-Type': content_type, - Network accessline 206
req = urllib.request.Request(url, data=pdf_bytes, headers={ - Network accessline 211
}) try: resp = urllib.request.urlopen(req, timeout=60) - Network accessline 212
try: resp = urllib.request.urlopen(req, timeout=60) return resp.status, None - Network accessline 213
resp = urllib.request.urlopen(req, timeout=60) - Network accessline 228
If attachments are provided, downloads and uploads PDFs after saving metadata. attachments format: [{"itemIndex": 0, "pdfUrl": "https://...", "title": "Full Text PDF"}, ...] - Network accessline 229
attachments format: [{"itemIndex": 0, "pdfUrl": "https://...", "title": "Full Text PDF"}, ...]
skills/cnki-journal-index/SKILL.md
skills/cnki-journal-search/SKILL.md
- Network accessline 17
Use `mcp__chrome-devtools__navigate_page` → `https://navi.cnki.net/knavi`
skills/cnki-search/SKILL.md
- Network accessline 19
Use `mcp__chrome-devtools__navigate_page` → `https://kns.cnki.net/kns8s/search`
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
No combined signals at this commit.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Frontmatter field argument-hint in skills/cnki-advanced-search/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/cnki-advanced-search/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/cnki-advanced-search/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/cnki-advanced-search/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/cnki-advanced-search/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/cnki-advanced-search/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/cookjohn-cnki-skills/)