Source: https://github.com/aipoch/medical-research-skills
GEO Search API
This skill allows searching the NCBI Gene Expression Omnibus (GEO) database.
When to Use
- Use this skill when the request matches its documented task boundary.
- Use it when the user can provide the required inputs and expects a structured deliverable.
- Prefer this skill for repeatable, checklist-driven execution rather than open-ended brainstorming.
Key Features
- Scope-focused workflow aligned to: Search for gene expression DataSets and Profiles in the NCBI GEO database. Use this skill when the user wants to find microarray, RNA-seq, or other genomic data by keywords, organism, author, or specific fields.
- Packaged executable path(s):
scripts/search_geo.py.
- Reference material available in
references/ for task-specific guidance.
- Structured execution path designed to keep outputs consistent and reviewable.
Dependencies
Python: 3.10+. Repository baseline for current packaged skills.
Third-party packages: not explicitly version-pinned in this skill package. Add pinned versions if this skill needs stricter environment control.
Example Usage
See ## Usage above for related details.
cd "20260316/scientific-skills/Evidence Insight/geo-search-api"
python -m py_compile scripts/search_geo.py
python scripts/search_geo.py --help
Example run plan:
- Confirm the user input, output path, and any required config values.
- Edit the in-file
CONFIG block or documented parameters if the script uses fixed settings.
- Run
python scripts/search_geo.py with the validated inputs.
- Review the generated output and return the final artifact with any assumptions called out.
Implementation Details
- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
- Primary implementation surface:
scripts/search_geo.py.
- Reference guidance:
references/ contains supporting rules, prompts, or checklists.
- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.
Usage
The skill provides a Python script to execute searches against the NCBI Entrez API.
Script: scripts/search_geo.py
Use this script to perform searches.
Arguments:
query: (Required) The main search terms (e.g., "breast cancer", "GSE12345").
--filters: (Optional) JSON string of field-specific filters.
- Example:
'{"Organism": "Homo sapiens", "Author": "Smith"}'
- See
references/query_fields.json for supported fields.
--db: (Optional) Target database. gds (DataSets/Series) or geoprofiles. Default: gds.
--limit: (Optional) Maximum number of results. Default: 10.
--email: (Optional) User email (recommended for NCBI E-utilities).
--api_key: (Optional) NCBI API Key (recommended for higher rate limits).
Example:
python scripts/search_geo.py "diabetes" --filters '{"Organism": "Mus musculus", "DataSet Type": "expression profiling by array"}' --limit 5
Query Construction
Queries are constructed by combining the main query term with any provided filters using the AND operator.
Field aliases (e.g., ORGN for Organism) are handled automatically by the NCBI API, but using full names from references/query_fields.json is recommended for clarity.
References
- query_fields.json: List of valid search fields and their aliases.
When Not to Use
- Do not use this skill when the required source data, identifiers, files, or credentials are missing.
- Do not use this skill when the user asks for fabricated results, unsupported claims, or out-of-scope conclusions.
- Do not use this skill when a simpler direct answer is more appropriate than the documented workflow.
Required Inputs
- A clearly specified task goal aligned with the documented scope.
- All required files, identifiers, parameters, or environment variables before execution.
- Any domain constraints, formatting requirements, and expected output destination if applicable.
Recommended Workflow
- Validate the request against the skill boundary and confirm all required inputs are present.
- Select the documented execution path and prefer the simplest supported command or procedure.
- Produce the expected output using the documented file format, schema, or narrative structure.
- Run a final validation pass for completeness, consistency, and safety before returning the result.
Output Contract
- Return a structured deliverable that is directly usable without reformatting.
- If a file is produced, prefer a deterministic output name such as
geo_search_api_result.md unless the skill documentation defines a better convention.
- Include a short validation summary describing what was checked, what assumptions were made, and any remaining limitations.
Validation and Safety Rules
- Validate required inputs before execution and stop early when mandatory fields or files are missing.
- Do not fabricate measurements, references, findings, or conclusions that are not supported by the provided source material.
- Emit a clear warning when credentials, privacy constraints, safety boundaries, or unsupported requests affect the result.
- Keep the output safe, reproducible, and within the documented scope at all times.
Failure Handling
- If validation fails, explain the exact missing field, file, or parameter and show the minimum fix required.
- If an external dependency or script fails, surface the command path, likely cause, and the next recovery step.
- If partial output is returned, label it clearly and identify which checks could not be completed.
Quick Validation
Run this minimal verification path before full execution when possible:
python scripts/search_geo.py --help
Expected output format:
Result file: geo_search_api_result.md
Validation summary: PASS/FAIL with brief notes
Assumptions: explicit list if any
1---2name: geo-search-api3description: Search for gene expression DataSets and Profiles in the NCBI GEO database. Use this skill when the user wants to find microarray, RNA-seq, or other genomic data by keywords, organism, author, or specific fields.4license: MIT5---6> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
7# GEO Search API
8
9This skill allows searching the NCBI Gene Expression Omnibus (GEO) database.
10
11## When to Use
12
13- Use this skill when the request matches its documented task boundary.
14- Use it when the user can provide the required inputs and expects a structured deliverable.
15- Prefer this skill for repeatable, checklist-driven execution rather than open-ended brainstorming.
16
17## Key Features
18
19- Scope-focused workflow aligned to: Search for gene expression DataSets and Profiles in the NCBI GEO database. Use this skill when the user wants to find microarray, RNA-seq, or other genomic data by keywords, organism, author, or specific fields.
20- Packaged executable path(s): `scripts/search_geo.py`.
21- Reference material available in `references/` for task-specific guidance.
22- Structured execution path designed to keep outputs consistent and reviewable.
23
24## Dependencies
25
26- `Python`: `3.10+`. Repository baseline for current packaged skills.
27- `Third-party packages`: `not explicitly version-pinned in this skill package`. Add pinned versions if this skill needs stricter environment control.
28
29## Example Usage
30
31See `## Usage` above for related details.
32
33```bash
34cd "20260316/scientific-skills/Evidence Insight/geo-search-api"
35python -m py_compile scripts/search_geo.py
36python scripts/search_geo.py --help
37```
38
39Example run plan:
401. Confirm the user input, output path, and any required config values.
412. Edit the in-file `CONFIG` block or documented parameters if the script uses fixed settings.
423. Run `python scripts/search_geo.py` with the validated inputs.
434. Review the generated output and return the final artifact with any assumptions called out.
44
45## Implementation Details
46
47- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
48- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
49- Primary implementation surface: `scripts/search_geo.py`.
50- Reference guidance: `references/` contains supporting rules, prompts, or checklists.
51- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
52- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.
53
54## Usage
55
56The skill provides a Python script to execute searches against the NCBI Entrez API.
57
58### Script: `scripts/search_geo.py`
59
60Use this script to perform searches.
61
62**Arguments:**
63
64* `query`: (Required) The main search terms (e.g., "breast cancer", "GSE12345").
65* `--filters`: (Optional) JSON string of field-specific filters.
66 * Example: `'{"Organism": "Homo sapiens", "Author": "Smith"}'`
67 * See `references/query_fields.json` for supported fields.
68* `--db`: (Optional) Target database. `gds` (DataSets/Series) or `geoprofiles`. Default: `gds`.
69* `--limit`: (Optional) Maximum number of results. Default: 10.
70* `--email`: (Optional) User email (recommended for NCBI E-utilities).
71* `--api_key`: (Optional) NCBI API Key (recommended for higher rate limits).
72
73**Example:**
74
75```bash
76python scripts/search_geo.py "diabetes" --filters '{"Organism": "Mus musculus", "DataSet Type": "expression profiling by array"}' --limit 5
77```
78
79## Query Construction
80
81Queries are constructed by combining the main `query` term with any provided `filters` using the AND operator.
82Field aliases (e.g., `ORGN` for `Organism`) are handled automatically by the NCBI API, but using full names from `references/query_fields.json` is recommended for clarity.
83
84## References
85
86* [query_fields.json](references/query_fields.json): List of valid search fields and their aliases.
87
88## When Not to Use
89
90- Do not use this skill when the required source data, identifiers, files, or credentials are missing.
91- Do not use this skill when the user asks for fabricated results, unsupported claims, or out-of-scope conclusions.
92- Do not use this skill when a simpler direct answer is more appropriate than the documented workflow.
93
94## Required Inputs
95
96- A clearly specified task goal aligned with the documented scope.
97- All required files, identifiers, parameters, or environment variables before execution.
98- Any domain constraints, formatting requirements, and expected output destination if applicable.
99
100## Recommended Workflow
101
1021. Validate the request against the skill boundary and confirm all required inputs are present.
1032. Select the documented execution path and prefer the simplest supported command or procedure.
1043. Produce the expected output using the documented file format, schema, or narrative structure.
1054. Run a final validation pass for completeness, consistency, and safety before returning the result.
106
107## Output Contract
108
109- Return a structured deliverable that is directly usable without reformatting.
110- If a file is produced, prefer a deterministic output name such as `geo_search_api_result.md` unless the skill documentation defines a better convention.
111- Include a short validation summary describing what was checked, what assumptions were made, and any remaining limitations.
112
113## Validation and Safety Rules
114
115- Validate required inputs before execution and stop early when mandatory fields or files are missing.
116- Do not fabricate measurements, references, findings, or conclusions that are not supported by the provided source material.
117- Emit a clear warning when credentials, privacy constraints, safety boundaries, or unsupported requests affect the result.
118- Keep the output safe, reproducible, and within the documented scope at all times.
119
120## Failure Handling
121
122- If validation fails, explain the exact missing field, file, or parameter and show the minimum fix required.
123- If an external dependency or script fails, surface the command path, likely cause, and the next recovery step.
124- If partial output is returned, label it clearly and identify which checks could not be completed.
125
126## Quick Validation
127
128Run this minimal verification path before full execution when possible:
129
130```bash
131python scripts/search_geo.py --help
132```
133
134Expected output format:
135
136```text
137Result file: geo_search_api_result.md
138Validation summary: PASS/FAIL with brief notes
139Assumptions: explicit list if any
140```