Skip to content
Agentmart
Submit a tool

apod-api

Use NASA's apod-api Flask service and standalone APOD parser for date, count, range, media, deployment, Docker, and troubleshooting workflows.

Skill by VectorSpaceLab

IndexedApache-2.0★ 341
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/vectorspacelab-apod-api

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use NASA's apod-api Flask service and standalone APOD parser for date, count, range, media, deployment, Docker, and troubleshooting workflows.

Use cases: backend, devops

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/apod-api

What's inside

Skill name
apod-api
Description
Use NASA's apod-api Flask service and standalone APOD parser for date, count, range, media, deployment, Docker, and troubleshooting workflows.
License
Apache-2.0
Metadata
disco-role: operating
Instructions
75 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Files (24)

  • SKILL.md
  • repo-provenance.md · references/
  • repo-routing-metadata.json · references/
  • troubleshooting.md · references/
  • SKILL.md · sub-skills/api-service/
  • api-reference.md · sub-skills/api-service/references/
  • troubleshooting.md · sub-skills/api-service/references/
  • workflows.md · sub-skills/api-service/references/
  • run_service.py · sub-skills/api-service/scripts/
  • SKILL.md · sub-skills/deployment-and-operations/
  • container-deployment.md · sub-skills/deployment-and-operations/references/
  • installation.md · sub-skills/deployment-and-operations/references/
  • operations.md · sub-skills/deployment-and-operations/references/
  • troubleshooting.md · sub-skills/deployment-and-operations/references/
  • docker-compose.apod-api.yml · sub-skills/deployment-and-operations/scripts/
  • locustfile.py · sub-skills/deployment-and-operations/scripts/
  • SKILL.md · sub-skills/parser-and-media/
  • api-reference.md · sub-skills/parser-and-media/references/
  • data-formats.md · sub-skills/parser-and-media/references/
  • troubleshooting.md · sub-skills/parser-and-media/references/
  • workflows.md · sub-skills/parser-and-media/references/
  • convert_apod_image.py · sub-skills/parser-and-media/scripts/
  • download_apod_asset.py · sub-skills/parser-and-media/scripts/
  • inspect_apod_response.py · sub-skills/parser-and-media/scripts/

SKILL.md (first lines)

# apod-api

Use this repo skill when a task involves NASA's Astronomy Picture of the Day
(APOD) service, its `/v1/apod/` Flask endpoint, the standalone
`apod_object_parser` helper, APOD HTML/media extraction, or running the service
locally or in Docker. This is an operating guide for the public `apod-api`
repository, not a replacement NASA API credential store.

## Route by task

- **Flask endpoint, query construction, response/error semantics, or service
  import:** read [api-service](sub-skills/api-service/SKILL.md).
- **NASA APOD JSON accessors, optional fields, asset download, or Pillow image
  conversion:** read [parser-and-media](sub-skills/parser-and-media/SKILL.md).
- **uv/dependency setup, Gunicorn, Docker/Compose, startup checks, or a bounded
  Locust profile:** read
  [deployment-and-operations](sub-skills/deployment-and-operations/SKILL.md).
- **Cross-cutting setup, upstream, packaging, credential, or asset failures:**
  read [root troubleshooting](references/troubleshooting.md), then follow the
  nearest sub-skill's more specific guide.

Keep the routes distinct: the Flask service scrapes APOD website HTML, while
`apod_object_parser.get_data(api_key)` calls NASA's separate JSON API. Do not
pass NASA JSON API parameters such as `api_key` to the Flask endpoint; the
implemented Flask handler rejects unknown fields.

## Public runtime facts

- Distribution metadata: `apod-api` version `1.1.0`, Python `>=3.12`.
- Runtime dependencies: Flask, Flask-CORS, Gunicorn, Jinja2, Pillow, Requests,
  urllib3, BeautifulSoup4, and Werkzeug.
- Primary endpoint: `GET /v1/apod/` with a trailing slash. It supports one
  date, a random `count` from 1–100, or an inclusive `start_date`/`end_date`
  range, plus `concept_tags`, `thumbs`, and legacy `hd` flags.
- The application has root and static routes, CORS configuration, a volatile
  process-local cache, and JSON error envelopes containing `service_version`,
  `msg`, and `code`.
- Live APOD results depend on outbound access to `https://apod.nasa.gov/apod/`.
  Concept tagging additionally depends on a protected `alchemy_api.key`; its
  absence is an expected degraded mode, not a reason to publish a secret.

## Minimal inspection

For a real repository checkout, install the declared runtime dependencies and
then run the bundled route inspector from this skill:

```bash
python sub-skills/api-service/scripts/run_service.py --help
python sub-skills/api-service/scripts/run_service.py --inspect-routes
```

The inspector imports the application and prints its routes without scraping
APOD. Keep the application working directory able to resolve its templates and
static assets. If the project metadata attempts an editable build and reports
multiple top-level packages, follow the dependency-only workaround in
[installation](sub-skills/deployment-and-operations/references/installation.md)
rather than claiming that `pip install -e .` succeeded.

## Freshness and provenance

Before applying this guide to a changed checkout, read
[repo provenance](references/repo-provenance.md). If the commit, package
version, dirty paths, or public entry points differ, use a refresh workflow
instead of assuming these facts remain current.

## Boundaries and safety

Do not put NASA keys, Alchemy credentials, or private deployment values in
commands, fixtures, Docker layers, or generated reports. Treat live endpoint
requests, image downloads, HTML scraping, and Locust as external-network
operations with explicit timeouts and bounded scope. Do not run a load test as
an ordinary startup check. The review/test artifacts for this skill live
outside this runtime tree and are not needed by a future Researcher.

From VectorSpaceLab/AREX-Skill, Apache-2.0.

More from VectorSpaceLab/AREX-Skill

Signals

Stars
341
Forks
26
Open issues
0
Last commit (this folder)
Aug 26, 2026 (2 months ago)
Last release
Sep 2, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from VectorSpaceLab

Cite this page

apod-api skill. Agent Mart. https://agentmart.dev/skills/vectorspacelab-apod-api (last updated 2026-10-24)