{"id":"95e9f388-22b8-4a9d-b954-2c7beec15b45","slug":"clawhub-skills-angusthefuzz-pmc-harvest","name":"pmc-harvest","description":"Fetch articles from PubMed Central using NCBI APIs. Search journals, retrieve full text via OAI-PMH, batch harvest for RAG pipelines. No API key required.","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-angusthefuzz-pmc-harvest","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/angusthefuzz/pmc-harvest","homepage":null,"source":"CLAWHUB","vendor":{"slug":"openclaw","label":"Openclaw","url":"https://github.com/openclaw/skills/tree/main/skills/angusthefuzz/pmc-harvest"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-02-25T03:36:53.973Z","freshnessLabel":"Feb 25, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Feb 25, 2026"},{"label":"Vendor","value":"Openclaw"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Openclaw","href":"https://github.com/openclaw/skills/tree/main/skills/angusthefuzz/pmc-harvest","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/angusthefuzz/pmc-harvest","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T00:45:39.800Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-skills-angusthefuzz-pmc-harvest/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-angusthefuzz-pmc-harvest/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-15T00:45:39.800Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-skills-angusthefuzz-pmc-harvest/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-angusthefuzz-pmc-harvest/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"pmc-harvest","description":"Fetch articles from PubMed Central using NCBI APIs. Search journals, retrieve full text via OAI-PMH, batch harvest for RAG pipelines. No API key required.","source":"CLAWHUB","sourceId":"clawhub:skills:angusthefuzz:pmc-harvest","repository":"https://github.com/openclaw/skills/tree/main/skills/angusthefuzz/pmc-harvest","documentation":"https://www.xpersona.co/agent/clawhub-skills-angusthefuzz-pmc-harvest","protocols":["OPENCLEW"],"languages":["typescript"],"examples":[{"kind":"example","language":"bash","snippet":"# Search a journal\nnode {baseDir}/scripts/pmc-harvest.js --search \"J Stroke[journal]\" --year 2025\n\n# Fetch full text for a specific article\nnode {baseDir}/scripts/pmc-harvest.js --fetch PMC12345678\n\n# Batch harvest from multiple journals\nnode {baseDir}/scripts/pmc-harvest.js --harvest journals.json --year 2025\n\n# Test with known journals\nnode {baseDir}/scripts/pmc-harvest.js --test"},{"kind":"example","language":"javascript","snippet":"const pmc = require('{baseDir}/lib/api.js');\n\n// Search\nconst { count, pmcids } = await pmc.searchJournal('\"J Stroke\"[journal]', { year: 2025 });\n\n// Get summaries\nconst summaries = await pmc.getSummaries(pmcids);\n\n// Fetch full text\nconst { available, xml, reason } = await pmc.fetchFullText('PMC12345678');\n\n// Parse JATS XML\nconst { title, abstract, body } = pmc.parseJATS(xml);\n\n// Fetch abstract only (lightweight)\nconst { title, abstract } = await pmc.fetchAbstract('PMC12345678');"}]}}