cnki-advanced-search
Perform advanced search on CNKI with field filters like author, title, journal, date range,…
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.
$ npx -y skills add cookjohn/cnki-skills --skill cnki-journal-index --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cnki-journal-indexContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
name: cnki-journal-index description: 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. argument-hint: "[journal name or journal detail URL]"
Check which databases index a journal and extract evaluation metrics from its CNKI detail page.
`$ARGUMENTS` is either:
**If URL provided:** Navigate directly.
**If journal name provided:** Search first.
Take snapshot. If "拖动下方拼图完成验证" found, notify user.
Use `mcp__chrome-devtools__evaluate_script` with this function:
() => {
const body = document.body.innerText;
// Journal title
const titleEl = document.querySelector('h3.titbox, h3.titbox1');
const titleText = titleEl?.innerText?.trim() || '';
const titleParts = titleText.split('\n').map(s => s.trim()).filter(Boolean);
const nameCN = titleParts[0] || '';
const nameEN = titleParts[1] || '';
// Indexing tags - extract from text between title and "基本信息"
const tagText = body.match(/Chinese.*?\n\n([\s\S]*?)\n\n基本信息/)?.[1]
|| body.match(new RegExp(nameCN + '[\\s\\S]*?\\n\\n([\\s\\S]*?)\\n\\n基本信息'))?.[1]
|| '';
const knownTags = ['北大核心','CSSCI','CSCD','SCI','EI','CAS','JST','WJCI','AMI','Scopus','卓越期刊','网络首发'];
const indexedIn = knownTags.filter(tag => tagText.includes(tag) || body.includes(tag));
// Basic info
const sponsor = body.match(/主办单位[::]\s*(.+?)(?=\n)/)?.[1] || '';
const frequency = body.match(/出版周期[::]\s*(\S+)/)?.[1] || '';
const issn = body.match(/ISSN[::]\s*(\S+)/)?.[1] || '';
const cn = body.match(/CN[::]\s*(\S+)/)?.[1] || '';
// Publication info
const collection = body.match(/专辑名称[::]\s*(.+?)(?=\n)/)?.[1] || '';
const paperCount = body.match(/出版文献量[::]\s*(.+?)(?=\n)/)?.[1] || '';
// Evaluation info
const impactComposite = body.match(/复合影响因子[::]\s*([\d.]+)/)?.[1] || '';
const impactComprehensive = body.match(/综合影响因子[::]\s*([\d.]+)/)?.[1] || '';
// "该刊被以下数据库收录" section - click "更多介绍" first if needed
const moreBtn = Array.from(document.querySelectorAll('a')).find(a => a.innerText?.includes('更多介绍'));
const hasMoreIntro = !!moreBtn;
return {
nameCN,
nameEN,
indexedIn,
sponsor,
frequency,
issn,
cn,
collection,
paperCount,
impactComposite,
impactComprehensive,
hasMoreIntro,
rawTagText: tagText.substring(0, 200)
};
}If the extraction shows `hasMoreIntro: true`, click the "更多介绍" link to expand detailed indexing information, then take a new snapshot to capture the expanded content.
The expanded section typically lists specific database inclusions with years, such as:
If the user wants detailed evaluation data:
## {nameCN} ({nameEN})
**收录数据库:** {indexedIn joined by " | "}
**基本信息:**
- ISSN: {issn}
- CN: {cn}
- 主办单位: {sponsor}
- 出版周期: {frequency}
- 专辑: {collection}
- 出版文献量: {paperCount}
**评价指标:**
- 复合影响因子 (2025版): {impactComposite}
- 综合影响因子 (2025版): {impactComprehensive}
**收录情况:**
{For each tag in indexedIn: "- ✓ {tag}"}The journal detail page (`navi.cnki.net/knavi/detail`) has:
| Data | Location | |-----------------------|---------------------------------------------| | Title | `h3.titbox.titbox1` — first line CN, second line EN | | Indexing tags | Text nodes after title: "北大核心", "EI", "CSCD", etc. | | "被以下数据库收录" | `h4` heading, below tags | | Basic info | Text patterns: "主办单位:", "ISSN:", "CN:", "出版周期:" | | Publication info | Text patterns: "专辑名称:", "出版文献量:" | | Evaluation info | Text patterns: "复合影响因子:", "综合影响因子:" | | Detailed indexing | Expandable via "更多介绍" link | | Stats tab | "统计与评价" tab link | | Detail page opens in | **New tab** — use list_pages + select_page |
| Tag | Full Name | |-----------|----------------------------------------------| | 北大核心 | 北京大学中文核心期刊 | | CSSCI | 中文社会科学引文索引 | | CSCD | 中国科学引文数据库 | | SCI | Science Citation Index | | EI | Engineering Index | | CAS | Chemical Abstracts Service | | JST | Japan Science and Technology Agency | | WJCI | World Journal Clout Index | | AMI | 中国人文社会科学期刊 AMI 综合评价 | | Scopus | Elsevier Scopus |
CNKI (中国知网) skills for Claude Code — search, browse journals, download PDFs, export to Zotero via Chrome DevTools MCP
Repo: cookjohn/cnki-skills
Perform advanced search on CNKI with field filters like author, title, journal, date range,…
Download a paper PDF/CAJ from CNKI. Requires user to be logged in. Use when user wants to…
Export paper from CNKI and push to Zotero, or save as RIS file. Use when user wants to save a…
Search for journals/publications on CNKI by name, ISSN, CN, or sponsor. Use when the user…
Browse journal issues, view table of contents, and download original TOC PDF from CNKI. Use…
Navigate CNKI search result pages (next/previous/specific page) or change sort order. Use…