Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,41 @@
---
name: clinicaltrials-skill
description: Submit compact ClinicalTrials.gov API v2 requests for study search, metadata, enums, search areas, and field statistics. Use when a user wants concise ClinicalTrials.gov summaries
description: Submit compact ClinicalTrials.gov API v2 requests for study search, metadata, enums, search areas, and field statistics. Use for concise registry summaries and bounded target-program research paired with PubMed.
---

## Target-program workflow
When asked for target biology, prior programs, and safety, especially when this
skill is paired with `ncbi-entrez-skill`:

1. Run one `action=studies` wrapper call per target with `max_pages=1` and no
more than ten compact records. Set `save_raw=true` with a unique temporary
output path on this first call.
2. Search target names and aliases in interventional studies. Keep completed
and terminated programs rather than filtering to currently recruiting
studies.
3. Rank records by evidence value: posted results or mature outcome-bearing
programs first, then a negative or inconclusive program, then active
no-results programs.
4. Retain at most five distinct programs per target. Do not treat termination
for business, accrual, or reprioritization as evidence of toxicity or target
failure.
5. Extract intervention names, aliases, NCT IDs, phase, enrollment, status,
outcome signal, and safety signal. Feed intervention aliases into the
companion PubMed clinical-program search.
6. Do not rerun the same registry query with a larger `max_depth` or a
different output projection. When compact output lacks a needed field,
reshape the saved response locally in one pass. Project only NCT ID, title,
status, stop reason, phase, enrollment, intervention names, `hasResults`,
primary outcome values, and compact serious-adverse-event terms or counts.
7. Do not make direct-study follow-up requests in this bounded pass. Mark a
field unavailable when the saved response cannot support it.
8. Stop when the mature positive, negative or inconclusive, and observed-safety
slots are covered or explicitly unavailable.

Do not inspect wrapper source, probe Python environments, or use web search to
re-verify registry results unless the documented invocation fails, records
conflict, or the user explicitly requests current regulatory status.

## Operating rules
- Use `scripts/clinicaltrials_client.py` for all ClinicalTrials.gov v2 calls.
- Study searches are better with `max_items=10` and `max_pages=1`; only increase pages when the user explicitly wants more than the first page.
Expand Down
44 changes: 43 additions & 1 deletion plugins/life-science-research/skills/ncbi-entrez-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,50 @@
---
name: ncbi-entrez-skill
description: Submit compact NCBI Entrez E-Utilities requests for PubMed, Gene, Protein, Nucleotide, PMC metadata, and GEO metadata workflows. Use when a user wants concise Entrez search, fetch, summary, or link results; save raw JSON or XML only on request.
description: Submit compact NCBI Entrez E-Utilities requests for PubMed, Gene, Protein, Nucleotide, PMC metadata, and GEO metadata workflows. Use for concise Entrez search, fetch, summary, or link results and for bounded target-evidence research paired with ClinicalTrials.gov.
---

## Target-evidence workflow
When asked for target biology, prior programs, and safety, especially when this
skill is paired with `clinicaltrials-skill`:

1. Plan the complete cross-source retrieval before invoking either wrapper.
2. Create these evidence slots for each target:
- human biology or pharmacodynamic target validation;
- normal adult-tissue expression or translational safety;
- the most mature positive clinical program;
- one negative, terminated, or inconclusive program with outcome evidence
when available;
- observed human safety;
- preclinical mechanism, efficacy, or safety.
3. Run the bounded ClinicalTrials.gov search first and reuse its intervention
names and aliases in the PubMed clinical-program query.
4. Run at most two PubMed `esearch` calls per target: one for biology,
expression, normal tissue, and preclinical safety; one for named clinical
programs, efficacy, pharmacodynamics, and observed safety.
5. Prefer primary studies with outcomes. Exclude editorials and comments from
the clinical query when possible.
6. Select at most six papers per target. Across all targets, fetch selected
PMIDs in one batched `efetch`; do not add `esummary` when `efetch` supplies
the needed citation metadata.
7. Keep NCBI calls sequential. Use compact `retmax`, `max_items`, and
`max_depth` values and avoid returning full objects or large abstract sets.
8. Stop when every available evidence slot is filled. State unavailable slots
explicitly instead of expanding into open-ended searches.

For one target, budget one ClinicalTrials.gov wrapper call, two PubMed
`esearch` calls, and one batched `efetch`. For multiple targets, add one
registry call and two searches per target but keep one shared `efetch`. Do not
rerun an identical request to change formatting or selected fields. If fuller
local inspection is needed, set `save_raw=true` on the first call and inspect
the saved response without calling the network wrapper again. Wrapper failure
is the only exception.

For PubMed XML fetches, pair `retmode=xml` with `response_format=xml`, set
`save_raw=true`, and parse the saved XML in one local pass. Do not inspect
wrapper source, probe Python environments, or use web search to re-verify
PubMed results unless the documented invocation fails, records conflict, or
the user explicitly requests current regulatory status.

## Operating rules
- Use `scripts/ncbi_entrez.py` for all Entrez calls in this package.
- Use explicit `endpoint` values such as `esearch`, `esummary`, `efetch`, `elink`, or `einfo`.
Expand Down