---
title: "Browse Skill Catalog"
method: GET
path: "/skills/catalog"
tags: ["SKILLS"]
---

# Browse Skill Catalog

`GET /skills/catalog`

List the skills published in the public data-engineering-skills repo.

Declared ahead of ``/{public_id}`` so that "catalog" is routed here rather
than being read as a skill identifier.

Each entry carries ``imported_public_id`` when the caller already imported
it, so the Browse list can link to their copy instead of offering a second
import. That is matched on the upstream path, not the name, so it survives
the user renaming their copy.

## Response `200`

Successful Response

- SkillCatalogResponse
  - `commit_sha` string, required
  - `groups` CatalogGroup[], required
    - `name` string, required
    - `description` string, required
    - `skills` CatalogSkill[], required
      - `catalog_id` string, required
      - `slug` string, required
      - `summary` string, required
      - `description` string, required
      - `file_count` integer
      - `size` integer, required
      - `imported_public_id` string, nullable

## Other responses

- `503` — Catalog unreachable

## Changes

- **2026-09-02** `fcb62c79da95` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/myaltimate/apis/fastapi/changes/skills/catalog/get.md)

---

[API](https://skmtc.dev/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.dev/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/myaltimate/fastapi/revisions/fcb62c79da95/schema)
