Cnki Journal Index
Query journal indexing/inclusion status on CNKI - check which databases include a...
Install
npx skills add cookjohn/cnki-skills --skill cnki-journal-index -g -a claude-code -y- Repository
- cookjohn/cnki-skills1k
- Category
- Design
- Updated
- 8mo ago
- License
- See repository
- Context cost
- Lightabout 1,356 tokens
- Runs scripts
- No, instructions only
What it does
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.
CNKI Journal Indexing Query (收录查询)
Check which databases index a journal and extract evaluation metrics from its CNKI detail page.
Arguments
$ARGUMENTS is either:
- A journal name (will search first, then navigate to detail)
- A CNKI journal detail URL (containing
navi.cnki.net/knavi/detail)
Steps
1. Navigate to the journal detail page
If URL provided: Navigate directly.
- Use
mcp__chrome-devtools__navigate_pagewith the URL. - Use
mcp__chrome-devtools__wait_forwith text["该刊被以下数据库收录"]and timeout 15000.
If journal name provided: Search first.
- Navigate to
https://navi.cnki.net/knavi - Search for the journal (same as cnki-journal-search steps 2-4)
- Click the first matching journal title link
- Use
mcp__chrome-devtools__list_pagesto find and select the new detail tab - Wait for the detail page to load
2. Check for captcha
Take snapshot. If "拖动下方拼图完成验证" found, notify user.
3. Extract journal info via JavaScript
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));


