Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

researchwrite

skill · yuan1z0825/nature-skillsApache-2.0 licenceAudited 31 Oct 2026 · source c5a4a9d64275

★ 51,590pushed todayversion 2.1.1
✕BLOCKGrade D · 62/100 · 25 findings · c5a4a9d
51,590repo stars · whole yuan1z0825/nature-skills

Is it safe? No — BLOCK, grade D (62/100). We read this skill's source at commit c5a4a9d64275 and observed filesystem, network and shell access and a hard-coded secret (see the findings). The audit raised 25 findings, 9 critical or high. What it does: Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for 文献检索、引文核对、参考文献管理、严格他引 and evidence-backed citer profiles; not for translating a paper or…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “researchwrite (yuan1z0825/nature-skills)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/yuan1z0825/researchwrite

Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 9 critical or high findings, starting with “Prompt injection” in skills/nature-downloader/SKILL.md:130. Do not install it without reading them.

Trust audit

Audit 0.4.1 · source read 31 Oct 2026

Trust score62/100✕BLOCK D
1 critical8 high4 medium22 low7 info

BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 721 of 17,602 audited skills.

What the source does

  • FilesystemDeclared1 observation
  • NetworkDeclared4 observations
  • ShellDeclared1 observation
  • DependenciesNot pinnedSome versions float
  • SecretsFoundSee the findings; values are never shown

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeWARN16
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL9
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: critical finding, no behavioural pass, undeclared transfer.

Findings (25)

CRITICALPrompt injectionprompt.transfer_instruction · skills/nature-downloader/SKILL.md:130
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Do not proactively ask the user to paste an API key into chat. If the user voluntarily sends a publisher API key, treat that as authorization to save that exact key: do not reject it, ask them to rege
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
HIGHPrompt injectionprompt.credential_read · skills/nature-downloader/SKILL.md:31
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
> **Chinese literature is CNKI-only.** A Chinese title, `zh` metadata language, explicit CNKI source URL, or `--route cnki` must use CNKI even if another OA copy appears to exist. Reuse the user's cur
Why
asks the agent to read credentials
Fix
—
HIGHPrompt injectionprompt.credential_read · skills/nature-downloader/SKILL.md:171
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
**User handoff:** Ask the user only after the bounded attempt fails, or immediately when the page requires secret or identity-bearing input such as an image-selection answer, QR approval, SMS/OTP, pas
Why
asks the agent to read credentials
Fix
—
HIGHPrompt injectionprompt.credential_read · skills/nature-downloader/SKILL.md:358
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
references as permission to bypass access controls or to expose credentials, cookies, or session
Why
asks the agent to read credentials
Fix
—
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/common-failure-modes.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
# Common statistical failure modes
Why
invisible characters in instruction text
Fix
strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/figure-statistics.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
# Figure statistics and legend alignment
Why
invisible characters in instruction text
Fix
strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/reviewer-checklist.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
# Reviewer checklist for statistical reporting
Why
invisible characters in instruction text
Fix
strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/source-basis.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
# Source basis for `nature-statistics`
Why
invisible characters in instruction text
Fix
strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/statistical-reporting.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
# Statistical reporting checklist
Why
invisible characters in instruction text
Fix
strip non-printing characters
MEDIUMInformation disclosuredisclose.log_secret · skills/nature-image2ppt/cli/image2ppt/runtime/runtime_env.py:398
F-12 Information disclosureCWE-209 · CWE-532Layer L1
print(f"OCR: {ocr['…']} token={ocr['…']} source={ocr['…']}")
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/nature-shared/scripts/check_consistency.py:160
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
r"(?:\\(?:mathrm|text)\s*\{\s*)?(μm|μm|um|mm|cm|m)(?:\s*\})?"
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/nature-shared/scripts/check_consistency.py:167
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
return "um" if unit in {"μm", "μm"} else unit
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.generic · skills/nature-downloader/tests/python/test_config_credentials.py:17
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
secret = "…"
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · scripts/tests/test_nature_submission_requirements.py:23
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
"../../../../nature-shared/journal-formats/nature.md",
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · scripts/tests/test_nature_submission_requirements.py:27
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
"../../../../nature-shared/journal-formats/nature.md",
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · scripts/tests/test_nature_submission_requirements.py:31
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
"../../nature-shared/core/research-compliance.md",
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · scripts/tests/test_nmi_submission_requirements.py:159
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
"../../../../nature-shared/journal-formats/nature-machine-intelligence.md",
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · scripts/tests/test_nmi_submission_requirements.py:163
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
"../../../../nature-shared/journal-formats/nature-machine-intelligence.md",
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:27
F-04 Network egressCWE-200 · CWE-319Layer L1
METADATA_HOST = "http://169.254.169.254/latest/meta-data/"
Why
cloud metadata endpoint: the classic SSRF credential grab
Fix
—
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:39
F-04 Network egressCWE-200 · CWE-319Layer L1
monkeypatch.setattr(format_converter, "EUTILS_BASE", "http://169.254.169.254")
Why
cloud metadata endpoint: the classic SSRF credential grab
Fix
—
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:46
F-04 Network egressCWE-200 · CWE-319Layer L1
monkeypatch.setattr(format_converter, "CROSSREF_BASE", "http://169.254.169.254/works")
Why
cloud metadata endpoint: the classic SSRF credential grab
Fix
—
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:54
F-04 Network egressCWE-200 · CWE-319Layer L1
monkeypatch.setattr(format_converter, "ARXIV_BASE", "http://169.254.169.254/query")
Why
cloud metadata endpoint: the classic SSRF credential grab
Fix
—
LOWNetwork egressnet.raw_ip · scripts/tests/test_nature_figure_openrouter_errors.py:23
F-04 Network egressCWE-200 · CWE-319Layer L1
api_url="http://127.0.0.1:9/",
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:27
F-04 Network egressCWE-200 · CWE-319Layer L1
METADATA_HOST = "http://169.254.169.254/latest/meta-data/"
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:39
F-04 Network egressCWE-200 · CWE-319Layer L1
monkeypatch.setattr(format_converter, "EUTILS_BASE", "http://169.254.169.254")
Why
No further detail recorded for this rule.
Fix
—

