[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DB7X3G4NF2GT5NNCKZD7NB":3,"skill-same:01M6DB7X3G4NF2GT5NNCKZD7NB":120},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":14,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6DB7X3G4NF2GT5NNCKZD7NB","consensus-tooluniverse-research",null,"Use when downloading or systematically harvesting research from Consensus.app - extract each shared search browser-free from the page __NEXT_DATA__ payload, resolve every cited paper to a DOI and open-access PDF with ToolUniverse (Crossref, OpenAlex, Unpaywall, EuropePMC), organize by topic with a DOI-linked bibliography, and verify headline claims against primary sources.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"research","consensus tooluniverse research","consensus","use","PDF","free","app","paper","shared","next","organize","payload","search","extract","browser","page","access","open","verify","data","2026-11-10 10:12:30",false,"---\nname: consensus-tooluniverse-research\ndescription: Use when downloading or systematically harvesting research from Consensus.app - extract each shared search browser-free from the page __NEXT_DATA__ payload, resolve every cited paper to a DOI and open-access PDF with ToolUniverse (Crossref, OpenAlex, Unpaywall, EuropePMC), organize by topic with a DOI-linked bibliography, and verify headline claims against primary sources.\n---\n\n# Consensus + ToolUniverse Research Harvest\n\nTurn Consensus.app searches into an organized, DOI-linked, open-access paper library — deterministically\nand without a browser — then verify the claims against primary literature with ToolUniverse.\n\n**Why two tools:** Consensus gives the *human synthesis* (meter, claims-evidence tables) but keys papers by\nan internal `hash_paper_id` with **no DOI**. ToolUniverse gives the *machine provenance* (DOI → OA full-text).\nThey compose; neither alone is enough. Full rationale: `references\u002FBEST-METHOD.md`.\n\n---\n\n## When to use\n- \"Download \u002F save these Consensus searches as text + the papers + the graph.\"\n- \"Build me a paper library on \u003Ctopic> with PDFs and a bibliography.\"\n- Any systematic literature harvest where you want primary-source PDFs + provenance, not just a summary.\n\n## Prerequisites\n- **ToolUniverse** installed (`import tooluniverse`; `tu.load_tools()` before any call). `pip install requests tooluniverse` (or run with the ToolUniverse venv).\n- Consensus shared-search URLs (`https:\u002F\u002Fconsensus.app\u002Fsearch\u002F\u003Cslug>\u002F\u003Cthread_id>\u002F`) — public, no login.\n- **Config (no hardcoding — the scripts read these):** `CONSENSUS_WS` = workspace dir (or `--ws`, default cwd);\n  `UNPAYWALL_EMAIL` = your contact email (or `--email`; **required** by Unpaywall\u002FOpenAlex, fails fast if unset).\n\n## Run\n```bash\nexport CONSENSUS_WS=\u002Fpath\u002Fto\u002Fworkspace\nexport UNPAYWALL_EMAIL=you@example.com\npython scripts\u002Fextract_consensus.py --urls searches.txt   # one Consensus URL per line, OR pass URLs as args\npython scripts\u002Fclean_markdown.py\npython scripts\u002Fresolve_and_download.py                    # resumable; %PDF-verified; OA-only\npython scripts\u002Fresolve_and_download_v2.py                 # optional: keyed OA recovery (CORE\u002FElsevier\u002FZenodo\u002FDOAJ)\npython scripts\u002Fresolve_v3_extra_sources.py                # optional: + Semantic-Scholar\u002FSpringer\u002FPMC tiers\n```\n(v2\u002Fv3 read the same `CONSENSUS_WS` (or `--ws`, default cwd) as stage 1.)\n\n---\n\n## Pipeline (3 stages — scripts in `scripts\u002F`)\n\n### Stage 1 — extract text + paper list  (`scripts\u002Fextract_consensus.py`)\nDeterministic, browser-free. `GET` the shared URL → parse `\u003Cscript id=\"__NEXT_DATA__\">` →\n`props.pageProps.thread.interactions[]`. Per interaction: `analysis` (source markdown = the download),\n`user_message`, `agent_trace.summary_stats` (retrieved→eligible→included), and paper objects\n(`title`, `year`, `first_author`, `hash_paper_id`, `has_full_text`). Writes `\u003CNN>_search.md`,\n`papers.json`, `meta.json`, `_raw_thread.json` per search.\nThen `scripts\u002Fclean_markdown.py` converts Consensus render-tags (`consensus_meter`, `search_strategy_diagram`,\n`top_contributors`, …) to readable markdown and lifts meter questions + funnels into `meta.json`.\n\n### Stage 2 — resolve + download papers, OA-only  (`scripts\u002Fresolve_and_download.py`)\n1. Dedup all `papers.json` by `hash_paper_id` → master list.\n2. **DOI:** `Crossref_search_works` (fallback `openalex_search_works`). **Acceptance test:** SequenceMatcher\n   title-ratio ≥0.80 AND year ±1 AND **first-author surname present in the candidate's authors** (title+year\n   alone can false-match a different author's same-named work). Records `match_score` + matched title — this\n   is a resolution *rate*, not validated precision; spot-check. *(SemanticScholar 403\u002F429s keyless — deprioritized\n   for DOI resolution here; its `openAccessPdf` is still used for OA downloads in Stage 2c.)*\n3. **OA:** `tu.run({\"name\":\"Unpaywall_get_full_text_url\",\"arguments\":{\"doi\":doi,\"email\":EMAIL}})` →\n   `is_oa` + `all_oa_locations`.\n4. **Download tiers** (browser UA + `Referer`; OA-only): Unpaywall pdf locations → NCBI PMC OA package\n   (`oa.fcgi`) → EuropePMC `fullTextXML`. Download once to `_library\u002F`, copy into each citing\n   `searches\u002F\u003Ctopic>\u002Fpapers\u002F`. Writes `master_bibliography.{json,csv}`, per-topic `references.md`,\n   `_funnel_report.json`. Resumable via `_progress.json`.\n\n### Stage 2b — keyed recovery of bot-walled papers  (`scripts\u002Fresolve_and_download_v2.py`, optional)\nKeyless v1 leaves OA-but-Cloudflare-walled papers as ⛔. v2 re-fetches them via **legitimate keyed sources**\n(keys in `~\u002F.tooluniverse\u002F.env`, read by name — see `references\u002FPAPER-RETRIEVAL-KEYS.md`):\n**CORE → Elsevier** (the publisher's *own* entitled API) **→ Zenodo → DOAJ → Unpaywall-retry**, %PDF-verified.\nRe-runs only the `blocked` (and entitled-paywalled) rows; **never bypasses a paywall** — no Sci-Hub\u002FLibGen,\nstrictly OA + rights-holder-sanctioned access. Absent keys are skipped gracefully.\n\n### Stage 2c — extra OA tiers on still-blocked rows  (`scripts\u002Fresolve_v3_extra_sources.py`, optional)\nRuns *after* v2 on whatever is still `blocked` \u002F paywalled-without-PDF. Adds three more legitimate OA tiers:\n**Semantic Scholar keyless** (`openAccessPdf`; the provided key 403s, so it runs keyless at a lower rate) **→\nSpringer-OA** (`api.springernature.com\u002Fopenaccess`, OA articles only) **→ NCBI-keyed PMC** (EuropePMC → PMCID →\n`oa.fcgi`; `NCBI_API_KEY` lifts the rate). Same `%PDF`-verified, OA-only, resumable contract as v2; an absent\n`~\u002F.tooluniverse\u002F.env` is tolerated (keys then read from the real environment), and absent keys are skipped.\n\n### Stage 3 — the graph (Consensus Meter)\nRender-time component — the Yes\u002FPossibly\u002FMixed\u002FNo **percentages are not in the payload**. Capture the meter\n**question** + **funnel** (deterministic, in `meta.json`) and a **screenshot** for the visual. The citation\n**Graph** (\"N seeds\") is a distinct feature, not the meter.\n\n---\n\n## ToolUniverse tool reference (this pipeline)\n| Need | Tool | Key args |\n|---|---|---|\n| Title → DOI | `Crossref_search_works` | `query`, `limit` |\n| Title → DOI (fallback) | `openalex_search_works` | `search`, `mailto` |\n| DOI → OA PDF | `Unpaywall_get_full_text_url` | `doi`, `email` |\n| DOI → metadata\u002FOA | `openalex_get_work_by_doi` | `doi`, `mailto` |\n| OA full text (PMC) | `EuropePMC_get_fulltext` \u002F REST `fullTextXML` | `pmcid` |\n| Literature search | `EuropePMC_search_articles`, `PubMed_search_articles`, `openalex_literature_search` | `query`, `limit` |\n| Citation *stance* (supports\u002Fcontrasts) | `scite_get_tallies` (auth-gated, optional) | `pmid` |\n| Citation *influence* (RCR) — **NOT** stance | `iCite_search_publications` | `pmid` |\n\nFor deeper entity work, delegate to the domain skills: `tooluniverse-literature-deep-research`,\n`tooluniverse-neuroscience`, `tooluniverse-pharmacovigilance`, `tooluniverse-drug-drug-interaction`,\n`tooluniverse-toxicology`, `tooluniverse-clinical-guidelines`, `tooluniverse-drug-mechanism-research`.\n\n## Verify — the Consensus `analysis` is an UNVERIFIED secondary claim\nThe downloaded Consensus `analysis` is LLM-generated and can misattribute or overstate — never carry it as a\nprimary finding. To verify a headline\u002Fmeter claim: extract the specific proposition, run a fresh\nprimary-literature query, judge support\u002Fcontradict from the retrieved abstract\u002Ffull text with a **quoted\npassage + DOI**, and require ≥2 independent concordant T1\u002FT2 **human** sources (no T1\u002FT2 contradiction) before\nstating it as fact. Grade every claim per `references\u002FEVIDENCE-GRADING.md` (tier T1–T4 **and** human\u002Fanimal\u002F\nin-vitro type — mechanism never settles a clinical dose\u002Fsafety claim alone). For citation *stance* use\n`scite_get_tallies`; `iCite` gives citation *influence* (RCR), **not** support\u002Fcontradiction. Any\ndosing\u002Ftoxicity\u002Finteraction claim kept from Consensus without a resolved primary source stays labeled\n`UNVERIFIED — Consensus synthesis`.\n\n---\n\n## Caveats (calibrated on real runs)\n- **Publisher Cloudflare walls** (MDPI\u002FWiley\u002FFrontiers) 403 direct PDF GETs even for OA. Use UA+Referer+session;\n  prefer EuropePMC\u002FPMC\u002Fgreen-OA. Un-fetchable ones are logged with their OA URL (⛔) — the paper *is* OA, just\n  bot-walled; download via browser if needed. Not a failure.\n- **Recency lag:** brand-new papers may have a PMCID but no ingested full text yet.\n- **OA-only, always.** \"Every available PDF\" = every legally open-access one. Never bypass paywalls; record\n  paywalled papers with DOI + citation.\n- Expect ~100% DOI resolution *rate* (assigned, not validated precision), ~50-60% OA (corpus-dependent),\n  downloaded PDF a subset of OA. `is_oa` conflates gold\u002Fgreen\u002Fbronze (bronze is revocable); XML captures are\n  text-only (figures absent). Downloads are %PDF-magic-byte verified before counting (an HTML bot-wall page\n  saved as `.pdf` is rejected, not counted).\n\n## Output layout\n```\n\u003Cworkspace>\u002F                                   # ── GENERATED by the scripts ──\n  searches\u002F\u003CNN>_\u003Ctopic>\u002F{\u003CNN>_search.md, papers.json, meta.json, papers\u002F{*.pdf, references.md}}\n  _library\u002F        # deduped OA PDFs\u002FXML by DOI\n  _bibliography\u002F   # master_bibliography.{json,csv} + _funnel_report.json + _progress.json\n                                               # ── PROVIDED (operator-placed, not generated) ──\n  00_INDEX.md  00_BEST-METHOD.md  graphs\u002F  INSTRUCTIONS\u002F{AI-SCOPE,USER-SCOPE,EVIDENCE-GRADING}.md\n```\n\n## Research conduct\nPaste-ready operating instructions: `references\u002FAI-SCOPE.md` (how the assistant works: look-up-don't-guess,\nmechanism-first-not-mechanism-as-proof, harm-reduction in-scope\u002Fdecline boundary) and `references\u002FUSER-SCOPE.md`\n(the user's biochemistry\u002Fneuropharmacology focus). Evidence grading is defined once in\n`references\u002FEVIDENCE-GRADING.md` (tier T1–T4 **×** human\u002Fanimal\u002Fin-vitro type — mechanism never settles a\nclinical dose\u002Fsafety claim alone); both scope docs reference it. Load these when doing the actual research,\nnot just the harvest. Sibling domain skills in this repo: `ddi-admet-research`, `mechanistic-ddi-pipeline`,\n`cheminformatics-rdkit`.\n","# Consensus + ToolUniverse Research Harvest\n\nTurn Consensus.app searches into an organized, DOI-linked, open-access paper library — deterministically\nand without a browser — then verify the claims against primary literature with ToolUniverse.\n\n**Why two tools:** Consensus gives the *human synthesis* (meter, claims-evidence tables) but keys papers by\nan internal `hash_paper_id` with **no DOI**. ToolUniverse gives the *machine provenance* (DOI → OA full-text).\nThey compose; neither alone is enough. Full rationale: `references\u002FBEST-METHOD.md`.\n\n---\n\n## When to use\n- \"Download \u002F save these Consensus searches as text + the papers + the graph.\"\n- \"Build me a paper library on \u003Ctopic> with PDFs and a bibliography.\"\n- Any systematic literature harvest where you want primary-source PDFs + provenance, not just a summary.\n\n## Prerequisites\n- **ToolUniverse** installed (`import tooluniverse`; `tu.load_tools()` before any call). `pip install requests tooluniverse` (or run with the ToolUniverse venv).\n- Consensus shared-search URLs (`https:\u002F\u002Fconsensus.app\u002Fsearch\u002F\u003Cslug>\u002F\u003Cthread_id>\u002F`) — public, no login.\n- **Config (no hardcoding — the scripts read these):** `CONSENSUS_WS` = workspace dir (or `--ws`, default cwd);\n  `UNPAYWALL_EMAIL` = your contact email (or `--email`; **required** by Unpaywall\u002FOpenAlex, fails fast if unset).\n\n## Run\n```bash\nexport CONSENSUS_WS=\u002Fpath\u002Fto\u002Fworkspace\nexport UNPAYWALL_EMAIL=you@example.com\npython scripts\u002Fextract_consensus.py --urls searches.txt   # one Consensus URL per line, OR pass URLs as args\npython scripts\u002Fclean_markdown.py\npython scripts\u002Fresolve_and_download.py                    # resumable; %PDF-verified; OA-only\npython scripts\u002Fresolve_and_download_v2.py                 # optional: keyed OA recovery (CORE\u002FElsevier\u002FZenodo\u002FDOAJ)\npython scripts\u002Fresolve_v3_extra_sources.py                # optional: + Semantic-Scholar\u002FSpringer\u002FPMC tiers\n```\n(v2\u002Fv3 read the same `CONSENSUS_WS` (or `--ws`, default cwd) as stage 1.)\n\n---\n\n## Pipeline (3 stages — scripts in `scripts\u002F`)\n\n### Stage 1 — extract text + paper list  (`scripts\u002Fextract_consensus.py`)\nDeterministic, browser-free. `GET` the shared URL → parse `\u003Cscript id=\"__NEXT_DATA__\">` →\n`props.pageProps.thread.interactions[]`. Per interaction: `analysis` (source markdown = the download),\n`user_message`, `agent_trace.summary_stats` (retrieved→eligible→included), and paper objects\n(`title`, `year`, `first_author`, `hash_paper_id`, `has_full_text`). Writes `\u003CNN>_search.md`,\n`papers.json`, `meta.json`, `_raw_thread.json` per search.\nThen `scripts\u002Fclean_markdown.py` converts Consensus render-tags (`consensus_meter`, `search_strategy_diagram`,\n`top_contributors`, …) to readable markdown and lifts meter questions + funnels into `meta.json`.\n\n### Stage 2 — resolve + download papers, OA-only  (`scripts\u002Fresolve_and_download.py`)\n1. Dedup all `papers.json` by `hash_paper_id` → master list.\n2. **DOI:** `Crossref_search_works` (fallback `openalex_search_works`). **Acceptance test:** SequenceMatcher\n   title-ratio ≥0.80 AND year ±1 AND **first-author surname present in the candidate's authors** (title+year\n   alone can false-match a different author's same-named work). Records `match_score` + matched title — this\n   is a resolution *rate*, not validated precision; spot-check. *(SemanticScholar 403\u002F429s keyless — deprioritized\n   for DOI resolution here; its `openAccessPdf` is still used for OA downloads in Stage 2c.)*\n3. **OA:** `tu.run({\"name\":\"Unpaywall_get_full_text_url\",\"arguments\":{\"doi\":doi,\"email\":EMAIL}})` →\n   `is_oa` + `all_oa_locations`.\n4. **Download tiers** (browser UA + `Referer`; OA-only): Unpaywall pdf locations → NCBI PMC OA package\n   (`oa.fcgi`) → EuropePMC `fullTextXML`. Download once to `_library\u002F`, copy into each citing\n   `searches\u002F\u003Ctopic>\u002Fpapers\u002F`. Writes `master_bibliography.{json,csv}`, per-topic `references.md`,\n   `_funnel_report.json`. Resumable via `_progress.json`.\n\n### Stage 2b — keyed recovery of bot-walled papers  (`scripts\u002Fresolve_and_download_v2.py`, optional)\nKeyless v1 leaves OA-but-Cloudflare-walled papers as ⛔. v2 re-fetches them via **legitimate keyed sources**\n(keys in `~\u002F.tooluniverse\u002F.env`, read by name — see `references\u002FPAPER-RETRIEVAL-KEYS.md`):\n**CORE → Elsevier** (the publisher's *own* entitled API) **→ Zenodo → DOAJ → Unpaywall-retry**, %PDF-verified.\nRe-runs only the `blocked` (and entitled-paywalled) rows; **never bypasses a paywall** — no Sci-Hub\u002FLibGen,\nstrictly OA + rights-holder-sanctioned access. Absent keys are skipped gracefully.\n\n### Stage 2c — extra OA tiers on still-blocked rows  (`scripts\u002Fresolve_v3_extra_sources.py`, optional)\nRuns *after* v2 on whatever is still `blocked` \u002F paywalled-without-PDF. Adds three more legitimate OA tiers:\n**Semantic Scholar keyless** (`openAccessPdf`; the provided key 403s, so it runs keyless at a lower rate) **→\nSpringer-OA** (`api.springernature.com\u002Fopenaccess`, OA articles only) **→ NCBI-keyed PMC** (EuropePMC → PMCID →\n`oa.fcgi`; `NCBI_API_KEY` lifts the rate). Same `%PDF`-verified, OA-only, resumable contract as v2; an absent\n`~\u002F.tooluniverse\u002F.env` is tolerated (keys then read from the real environment), and absent keys are skipped.\n\n### Stage 3 — the graph (Consensus Meter)\nRender-time component — the Yes\u002FPossibly\u002FMixed\u002FNo **percentages are not in the payload**. Capture the meter\n**question** + **funnel** (deterministic, in `meta.json`) and a **screenshot** for the visual. The citation\n**Graph** (\"N seeds\") is a distinct feature, not the meter.\n\n---\n\n## ToolUniverse tool reference (this pipeline)\n| Need | Tool | Key args |\n|---|---|---|\n| Title → DOI | `Crossref_search_works` | `query`, `limit` |\n| Title → DOI (fallback) | `openalex_search_works` | `search`, `mailto` |\n| DOI → OA PDF | `Unpaywall_get_full_text_url` | `doi`, `email` |\n| DOI → metadata\u002FOA | `openalex_get_work_by_doi` | `doi`, `mailto` |\n| OA full text (PMC) | `EuropePMC_get_fulltext` \u002F REST `fullTextXML` | `pmcid` |\n| Literature search | `EuropePMC_search_articles`, `PubMed_search_articles`, `openalex_literature_search` | `query`, `limit` |\n| Citation *stance* (supports\u002Fcontrasts) | `scite_get_tallies` (auth-gated, optional) | `pmid` |\n| Citation *influence* (RCR) — **NOT** stance | `iCite_search_publications` | `pmid` |\n\nFor deeper entity work, delegate to the domain skills: `tooluniverse-literature-deep-research`,\n`tooluniverse-neuroscience`, `tooluniverse-pharmacovigilance`, `tooluniverse-drug-drug-interaction`,\n`tooluniverse-toxicology`, `tooluniverse-clinical-guidelines`, `tooluniverse-drug-mechanism-research`.\n\n## Verify — the Consensus `analysis` is an UNVERIFIED secondary claim\nThe downloaded Consensus `analysis` is LLM-generated and can misattribute or overstate — never carry it as a\nprimary finding. To verify a headline\u002Fmeter claim: extract the specific proposition, run a fresh\nprimary-literature query, judge support\u002Fcontradict from the retrieved abstract\u002Ffull text with a **quoted\npassage + DOI**, and require ≥2 independent concordant T1\u002FT2 **human** sources (no T1\u002FT2 contradiction) before\nstating it as fact. Grade every claim per `references\u002FEVIDENCE-GRADING.md` (tier T1–T4 **and** human\u002Fanimal\u002F\nin-vitro type — mechanism never settles a clinical dose\u002Fsafety claim alone). For citation *stance* use\n`scite_get_tallies`; `iCite` gives citation *influence* (RCR), **not** support\u002Fcontradiction. Any\ndosing\u002Ftoxicity\u002Finteraction claim kept from Consensus without a resolved primary source stays labeled\n`UNVERIFIED — Consensus synthesis`.\n\n---\n\n## Caveats (calibrated on real runs)\n- **Publisher Cloudflare walls** (MDPI\u002FWiley\u002FFrontiers) 403 direct PDF GETs even for OA. Use UA+Referer+session;\n  prefer EuropePMC\u002FPMC\u002Fgreen-OA. Un-fetchable ones are logged with their OA URL (⛔) — the paper *is* OA, just\n  bot-walled; download via browser if needed. Not a failure.\n- **Recency lag:** brand-new papers may have a PMCID but no ingested full text yet.\n- **OA-only, always.** \"Every available PDF\" = every legally open-access one. Never bypass paywalls; record\n  paywalled papers with DOI + citation.\n- Expect ~100% DOI resolution *rate* (assigned, not validated precision), ~50-60% OA (corpus-dependent),\n  downloaded PDF a subset of OA. `is_oa` conflates gold\u002Fgreen\u002Fbronze (bronze is revocable); XML captures are\n  text-only (figures absent). Downloads are %PDF-magic-byte verified before counting (an HTML bot-wall page\n  saved as `.pdf` is rejected, not counted).\n\n## Output layout\n```\n\u003Cworkspace>\u002F                                   # ── GENERATED by the scripts ──\n  searches\u002F\u003CNN>_\u003Ctopic>\u002F{\u003CNN>_search.md, papers.json, meta.json, papers\u002F{*.pdf, references.md}}\n  _library\u002F        # deduped OA PDFs\u002FXML by DOI\n  _bibliography\u002F   # master_bibliography.{json,csv} + _funnel_report.json + _progress.json\n                                               # ── PROVIDED (operator-placed, not generated) ──\n  00_INDEX.md  00_BEST-METHOD.md  graphs\u002F  INSTRUCTIONS\u002F{AI-SCOPE,USER-SCOPE,EVIDENCE-GRADING}.md\n```\n\n## Research conduct\nPaste-ready operating instructions: `references\u002FAI-SCOPE.md` (how the assistant works: look-up-don't-guess,\nmechanism-first-not-mechanism-as-proof, harm-reduction in-scope\u002Fdecline boundary) and `references\u002FUSER-SCOPE.md`\n(the user's biochemistry\u002Fneuropharmacology focus). Evidence grading is defined once in\n`references\u002FEVIDENCE-GRADING.md` (tier T1–T4 **×** human\u002Fanimal\u002Fin-vitro type — mechanism never settles a\nclinical dose\u002Fsafety claim alone); both scope docs reference it. Load these when doing the actual research,\nnot just the harvest. Sibling domain skills in this repo: `ddi-admet-research`, `mechanistic-ddi-pipeline`,\n`cheminformatics-rdkit`.\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Fskills\u002Fconsensus-tooluniverse-research","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill consensus-tooluniverse-research",{"tool":64,"command":65},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill consensus-tooluniverse-research",{"tool":67,"command":68},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill consensus-tooluniverse-research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002FSKILL.md",true,[72,78,82,86,90,94,98,104,108,112,116],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002FAI-SCOPE.md","REFERENCE","参考文档",5268,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Freferences\u002FAI-SCOPE.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002FBEST-METHOD.md",7335,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Freferences\u002FBEST-METHOD.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002FEVIDENCE-GRADING.md",3022,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Freferences\u002FEVIDENCE-GRADING.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002FPAPER-RETRIEVAL-KEYS.md",4957,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Freferences\u002FPAPER-RETRIEVAL-KEYS.md",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002FUSER-SCOPE.md",2915,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Freferences\u002FUSER-SCOPE.md",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"requirements.txt",172,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Frequirements.txt",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fclean_markdown.py","SCRIPT","脚本",4482,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Fscripts\u002Fclean_markdown.py",{"path":105,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Fextract_consensus.py",6111,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Fscripts\u002Fextract_consensus.py",{"path":109,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Fresolve_and_download_v2.py",9021,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Fscripts\u002Fresolve_and_download_v2.py",{"path":113,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":114,"sourceHtmlUrl":115},"scripts\u002Fresolve_and_download.py",13374,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Fscripts\u002Fresolve_and_download.py",{"path":117,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":118,"sourceHtmlUrl":119},"scripts\u002Fresolve_v3_extra_sources.py",7578,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconsensus-tooluniverse-research\u002Fscripts\u002Fresolve_v3_extra_sources.py",[121,142,169,196,210,226],{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":47},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[128,129,130,131,132,133,134,135,136,30,137,138,139,140,141],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":151,"publishedAt":47},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[148],{"categoryNo":149,"categoryName":150,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[152,153,154,155,156,157,158,159,44,160,161,162,163,164,30,32,165,166,167,168],"openmm md","how","decision","pick","linux","analyze","tool","stack","NVIDIA","gpu","license","workflow","windows","molecular dynamics","local","do","MCP",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":181,"publishedAt":47},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[175,178],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":179,"categoryName":180,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[182,183,184,185,186,187,188,189,190,191,153,192,193,194,195],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":202,"publishedAt":47},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[198,203,204,205,206,207,208,209],"setup","report","project","installation","project setup","issues","state",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":217,"publishedAt":47},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[216],{"categoryNo":149,"categoryName":150,"taxonomyType":21,"taxonomyTypeDesc":22},[212,218,133,219,220,221,30,222,223,224,225],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":227,"name":203,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":231,"publishedAt":47},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[203,205,166,232,207,233],"files","interactive"]