cnki-paper-detaillisted
Install: claude install-skill Jensen-Yao/agents-skills
# CNKI Paper Detail Extraction
Extract complete metadata from a CNKI paper detail page.
## Arguments
`the user request` is optionally a CNKI paper detail URL (containing `kcms2/article/abstract`). If not provided, assumes the current page is already a paper detail page.
## Steps
### 1. Navigate to the paper page (if URL provided)
If `the user request` contains a URL:
- Use `chrome-devtools.navigate_page` with the URL.
- Use `chrome-devtools.wait_for` with text `["摘要"]` and timeout 15000.
### 2. Check for captcha
Use `chrome-devtools.take_snapshot`. If "拖动下方拼图完成验证" found, notify user:
> CNKI 正在显示滑块验证码。请在 Chrome 浏览器中手动完成拼图验证,完成后告诉我继续。
### 3. Extract paper metadata via JavaScript
Use `chrome-devtools.evaluate_script` with this function:
```javascript
() => {
const brief = document.querySelector('.brief');
if (!brief) return { error: 'Paper detail section (.brief) not found' };
// Title
const title = brief.querySelector('h1')?.innerText?.trim()
?.replace(/\s*附视频\s*$/, '') // remove "附视频" suffix
?.replace(/\s*网络首发\s*$/, ''); // remove "网络首发" suffix
// Authors - first h3.author contains author links with sup tags
const authorH3s = brief.querySelectorAll('h3.author');
const authorSection = authorH3s[0];
const authors = [];
if (authorSection) {
const authorLinks = authorSection.querySelectorAll('a');
authorLinks.forEach(a => {
const name = a.innerText?.replace(/\d+$/, '').trim();
const supMatch = a.innerText?.match(/(\d+)$/