Skip to content
Back to skills

Metadata And Catalogue

ASecurity

"Operate GeoNode metadata schemas, handlers, localization,

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
databasesgosqlnodeapibackendsecurity

Works with

  • api

Security analysis

A100/100

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

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill metadata-and-catalogue --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Metadata And Catalogue?

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

Security grade badge for Metadata And Catalogue
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-metadata-and-catalogue/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-metadata-and-catalogue)

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: metadata-and-catalogue
description: "Operate GeoNode metadata schemas, handlers, localization,
  catalogue/CSW publication, search filters, facets, and metadata-adjacent
  preview context without confusing data validation with service availability."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Metadata and catalogue

Use this sub-skill when a task edits, validates, localizes, indexes, searches, or
publishes resource metadata, or when a catalogue/search result does not match
expectations. It covers datasets and other `ResourceBase` resources. Route
upload mechanics and ordinary resource CRUD to `resource-and-api`; route
GeoServer publication, service URLs, styles, and permissions to
`geoserver-and-security`; route remote harvesting and worker recovery to
`harvesting-and-admin`.

## Operating boundary

- Treat the metadata JSON Schema as the authoritative shape for the metadata
  editor/API instance. Do not invent a replacement ISO, FGDC, or Dublin Core
  schema.
- Treat the configured catalogue backend and its URL as separate service
  dependencies. A valid local document does not prove CSW availability.
- Treat required metadata annotations as editor guidance unless the active
  deployment adds a separate policy gate: the user guide says incomplete
  metadata remains usable.
- Never send credentials, mutate a remote catalogue, or run a network CSW
  helper from the bundled validator.
- External PostgreSQL/PostGIS, GeoServer, Redis/Celery, remote CSW/OGC
  endpoints, and browser services are prerequisites for corresponding live
  workflows and are not verified by this skill.

## Route the request

1. Identify the resource primary key or UUID and whether the request is about
   schema, one resource instance, XML import/export, catalogue transport,
   search, facets, or preview/style context.
2. For schema/instance work, read [metadata-reference.md](references/metadata-reference.md).
3. For CSW, OpenSearch, catalogue links, full-text search, or facets, read
   [catalogue-and-search.md](references/catalogue-and-search.md).
4. For a supplied local JSON/XML file, run `scripts/validate-metadata.py` first;
   use explicit required fields when a deployment or task supplies them.
5. If the validator passes but a catalogue request fails, switch to the
   service-gate diagnosis in [troubleshooting.md](references/troubleshooting.md)
   rather than changing the metadata blindly.

## Metadata API workflow

- Discover the metadata endpoints from the API base: `GET
  /api/v2/metadata/` returns schema and instance URL templates.
- Fetch the localized schema with `GET /api/v2/metadata/schema/?lang=<2-letter>`.
  Record the returned `properties`, top-level `required`, each
  `geonode:handler`, and any autocomplete URL before constructing a payload.
- Fetch an instance with `GET /api/v2/metadata/instance/<pk>/?lang=<lang>`.
  Preserve object/array shapes and IDs returned by the server.
- Use `PUT` for a complete instance or `PATCH` for selected fields. A successful
  update returns HTTP 200; handler/save/index errors return HTTP 422 with
  `message` and nested `extraErrors`. A missing resource is HTTP 404.
- After saving, verify the response, re-fetch the instance, and check search or
  CSW only after the indexing/catalogue gates are known.
- For a declared custom field, use the sparse endpoint only when it is absent
  from the declared schema: `PUT /api/v2/metadata/sparse/<pk>/<key>` with
  `{"value":"..."}`. Values are strings or null and are limited to 1024
  characters; schema-name collisions return HTTP 409.

## Metadata, search, and preview handoff

- The default schema is ISO-19115-oriented and includes fields such as title,
  abstract, date/date type, category, language, license, attribution, regions,
  keywords, restrictions, temporal extent, maintenance frequency, and spatial
  representation. Exact type/cardinality comes from the live schema.
- Metadata values also feed generated ISO XML, catalogue `AnyText`, resource
  indexes, resource information pages, relations, and discoverability. A
  thumbnail, map preview, or style is publication/visual context, not a
  substitute for title, abstract, extent, or keyword metadata.
- For a styled dataset, verify the resource subtype and GeoServer/style gate
  separately. Keep metadata diagnosis focused on fields and catalogue/index
  state.

## Verify and recover

- Validate local syntax and explicit fields before import. Keep the validator's
  exit status and messages with the task record.
- Compare schema, submitted instance, saved instance, generated metadata XML,
  `csw_anytext`, and search/index results in that order.
- On a failed update, use `extraErrors` to locate the field/handler; correct the
  payload and retry without resending unrelated fields.
- On stale discovery, check index freshness and catalogue regeneration rather
  than declaring the source invalid. Use a deployment-approved regeneration
  command with a dry run or narrow ID filter before broad changes.
- Report unverified service gates explicitly. See
  [troubleshooting.md](references/troubleshooting.md) for symptom-specific
  next steps and [catalogue-and-search.md](references/catalogue-and-search.md)
  for filter semantics.

## References and helper

- [Metadata reference](references/metadata-reference.md): handlers, field
  mappings, localization, schemas, instances, and examples.
- [Catalogue and search](references/catalogue-and-search.md): CSW backends,
  format roles, indexes, facets, filters, and preview boundary.
- [Troubleshooting](references/troubleshooting.md): owned failure modes and
  safe recovery decisions.
- `scripts/validate-metadata.py`: local-only XML/JSON syntax and caller-supplied
  required-field checker. It does not contact a catalogue or validate against a
  remote standards service.

Files in this skill

  • SKILL.md5.7 KB
  • references/catalogue-and-search.md6.3 KB
  • references/metadata-reference.md7.6 KB
  • references/troubleshooting.md4.2 KB
  • scripts/validate-metadata.py3.9 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.