ChengYanSuo

skill-catalog-pipeline

An engineering blueprint for turning 77k third-party skill packs into a semantically searchable (500ms) skill catalog foundation — a five-layer pipeline plus 17 hard-earned lessons.

Lab · Open Source1 min read

A skill marketplace hands you nothing but a paginated API. Between that and a "semantically searchable, loadable" skill catalog foundation lies an entire engineering pipeline: fetching everything, cleaning it, storing it, searching it fast, and staying in sync with upstream. skill-catalog-pipeline ran that pipeline end to end on 77,000+ real skill packs, then open-sourced the blueprint, a redacted reference implementation, and 17 postmortem lessons — the highest-value part isn't the code, it's the pitfalls no documentation warns you about.

What it solves

StageThe real pitfall
FetchPagination jitter silently drops thousands of entries and mislabels live skills as delisted
Normalize70% of entries have empty categories, with NUL bytes mixed in
Retrieval2048-dimension vectors exceed pgvector's index limit outright
Syncupdated_at is a dirty signal — incremental sync based on it misses updates

How it works: a five-layer pipeline

LayerJobKey design
FETCHGet everythingMulti-round union + completeness gate
NORMALIZEGet it clean5 hard validation conditions, idempotent dry-run
STORAGEKeep it wellPostgres + pgvector + object storage, four asset states
RETRIEVALSearch fasthalfvec cosine + IVFFlat — ~500ms with index (130s without, ~260× speedup)
SYNCStay currentWeekly four-state diff; trust version, never updated_at

How to use it

Start with the architecture doc and engineering-notes (17 postmortem lessons) in docs/ — that's the repo's main value. src/ is a redacted reference implementation (16 scripts + SQL, credentials via environment variables): adapt it into your own foundation; it is not a turnkey product.

In one sentence

A complete engineering blueprint for turning other people's skills into your own searchable asset — with the pitfalls already stepped on for you.