
Cnki Journal Search
- 483 installs
- 811 repo stars
- Updated March 13, 2026
- cookjohn/cnki-skills
cnki-journal-search is an agent skill that searches CNKI journal navigation at navi.cnki.net by name, ISSN, CN number, or sponsor for developers validating academic sources and building bibliographies.
About
cnki-journal-search in cookjohn/cnki-skills automates CNKI journal lookup (期刊检索) through Chrome DevTools MCP browser automation. Agents navigate to https://navi.cnki.net/knavi, run evaluate_script searches with a journal name, ISSN, CN number, or sponsor argument, and extract matching publication metadata from results. The skill accepts $ARGUMENTS as the search term and uses a single evaluate_script call without wait_for delays for faster agent turns. argument-hint documents expected inputs so agents pass journal names or identifiers correctly on first attempt. Developers reach for cnki-journal-search when locating peer-reviewed Chinese journal articles, verifying ISSN or CN identifiers, browsing sponsor publications, or building bibliographies during early technical or domain research. The workflow supports validating claims against academic literature before deeper paper retrieval or citation export. Triggers include requests to find a specific CNKI journal or browse publications by name or identifier.
- journal metadata lookup
- ISSN search
- author indexing
- peer-reviewed articles
- CNKI catalog
Cnki Journal Search by the numbers
- 483 all-time installs (skills.sh)
- Ranked #1,806 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cookjohn/cnki-skills --skill cnki-journal-searchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 483 |
|---|---|
| repo stars | ★ 811 |
| Last updated | March 13, 2026 |
| Repository | cookjohn/cnki-skills ↗ |
How do you search CNKI journals by ISSN or name?
Locate peer-reviewed CNKI journal articles by title, author, ISSN, or subject to build bibliographies and validate claims during early domain research.
Who is it for?
Developers and researchers who need agent-driven CNKI journal lookups with Chrome DevTools MCP during literature validation.
Skip if: Teams without CNKI access, non-Chinese literature searches, or workflows that do not use Chrome DevTools MCP browser automation.
When should I use this skill?
User wants to find a CNKI journal, search by ISSN or CN number, browse sponsor publications, or build bibliographies from CNKI.
What you get
CNKI journal search results with publication names, identifiers, and sponsor metadata extracted from navi.cnki.net.
- CNKI journal search results
- Publication identifier metadata
By the numbers
- Searches 4 identifier types: journal name, ISSN, CN number, and sponsor
Files
CNKI Journal Search (期刊检索)
Arguments
$ARGUMENTS is a journal name, ISSN, CN number, or sponsor name.
Steps
1. Navigate
Use mcp__chrome-devtools__navigate_page → https://navi.cnki.net/knavi
2. Search + extract results (single evaluate_script, NO wait_for)
Use mcp__chrome-devtools__evaluate_script. Replace QUERY_HERE with actual search term:
async () => {
const query = "QUERY_HERE";
// Wait for page load
await new Promise((r, j) => {
let n = 0;
const c = () => { if (document.querySelector('input.researchbtn')) r(); else if (++n > 30) j('timeout'); else setTimeout(c, 500); };
c();
});
// Check captcha (visible on screen, not hidden SDK at top:-1000000)
const outer = document.querySelector('#tcaptcha_transform_dy');
if (outer && outer.getBoundingClientRect().top >= 0) return { error: 'captcha' };
// Auto-detect search type and fill
const select = document.querySelector('select');
if (select) {
if (/^\d{4}-\d{3}[\dXx]$/.test(query)) select.value = 'ISSN';
else if (/^\d{2}-\d{4}/.test(query)) select.value = 'CN';
select.dispatchEvent(new Event('change', { bubbles: true }));
}
const input = document.querySelector('input[placeholder*="检索词"]');
if (input) input.value = query;
// Click search button (verified selector: input.researchbtn)
document.querySelector('input.researchbtn')?.click();
// Wait for results
await new Promise((r, j) => {
let n = 0;
const c = () => { if (document.body.innerText.includes('条结果')) r(); else if (++n > 30) j('timeout'); else setTimeout(c, 500); };
c();
});
// Click 期刊 tab to filter journals only
const tabs = document.querySelectorAll('li a');
for (const a of tabs) { if (a.innerText.trim() === '期刊') { a.click(); break; } }
await new Promise(r => setTimeout(r, 1500));
// Extract journal results
const body = document.body.innerText;
const countMatch = body.match(/共\s*(\d+)\s*条结果/) || body.match(/找到\s*(\d+)\s*条结果/);
const count = countMatch ? parseInt(countMatch[1]) : 0;
const results = [];
const titleLinks = document.querySelectorAll('a[href*="knavi/detail"]');
titleLinks.forEach(link => {
const text = link.innerText?.trim();
if (!text || text.length < 2) return;
const parent = link.closest('li, .list-item') || link.parentElement?.parentElement;
const pt = parent?.innerText || '';
results.push({
name: text.split('\n')[0]?.trim(),
url: link.href,
issn: pt.match(/ISSN[::]\s*(\S+)/)?.[1] || '',
cn: pt.match(/CN[::]\s*(\S+)/)?.[1] || '',
cif: pt.match(/复合影响因子[::]\s*([\d.]+)/)?.[1] || '',
aif: pt.match(/综合影响因子[::]\s*([\d.]+)/)?.[1] || '',
citations: pt.match(/被引次数[::]\s*([\d,]+)/)?.[1] || '',
downloads: pt.match(/下载次数[::]\s*([\d,]+)/)?.[1] || '',
sponsor: pt.match(/主办单位[::]\s*(.+?)(?=\n|ISSN)/)?.[1]?.trim() || ''
});
});
return { query, count, results };
}3. Present results
期刊检索 "$ARGUMENTS"(共 {count} 条):
1. {name}
ISSN: {issn} | CN: {cn}
复合影响因子: {cif} | 综合影响因子: {aif}
被引: {citations} | 下载: {downloads}Notes
- Journal detail pages open in new tab — use
list_pages+select_page - If only 1 journal result, can auto-navigate to detail page for
cnki-journal-index - Search button selector:
input.researchbtn(not genericbutton)
Captcha detection
Check #tcaptcha_transform_dy element's getBoundingClientRect().top >= 0. Tencent captcha SDK preloads DOM at top: -1000000px (off-screen, not active). Only return error: 'captcha' when top >= 0 (actually visible to user).
Tool calls: 2 (navigate + evaluate_script)
Related skills
How it compares
Pick cnki-journal-search for CNKI journal discovery; pick general web-search skills when the source is not CNKI academic literature.
FAQ
What can cnki-journal-search look up?
cnki-journal-search queries CNKI journal navigation by journal name, ISSN, CN number, or sponsor name and returns matching publication metadata from navi.cnki.net.
What tools does cnki-journal-search require?
cnki-journal-search uses Chrome DevTools MCP navigate_page and evaluate_script calls to automate searches at https://navi.cnki.net/knavi without manual browser steps.