Audit 0.4.1 · source sha c5a4a9d64275 · 31 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisheryuan1z0825 GitHub userOwner of the repository this skill is read from
  • Source folderyuan1z0825/nature-skillsThe exact folder we audited
  • LicenceApache-2.0As the repository states it
  • Commit pinned for this verdictc5a4a9d64275A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for 文献检索、引文核对、参考文献管理、严格他引 and evidence-backed citer profiles; not for translating a paper or…

---
name: nature-academic-search
description: "Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for 文献检索、引文核对、参考文献管理、严格他引 and evidence-backed citer profiles; not for translating a paper or drafting manuscript prose."
---

# Academic Search — Router

## Routing protocol

For local citation-file conversion with complete supplied records, load
`references/workflows/wf4-citation-file-mgmt.md` and its format reference directly.
Source lookup, API setup, and network preflight apply only when retrieval or verification is
needed; do not require them for a requested offline conversion.

For a new task, load the core and matching resources below. Reuse already loaded guidance on follow-ups; load more only when the task needs it.

### 1. Load the manifest and the core layer

Read [manifest.yaml](manifest.yaml). It declares the `workflow` axis, the allowed values, and the file paths each value maps to.

Also read every file listed under `always_load`:

- `static/core/tools.md` — the MCP tool inventory (core search, extended search, PubMed utilities) and the shared-module map.
- `static/core/routing-and-ops.md` — the T1→T2→T3 source routing quick guide, environment setup, error handling, and limitations.

### 2. Detect the workflow

Map the user's need to one or more `workflow` values:

- `multi-source-search` — find literature across sources.
- `citation-verification` — verify citations extracted from a document.
- `mesh-strategy` — build a MeSH/PubMed search strategy.
- `citation-file-mgmt` — convert/manage `.nbib`/`.ris`/`.bib` files.
- `reference-mgmt` — BibTeX, related-article discovery, ID conversion.
- `strict-other-citation-impact-audit` — determine strict independent other-citations, build article-level citation metric tables, identify high-profile citers (academy members, presidents/deans, talent-award holders, fellows, field leaders), and extract how they cited the target paper.

A combined request (for example search then export) may need more than one. State the detected workflow(s) in one short line before proceeding.

### 3. Load the matching workflow fragment(s)

Read the file mapped for each detected workflow (under `references/workflows/`). Do **not** read every workflow. Each workflow file links to the shared modules it needs.

### 4. Run the workflow using the loaded material

Apply the loaded material in this order:

1. Core tools and routing (`core/tools.md`, `core/routing-and-ops.md`) — which MCP tool for which need, and the T1→T2→T3 fallback chain for source retrieval.
2. The workflow fragment — its specific steps.
3. Shared modules and scripts on demand (dedup, citation parser, search strategy, RIS/BibTeX format, format converter).

