Operating rules
- Use
scripts/rest_request.py for all ENCODE API calls.
- Use
base_url=https://www.encodeproject.org.
- Object lookups usually do not need
max_items; portal-style search endpoints are better with limit=10 and max_items=10.
- Send
Accept: application/json in headers and add format=json in params when needed.
- Keep request volume modest and avoid large unfiltered searches.
- Re-run requests in long conversations instead of relying on older tool output.
- Treat displayed
... in tool previews as UI truncation, not literal request content.
Execution behavior
- Return concise markdown summaries from the script JSON by default.
- Prefer accession paths such as
biosamples/<accession>/ and search paths such as search/.
- If the user needs the full payload, set
save_raw=true and report the saved file path.
Input
- Read one JSON object from stdin.
- Required fields:
base_url, path
- Optional fields:
method, params, headers, json_body, form_body, record_path, response_format, max_items, max_depth, timeout_sec, save_raw, raw_output_path
- Common ENCODE patterns:
{"base_url":"https://www.encodeproject.org","path":"biosamples/ENCBS000AAA/","params":{"frame":"object","format":"json"},"headers":{"Accept":"application/json"}}
{"base_url":"https://www.encodeproject.org","path":"search/","params":{"type":"Experiment","assay_title":"RNA-seq","limit":10,"format":"json"},"record_path":"@graph","headers":{"Accept":"application/json"},"max_items":10}
Output
- Success returns
ok, source, path, method, status_code, warnings, and either compact records or a compact summary.
- Use
raw_output_path when save_raw=true.
- Failure returns
ok=false with error.code and error.message.
Execution
echo '{"base_url":"https://www.encodeproject.org","path":"search/","params":{"type":"Experiment","assay_title":"RNA-seq","limit":10,"format":"json"},"record_path":"@graph","headers":{"Accept":"application/json"},"max_items":10}' | python scripts/rest_request.py
References
- No additional runtime references are required; keep the import package limited to this file and
scripts/rest_request.py.
1---2name: encode-skill3description: Submit compact ENCODE REST API requests for object lookups, portal-style search, and metadata retrieval. Use when a user wants concise ENCODE summaries4---56## Operating rules7- Use `scripts/rest_request.py` for all ENCODE API calls.8- Use `base_url=https://www.encodeproject.org`.9- Object lookups usually do not need `max_items`; portal-style search endpoints are better with `limit=10` and `max_items=10`.10- Send `Accept: application/json` in `headers` and add `format=json` in `params` when needed.11- Keep request volume modest and avoid large unfiltered searches.12- Re-run requests in long conversations instead of relying on older tool output.13- Treat displayed `...` in tool previews as UI truncation, not literal request content.1415## Execution behavior16- Return concise markdown summaries from the script JSON by default.17- Prefer accession paths such as `biosamples/<accession>/` and search paths such as `search/`.18- If the user needs the full payload, set `save_raw=true` and report the saved file path.1920## Input21- Read one JSON object from stdin.22- Required fields: `base_url`, `path`23- Optional fields: `method`, `params`, `headers`, `json_body`, `form_body`, `record_path`, `response_format`, `max_items`, `max_depth`, `timeout_sec`, `save_raw`, `raw_output_path`24- Common ENCODE patterns:25 - `{"base_url":"https://www.encodeproject.org","path":"biosamples/ENCBS000AAA/","params":{"frame":"object","format":"json"},"headers":{"Accept":"application/json"}}`26 - `{"base_url":"https://www.encodeproject.org","path":"search/","params":{"type":"Experiment","assay_title":"RNA-seq","limit":10,"format":"json"},"record_path":"@graph","headers":{"Accept":"application/json"},"max_items":10}`2728## Output29- Success returns `ok`, `source`, `path`, `method`, `status_code`, `warnings`, and either compact `records` or a compact `summary`.30- Use `raw_output_path` when `save_raw=true`.31- Failure returns `ok=false` with `error.code` and `error.message`.3233## Execution34```bash35echo '{"base_url":"https://www.encodeproject.org","path":"search/","params":{"type":"Experiment","assay_title":"RNA-seq","limit":10,"format":"json"},"record_path":"@graph","headers":{"Accept":"application/json"},"max_items":10}' | python scripts/rest_request.py36```3738## References39- No additional runtime references are required; keep the import package limited to this file and `scripts/rest_request.py`.