一键导入
cnki-search
Search CNKI (中国知网) for papers by keyword. Use when the user wants to find academic papers on a topic.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Search CNKI (中国知网) for papers by keyword. Use when the user wants to find academic papers on a topic.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Multi-source literature search, citation verification, MeSH search strategy, citation file management (.nbib/.ris/.bib conversion), and reference management (BibTeX, related articles, ID conversion) via MCP tools (PubMed, CrossRef, arXiv). Use when the user needs coordinated multi-step literature workflows beyond a single MCP call.
Add strict Nature/CNS citations to manuscript text by splitting long passages into citable segments, searching only accepted flagship and subjournal titles from Nature Portfolio, the AAAS Science family, and Cell Press, filtering by publication time range, and exporting one reference-manager-ready output by default. Use this skill whenever the user asks to input text and automatically get references, add citations to a paragraph/manuscript, find Nature-series or CNS support for statements, create text-to-reference correspondence, "分段引用", "自动给出引用", "Nature系列引用", "CNS及子刊", "支撑文献", "补引用", "找引用", or export EndNote/RIS/ENW/Zotero RDF.
Prepare, audit, or revise Nature-ready Data Availability statements, data repository plans, dataset citations, and FAIR metadata checklists for manuscripts. Use when the user asks about Nature data availability, research data sharing, repository selection, accession numbers, restricted or sensitive data, source data, supplementary datasets, DataCite-style dataset references, FAIR metadata for academic publication, or Chinese-to-English data availability wording for Chinese-speaking authors preparing Nature-family submissions.
Submission-grade Nature/high-impact journal figure workflow for Python or R. Use whenever the user asks to create, revise, audit, or polish manuscript figures, multi-panel scientific plots, figures4papers-style matplotlib plots, or journal-ready SVG/PDF/TIFF outputs, especially for Nature-family or other high-impact journals. Before plotting, define the figure's conclusion, evidence logic, export needs, and review risks. If the user has not chosen Python or R, ask "Python or R?" and stop. Use only the selected backend for figure generation, previewing, exporting, and QA. Supports matplotlib/seaborn and ggplot2/patchwork/ComplexHeatmap. Not for dashboards or Illustrator/Figma-first infographics.
Build a complete but efficient Nature-style Chinese PPTX presentation from a scientific paper, preprint, PDF, article text, abstract, figure legends, or reading notes. Use this skill whenever the user asks to make slides/PPT/PPTX for journal club, group meeting, paper sharing, thesis seminar, lab meeting, department report, or academic presentation from a research paper, not only medical papers. It identifies the paper type and argument, selects only the figures needed for the story, writes Chinese slide content and speaker notes, creates the actual .pptx deck, and runs an explicit self-review/corrective revision loop focused on figure quality, text overflow prevention, and non-template visual design before delivery.
Polish, restructure, or translate academic prose into Nature-leaning English using writing-strategy principles, curated Nature/Nature Communications article patterns, and phrase-level support from Academic Phrasebank. Use whenever the user asks to polish a manuscript paragraph, abstract, introduction, results, discussion, conclusion, title, methods section, or Chinese academic draft for publication-quality English.
| name | cnki-search |
| description | Search CNKI (中国知网) for papers by keyword. Use when the user wants to find academic papers on a topic. |
| argument-hint | [search keywords] |
| version | 0.1.0 |
Search CNKI for papers using keyword(s). Returns result count and structured result list (titles, URLs, authors, journal, date) in a single call.
$ARGUMENTS contains the search keyword(s) in Chinese or English.
Use mcp__chrome-devtools__navigate_page → https://kns.cnki.net/kns8s/search
Replace YOUR_KEYWORDS with actual search terms:
async () => {
const query = "YOUR_KEYWORDS";
// Wait for search input (replaces wait_for)
await new Promise((r, j) => {
let n = 0;
const c = () => { if (document.querySelector('input.search-input')) r(); else if (++n > 30) j('timeout'); else setTimeout(c, 500); };
c();
});
// Check captcha (only if 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' };
// Fill and submit (verified selectors: input.search-input, input.search-btn)
const input = document.querySelector('input.search-input');
input.value = query;
input.dispatchEvent(new Event('input', { bubbles: true }));
document.querySelector('input.search-btn')?.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();
});
// Check captcha again
const outer2 = document.querySelector('#tcaptcha_transform_dy');
if (outer2 && outer2.getBoundingClientRect().top >= 0) return { error: 'captcha' };
// Extract current page results (merged parse-results)
const rows = document.querySelectorAll('.result-table-list tbody tr');
const checkboxes = document.querySelectorAll('.result-table-list tbody input.cbItem');
const results = Array.from(rows).map((row, i) => {
const titleLink = row.querySelector('td.name a.fz14');
const authors = Array.from(row.querySelectorAll('td.author a.KnowledgeNetLink') || []).map(a => a.innerText?.trim());
const journal = row.querySelector('td.source a')?.innerText?.trim() || '';
const date = row.querySelector('td.date')?.innerText?.trim() || '';
const citations = row.querySelector('td.quote')?.innerText?.trim() || '';
const downloads = row.querySelector('td.download')?.innerText?.trim() || '';
return {
n: i + 1,
title: titleLink?.innerText?.trim() || '',
href: titleLink?.href || '',
exportId: checkboxes[i]?.value || '',
authors: authors.join('; '),
journal,
date,
citations,
downloads
};
});
return {
query,
total: document.querySelector('.pagerTitleCell')?.innerText?.match(/([\d,]+)/)?.[1] || '0',
page: document.querySelector('.countPageMark')?.innerText || '1/1',
results
};
}
Present results as a numbered list:
Searched CNKI for "$ARGUMENTS": found {total} results (page {page}).
1. {title}
Authors: {authors} | Journal: {journal} | Date: {date}
Citations: {citations} | Downloads: {downloads}
2. ...
When the user wants to open or download a specific paper, use navigate_page with the result's href URL directly — do NOT click the link (clicking opens a new tab and wastes 3 extra tool calls for tab management).
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).
| Element | Selector | Notes |
|---|---|---|
| Search input | input.search-input | id=txt_search, placeholder "中文文献、外文文献" |
| Search button | input.search-btn | type="button" |
| Result count | .pagerTitleCell | text "共找到 X 条结果" |
| Page indicator | .countPageMark | text "1/300" |
| Result rows | .result-table-list tbody tr | Each row = one paper |
| Title link | td.name a.fz14 | Paper title with href |
| Authors | td.author a.KnowledgeNetLink | Author name links |
| Journal | td.source a | Journal/source link |
| Date | td.date | Publication date text |
| Citations | td.quote | Citation count |
| Downloads | td.download | Download count |
When user wants to save results to Zotero, use batch export directly from the results page — do NOT navigate to each detail page. The exportId in results equals the detail page's #export-id. Call cnki-export skill with batch mode (Step 1B). See cnki-export SKILL.md for details.