Report specific tool failures and continue with remaining tools; broaden terms when there are no results; fall back to manual generation from MCP-fetched metadata if a script fails twice.

### 5. Reach for references only when needed

The files under `references/` (and `scripts/`) are deep references, not defaults. Open them on demand per the `references.on_demand` table in the manifest — for example `references/source-tiers.md` for the full reliability classification, `references/dedup-engine.md` / `references/citation-parser.md` / `references/search-strategy.md` / `references/ris-bibtex-format.md` for the shared modules, and `scripts/academic_search.py` (no-MCP fallback discovery search) / `scripts/format-converter.py` / `scripts/preflight.py` for the tooling.

Excerpt, first 3,535 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit c5a4a9d

npx skills add Yuan1z0825/nature-skills --list
npx skills add Yuan1z0825/nature-skills --agent codex --skill nature-figure --yes --copy
npx skills add Yuan1z0825/nature-skills --global --agent codex \
npx skills add Yuan1z0825/nature-skills --global --agent codex --skill '*' --yes --copy
npx skills add Yuan1z0825/nature-skills --all
npm install -g @anthropic-ai/claude-code

Commands as the repository documents them: shown, never run by us. Our verdict covers commit c5a4a9d64275 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✕BLOCK D 62 / 100

    first audit · source c5a4a9d64275

README badge

For maintainers · shows the latest audit

ModelsAtlas: BLOCK DMODELSATLASBLOCK · D
[![ModelsAtlas: BLOCK D](https://modelsatlas.com/skills/yuan1z0825/researchwrite/badge.svg)](https://modelsatlas.com/skills/yuan1z0825/researchwrite/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

nature-writing✓SAFE

yuan1z0825/nature-skills

Draft or restructure scientific manuscript arguments, sections, and initial-submission materials from author-provided evidence. Use for 论文写作、章节起草、论证重构、正文压缩、首次投稿材料. Use nature-polishing for language-only edits to…

★ 52kGrade B
nature-shared!CAUTION

yuan1z0825/nature-skills

Internal shared-reference support package for installed Nature Skills, including nature-writing, nature-polishing, nature-response, nature-reader, and nature-paper2ppt. Do not invoke it as a standalone user workflow.…

★ 52kGrade B
nature-response✓SAFE

yuan1z0825/nature-skills

Draft, audit, or revise responses to peer review, revision cover letters, and marked-manuscript or LaTeX revision packages. Use for 审稿意见回复、逐点回复、返修信、 rebuttals and edits to existing response drafts. Initial-submission…

★ 52kGrade B
nature-reviewer✓SAFE

yuan1z0825/nature-skills

Provide evidence-grounded mock peer review of scientific manuscripts or excerpts, covering significance, validity, and major/minor concerns. Use for 模拟审稿、投稿前自审、审稿人视角评估; not author rebuttal drafting.

★ 52kGrade B
nature-ref-verifier✓SAFE

yuan1z0825/nature-skills

对学术文献逐条执行多源交叉验证,逐字段对比作者、标题、年份、卷期、页码, 标记卷年/DOI年冲突、作者顺序异常、页码偏差等问题,输出结构化验证报告。 可批量处理整篇论文/开题报告的参考文献列表,也可单条校验,支持与 Zotero 同步修正。

★ 51kGrade B
nature-reader✓SAFE

yuan1z0825/nature-skills

Create source-grounded Chinese-English paper readers with aligned text, figures, tables, and equations. Use for 全文翻译、中英文对照、论文精读 or source-linked questions about a paper; respect a requested excerpt or question without…

★ 51kGrade B

Add this badge to your README

[![ModelsAtlas: BLOCK D](https://modelsatlas.com/skills/yuan1z0825/researchwrite/badge.svg)](https://modelsatlas.com/skills/yuan1z0825/researchwrite/)

Questions about researchwrite

What does the researchwrite skill do?
符合nature论文学术表达和科研绘图的Skill
Is researchwrite safe to install?
No — not without reading the findings first. The audit graded it D (62/100) and found 9 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can researchwrite access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
What do I need installed to use researchwrite?
Its own instructions reference workflow. Dependencies are not all pinned to exact versions, so what installs today may differ tomorrow.
Which assistants does researchwrite work with?
Its documentation mentions claude-code, codex, cursor and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (c5a4a9d64275), read on 2026-10-31. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.