Skip to content
Back to skills

Parser And Media

ASecurity

"Parse NASA APOD JSON with the standalone helper, inspect optional

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
devopsflaskdockerapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill parser-and-media --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Parser And Media?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Parser And Media
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-parser-and-media/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-parser-and-media)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: parser-and-media
description: "Parse NASA APOD JSON with the standalone helper, inspect optional
  media fields, and safely download or convert an explicitly requested asset."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Parser and media

Use this route when the input is already NASA APOD JSON or when a caller has
explicitly asked for one media asset. Start with the bundled offline inspector;
then use the downloader or Pillow converter only when the corresponding
operation is requested. The parser helper is a convenience module, not a Flask
endpoint client and not the HTML scraper.

- [API signatures and prerequisites](references/api-reference.md)
- [Response shapes and optional keys](references/data-formats.md)
- [Safe inspection, download, and conversion workflows](references/workflows.md)
- [Parser/media troubleshooting](references/troubleshooting.md)
- For Flask routes, query parameters, or server startup, use [api-service](../api-service/SKILL.md).
- For uv, Gunicorn, Docker, or bounded load operations, use [deployment-and-operations](../deployment-and-operations/SKILL.md).
- For shared service failures, see the [root troubleshooting route](../../references/troubleshooting.md).

## Route rules

1. If the value is a JSON object or array from NASA's REST APOD API, inspect it
   with `scripts/inspect_apod_response.py` or use the exact accessors below.
2. If a required key is absent, diagnose the shape before indexing. `hdurl`,
   `copyright`, and `thumbnail_url` are optional in real responses.
3. Download only after the caller supplies an intended URL and destination.
   Prefer `scripts/download_apod_asset.py`; it requires an output directory,
   refuses accidental replacement, and makes network use visible.
4. Convert only a local image with `scripts/convert_apod_image.py`; it requires
   an explicit PNG destination and refuses overwrite unless explicitly enabled.
5. A video URL is not an image. Do not send it to Pillow. Use
   `thumbnail_url` only when the response supplies it (normally after the API
   request asks for thumbnails), and treat thumbnail availability as a caveat.

The source helper retains the historical misspelling `get_explaination`; do not
silently rename it when reproducing existing caller code. Detailed source
compatibility notes and safer adaptations are in the references.

Files in this skill

  • SKILL.md2.3 KB
  • references/api-reference.md3.6 KB
  • references/data-formats.md3.2 KB
  • references/troubleshooting.md3.8 KB
  • references/workflows.md4.4 KB
  • scripts/convert_apod_image.py1.9 KB
  • scripts/download_apod_asset.py4.2 KB
  • scripts/inspect_apod_response.py3.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…