← Back to Skills Marketplace
changye

CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION)

by Changye · GitHub ↗ · v1.0.4 · MIT-0
win32linux ✓ Security Clean
128
Downloads
1
Stars
0
Active Installs
5
Versions
Install in OpenClaw
/install cde-monitor
Description
Query CDE China drug review public data for breakthrough therapy announcements, priority review announcements, included lists by company or drug, in-review r...
README (SKILL.md)

\r \r

CDE Monitor\r

\r Use this skill when the user needs live information from the China Center for Drug Evaluation site and the answer depends on current CDE public listings rather than static knowledge.\r \r This skill should also activate when the user uses a clear trigger phrase such as CDE 药物信息查询, 查询 CDE 药物信息, cde drugs query, or CDE drug query, even if the user has not yet provided a concrete company name, drug name, or query type.\r \r When the user only provides a trigger phrase or a vague request, do not run a query immediately. First introduce the skill's capabilities in a short overview, then guide the user to choose one of the supported query types and provide the exact company name or drug name when needed.\r \r

Quick Start\r

\r

# List current breakthrough therapy announcements\r
python {baseDir}/scripts/cde_query.py breakthrough-announcements --pretty\r
\r
# Find breakthrough included records for a company\r
python {baseDir}/scripts/cde_query.py breakthrough-included-by-company --company "示例公司" --pretty\r
\r
# Find priority review included records for a drug\r
python {baseDir}/scripts/cde_query.py priority-included-by-drug --drug "示例药品" --pretty\r
\r
# Query in-review catalog records across 2016 to 2026\r
python {baseDir}/scripts/cde_query.py in-review-by-company --company "示例公司" --years 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 --pretty\r
\r
# Query review task status by acceptance number\r
python {baseDir}/scripts/cde_query.py review-status-by-acceptance-no --acceptance-no "CYSB2600096" --pretty\r
```\r
\r
Use `--show-browser` when the CDE page flow needs visible debugging. Omit `--pretty` when you want raw JSON output for downstream processing.\r
\r
## Conversation Opening\r
\r
If this skill is activated by a generic trigger such as `CDE 药物信息查询` or `cde drugs query`, start with a short capability summary before asking for input.\r
\r
Match the conversation language to the user's language. If the user asks in Chinese, reply in Chinese. If the user asks in English, reply in English. Keep the language choice consistent across the introduction, clarification questions, and final results unless the user explicitly switches languages.\r
\r
Do not reuse the Chinese opening when the user starts in English. If the trigger phrase or the user's request is in English, the first capability summary and the follow-up question must also be in English.\r
\r
Recommended opening pattern for Chinese:\r
\r
```md\r
我可以帮助你查询 CDE 公开药品审评信息,当前支持:\r
\r
- 拟突破性治疗品种公示\r
- 纳入突破性治疗品种名单,按企业或药品查询\r
- 拟优先审评品种公示\r
- 纳入优先审评品种名单,按企业或药品查询\r
- 在审品种目录浏览,按企业或药品查询,支持年份 2016 到 2026\r
- 按受理号查询申请基础信息和评审状态\r
\r
请告诉我你要查哪一类信息。\r
如果是按企业或药品查询,请尽量提供准确的企业全称或药品名称。\r
如果是按受理号查询,请提供完整受理号。\r
```\r
\r
Recommended opening pattern for English:\r
\r
```md\r
I can help you query public CDE drug review information. I currently support:\r
\r
- Breakthrough therapy announcements\r
- Included breakthrough therapy lists, searchable by company or drug\r
- Priority review announcements\r
- Included priority review lists, searchable by company or drug\r
- In-review registration catalog lookups by company or drug for years 2016 through 2026\r
- Acceptance-number lookups for application basic info and review task status\r
\r
Tell me which type of CDE information you want to check.\r
If you want a company-specific or drug-specific lookup, please provide the exact company name or drug name whenever possible.\r
If you want an acceptance-number lookup, please provide the full acceptance number.\r
```\r
\r
If the user then chooses a company-specific or drug-specific query, confirm the exact company or drug name when the provided string could be ambiguous, abbreviated, or misspelled.\r
If the user chooses an acceptance-number lookup, confirm the acceptance number only when it appears incomplete, malformed, or ambiguous.\r
\r
## Data Sources\r
\r
| Source | URL | Data used by this skill |\r
| --- | --- | --- |\r
| CDE 信息公开入口 | https://www.cde.org.cn/main/xxgk/listpage/9f9c74c73e0f8f56a8bfbc646055026d | Entry page for all supported public query flows |\r
| 突破性治疗公示 | https://www.cde.org.cn/main/xxgk/listpage/9f9c74c73e0f8f56a8bfbc646055026d | 拟突破性治疗品种 and 纳入突破性治疗品种名单 |\r
| 优先审评公示 | https://www.cde.org.cn/main/xxgk/listpage/9f9c74c73e0f8f56a8bfbc646055026d | 拟优先审评品种公示 and 纳入优先审评品种名单 |\r
| 受理品种信息 | https://www.cde.org.cn/main/xxgk/listpage/9f9c74c73e0f8f56a8bfbc646055026d | 在审品种目录浏览 across the requested years |\r
| 审评任务公示 | https://www.cde.org.cn/main/xxgk/listpage/369ac7cfeb67c6000c33f85e6f374044 | 新报任务公示 review task lookup used by acceptance-number status queries |\r
\r
This skill uses Selenium to drive the public CDE site and read the rendered listing data after the page JavaScript finishes loading. It does not rely on static local datasets. Results reflect the public CDE pages available at query time.\r
\r
## Environment Requirements\r
\r
Required:\r
\r
- Python 3.10 or newer.\r
- Google Chrome or Chromium installed locally.\r
- Network access to https://www.cde.org.cn.\r
- Python packages from `scripts/requirements.txt`.\r
\r
Install on Windows:\r
\r
```powershell\r
py -m venv .venv\r
.\.venv\Scripts\Activate.ps1\r
python -m pip install --upgrade pip\r
python -m pip install -r .\scripts\requirements.txt\r
```\r
\r
Install on Linux:\r
\r
```bash\r
python3 -m venv .venv\r
source .venv/bin/activate\r
python -m pip install --upgrade pip\r
python -m pip install -r ./scripts/requirements.txt\r
```\r
\r
OpenClaw only needs a working Python launcher on the machine. Chrome itself does not need to be on `PATH`, but Selenium must be able to launch a local Chrome or Chromium browser.\r
\r
For `in-review-by-company` and `in-review-by-drug`, the supported year range is limited to 2016 through 2026. If the user passes any year outside that range, the CLI should return a clear validation error.\r
\r
## Use Cases\r
\r
- Breakthrough therapy: list drugs currently in 拟突破性治疗品种 announcements.\r
- Breakthrough therapy: find which drugs from a company are already in 纳入突破性治疗品种名单.\r
- Breakthrough therapy: find whether a drug appears in 纳入突破性治疗品种名单.\r
- Priority review: list drugs currently in 拟优先审评品种公示 announcements.\r
- Priority review: find which drugs from a company are already in 纳入优先审评品种名单.\r
- Priority review: find whether a drug appears in 纳入优先审评品种名单.\r
- In-review catalog: find CDE registration items for a company across years 2016 to 2026.\r
- In-review catalog: find CDE registration items for a drug across years 2016 to 2026.\r
- Acceptance number lookup: find the application basic info first, then locate the review task status and professional-stage lamp states.\r
\r
## Name Confirmation Rule\r
\r
For company-specific or drug-specific lookups, first confirm the exact company or drug name if the user input could be ambiguous, abbreviated, or misspelled. CDE matching is strict. If the user already provided a precise name and there is no ambiguity, proceed directly.\r
\r
## Command Surface\r
\r
Run the Python CLI from this skill directory.\r
\r
```bash\r
python {baseDir}/scripts/cde_query.py breakthrough-announcements\r
python {baseDir}/scripts/cde_query.py breakthrough-included-by-company --company "\x3C公司名>"\r
python {baseDir}/scripts/cde_query.py breakthrough-included-by-drug --drug "\x3C药品名>"\r
python {baseDir}/scripts/cde_query.py priority-announcements\r
python {baseDir}/scripts/cde_query.py priority-included-by-company --company "\x3C公司名>"\r
python {baseDir}/scripts/cde_query.py priority-included-by-drug --drug "\x3C药品名>"\r
python {baseDir}/scripts/cde_query.py in-review-by-company --company "\x3C公司名>" --years 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026\r
python {baseDir}/scripts/cde_query.py in-review-by-drug --drug "\x3C药品名>" --years 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026\r
python {baseDir}/scripts/cde_query.py review-status-by-acceptance-no --acceptance-no "\x3C受理号>"\r
```\r
\r
Add `--show-browser` when you need visible browser debugging. JSON is the default output. Use `--pretty` only when you want a human-readable terminal summary during debugging. Use `--max-pages \x3Cn>` only for debugging or validation; omit it for the full production query.\r
\r
## Response Handling\r
\r
- Read `records` for the merged deduplicated results.\r
- Use each record's `normalized` object for answering. It exposes stable keys such as `drug_name`, `company_name`, `acceptance_no`, `publication_title`, `year`, `source_menu`, and `source_tab`.\r
- Use `metadata.total_records`, `metadata.pages_visited`, `metadata.years_queried`, and `metadata.applied_filters` to summarize scope.\r
- The final user-facing answer should be a Markdown table whenever records are returned.\r
- Prefer a compact table with columns such as `药品名称`, `企业名称`, `受理号`, and `年份`. Add a short summary line above the table for `total_records`, `pages_visited`, and the applied filters when helpful.\r
- If the command returns no records, tell the user that no matching public CDE entries were found for the confirmed query.\r
- For `review-status-by-acceptance-no`, read `basic_info_found`, `review_status_found`, `basic_info`, `review_status`, and `attempts` instead of `records`.\r
- For `review-status-by-acceptance-no`, the acceptance number's inferred year must currently fall within the CDE page's supported year range of 2016 through 2026.\r
- For `review-status-by-acceptance-no`, summarize the first-step basic info using fields such as `drug_name`, `drug_type`, `application_type`, and `acceptance_no`.\r
- For `review-status-by-acceptance-no`, when `review_status_found` is true, summarize `review_state`, `entered_center_at`, and each professional-stage lamp status from `review_status.stages`.\r
- For `review-status-by-acceptance-no`, when `basic_info_found` is true but `review_status_found` is false, tell the user that the application basic info was found but no matching public review-task status is currently shown on the CDE page.\r
\r
## Failure Handling\r
\r
- If Python or Selenium is missing, load [setup](./references/setup.md).\r
- If `review-status-by-acceptance-no` infers a year outside 2016 through 2026, report that the acceptance number's inferred year is outside the current CDE page query range.\r
- If the site structure changes or the query fails, report that the live CDE page could not be parsed reliably and include the command error summary.\r
- Do not invent results when the command fails.\r
\r
## References\r
\r
- [Setup](./references/setup.md)\r
- [Queries](./references/queries.md)\r
- [Development guide](./references/development-guide.md)\r
- [Publish checklist](./references/publish-checklist.md)\r
\r
## Troubleshooting\r
\r
- If Python or Selenium is missing, follow the install commands in [Setup](./references/setup.md).\r
- If Chrome or Chromium does not launch, verify that the browser is installed locally and can be opened manually on the same machine.\r
- If a query returns no expected records, first confirm the exact company name or drug name. CDE matching is strict.\r
- If the visible page flow or results change unexpectedly, rerun with `--show-browser` to inspect the live CDE page behavior.\r
- If the CDE page structure has changed, update the selector and parsing logic in `scripts/cde_client.py` before relying on the result.\r
Usage Guidance
This skill is a coherent Selenium-based scraper for the public CDE website and does not ask for API keys or unrelated credentials. Before installing, be aware that: (1) it needs Python and the selenium package and requires a local Chrome/Chromium that Selenium can launch; (2) it will open a real browser (headless by default) and access https://www.cde.org.cn, so run it on machines where you are comfortable allowing outbound HTTP(S) to that site; (3) if your browser environment has authenticated sessions or extensions that expose extra data, Selenium-launched browsers could inherit some of that context — run in a clean profile/isolated environment if that matters; (4) review the included scripts (cde_client.py, normalizers.py, models.py) if you need to confirm behavior; and (5) test with --show-browser first to confirm expected behavior and ensure your Chrome/Selenium versions are compatible. Overall the bundle appears consistent with its stated purpose.
Capability Analysis
Type: OpenClaw Skill Name: cde-monitor Version: 1.0.4 The cde-monitor skill is a specialized web scraper designed to retrieve public drug review data from the China Center for Drug Evaluation (CDE). It uses Selenium to automate browser navigation and employs Chrome DevTools Protocol (CDP) within scripts/cde_client.py to intercept and parse JSON payloads from the site's network traffic. The code follows standard automation practices, including anti-bot evasion techniques like User-Agent spoofing and hiding the webdriver property, but shows no signs of malicious intent, data exfiltration, or unauthorized system access.
Capability Assessment
Purpose & Capability
Name/description match the implementation: the package contains a CLI and a CDEClient that uses Selenium to query the CDE public pages. Required binaries (Python) and the listed runtime dependency (selenium) are appropriate for the stated purpose.
Instruction Scope
SKILL.md and the CLI only instruct the agent to run the included Python scripts to query public CDE pages. The instructions do not ask for unrelated files, environment variables, or external endpoints beyond the CDE URLs listed in the docs.
Install Mechanism
There is no external (URL) installer; runtime dependencies are limited to selenium (scripts/requirements.txt). The project is instruction-only for OpenClaw but bundles Python code; installing Python deps locally is expected for this functionality and no high-risk remote downloads are present in the bundle.
Credentials
The skill requests no environment variables, secrets, or external credentials. It requires network access to the public CDE site and a local Chrome/Chromium installation so Selenium can run — both are proportional to scraping a public website.
Persistence & Privilege
The skill does not request permanent inclusion (always:false) and uses normal autonomous invocation defaults. It does not modify other skills or system-wide settings. The only elevated capability is launching a local browser process, which is necessary for Selenium-driven scraping.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install cde-monitor
  3. After installation, invoke the skill by name or use /cde-monitor
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.4
- Added a development guide at references/development-guide.md. - No changes to core functionality or user-facing features.
v1.0.3
- Added support for acceptance-number review status lookup (review-status-by-acceptance-no). - Updated conversation guidance and quick start examples to reflect new acceptance-number query capability. - Data source documentation now includes the CDE 新报任务公示 (review task status) endpoint. - Clarified name/acceptance-number confirmation rules for user queries.
v1.0.2
cde-monitor 1.0.2 - No file changes detected in this version. - No functional, documentation, or configuration updates.
v1.0.1
Version 1.0.1 - Expanded in-review catalog queries to support years 2016 through 2026 (previously limited to 2025 and 2026). - Updated quick start examples and documentation to reflect new year range. - Clarified English and Chinese opening patterns: now ensures English users always receive an English introduction and prompt. - Added validation note: year range for "in-review-by-company" and "in-review-by-drug" queries is now strictly limited to 2016–2026; other years will raise an error. - Minor improvements to documentation consistency and language handling instructions.
v1.0.0
Initial release of the cde-monitor skill: - Adds live querying of China CDE public drug evaluation listings for breakthrough therapy, priority review, and in-review registration. - Supports queries by company or drug name, with precise input confirmation to ensure CDE strict matching. - Interactive, language-matching user flow: introduces capabilities and guides the user before executing queries. - Results are presented as concise Markdown tables with summary stats; handles failures with clear troubleshooting guidance. - Requires Python 3.10+, local Chrome/Chromium, and network access to the official CDE site.
Metadata
Slug cde-monitor
Version 1.0.4
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 5
Frequently Asked Questions

What is CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION)?

Query CDE China drug review public data for breakthrough therapy announcements, priority review announcements, included lists by company or drug, in-review r... It is an AI Agent Skill for Claude Code / OpenClaw, with 128 downloads so far.

How do I install CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION)?

Run "/install cde-monitor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION) free?

Yes, CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION) is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION) support?

CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION) is cross-platform and runs anywhere OpenClaw / Claude Code is available (win32, linux).

Who created CDE 药物查询(drug query in CDE/CENTER FOR DRUG EVALUATION)?

It is built and maintained by Changye (@changye); the current version is v1.0.4.

💬 Comments