{"id":12190,"plugin_id":"Plugin_054ff933a434819187c4f95db80afc7f","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:01:00.368Z","digest":"aa23d0631c3f489fe955c87827479bd02089e2d0cb64b14e795a483318e5555c","against":null,"payload":{"name":"rcsb-pdb-skill","description":"Submit compact RCSB PDB requests for core metadata, Search API queries, and FASTA downloads. Use when a user wants concise RCSB summaries; save raw JSON or FASTA only on request.","included_files":[{"relative_path":"scripts/rest_request.py","size_in_bytes":1097}],"skill_md_contents":"---\nname: rcsb-pdb-skill\ndescription: Submit compact RCSB PDB requests for core metadata, Search API queries, and FASTA downloads. Use when a user wants concise RCSB summaries; save raw JSON or FASTA only on request.\n---\n\n## Source presentation\n<!-- source-presentation-contract:v2 -->\n- Add claim-adjacent links only for substantive claims supported by returned `sources`; never cite empty, metadata-only, or failed lookups.\n- Preserve `checked_sources`, use only supported `canonical_url` mappings, and leave requested raw or machine-readable output unchanged.\n- Use the `rcsb-pdb-skill` entry in `../../references/source-links.json` and follow `../../references/source-presentation.md`.\n\n## Operating rules\n- Use `scripts/rest_request.py` for all RCSB PDB and Search API calls.\n- Use `base_url=https://data.rcsb.org/rest/v1` for core metadata, `https://search.rcsb.org/rcsbsearch/v2` for Search API, and `https://www.rcsb.org` for FASTA downloads.\n- Core entry or assembly lookups usually do not need `max_items`; Search API results are better with query pager rows around `10` and `max_items=10`.\n- Re-run requests in long conversations instead of relying on older tool output.\n- Treat displayed `...` in tool previews as UI truncation, not literal request content.\n\n## Execution behavior\n- Return concise markdown summaries from the script JSON by default.\n- Prefer core metadata endpoints for focused lookups and Search API POST requests for discovery.\n- For FASTA downloads, use `response_format=text` so the script returns a short `text_head` unless raw output is requested.\n\n## Input\n- Read one JSON object from stdin.\n- Required fields: `base_url`, `path`\n- Optional fields: `method`, `params`, `headers`, `json_body`, `form_body`, `record_path`, `response_format`, `max_items`, `max_depth`, `timeout_sec`, `save_raw`, `raw_output_path`\n- Common RCSB patterns:\n  - `{\"base_url\":\"https://data.rcsb.org/rest/v1\",\"path\":\"core/entry/4hhb\"}`\n  - `{\"base_url\":\"https://search.rcsb.org/rcsbsearch/v2\",\"path\":\"query\",\"method\":\"POST\",\"json_body\":{\"query\":{\"type\":\"terminal\",\"service\":\"full_text\",\"parameters\":{\"value\":\"hemoglobin\"}},\"return_type\":\"entry\",\"request_options\":{\"pager\":{\"start\":0,\"rows\":10}}},\"record_path\":\"result_set\",\"max_items\":10}`\n  - `{\"base_url\":\"https://www.rcsb.org\",\"path\":\"fasta/entry/4HHB/download\",\"response_format\":\"text\"}`\n\n## Output\n- Success returns `ok`, `source`, `path`, `method`, `status_code`, `warnings`, and either compact `records`, a compact `summary`, or `text_head`.\n- Use `raw_output_path` when `save_raw=true`.\n- Failure returns `ok=false` with `error.code` and `error.message`.\n\n## Execution\n```bash\necho '{\"base_url\":\"https://data.rcsb.org/rest/v1\",\"path\":\"core/entry/4hhb\"}' | python scripts/rest_request.py\n```\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}