Build a service catalog — schema, starter entries, and governance model.

MITAuto-check: notesDevOps & Cloud

Install Pave Catalog

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill pave-catalog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace pave-catalog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/pave-catalog .claude/skills/pave-catalog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pave-catalog
GitHub stars
2.8k
Token cost
~2.1k tokens
SKILL.md length
799 words
Files
2
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Build a service catalog — schema, starter entries, and governance model.

  • Works in 6 steps: Identify the Actual Pain → Define the Schema → Inventory All Services → …
  • Asked to service catalog
  • SKILL.md covers Step 0: Identify the Actual Pain, Step 1: Define the Schema, Step 2: Inventory All Services and Step 3: Choose Where It Lives, plus 5 more sections
  • Calls make; reaches github.com and notion.so

What it does

Pave Catalog is an agent skill from jeremylongshore/tons-of-skills-marketplace. Build a service catalog — schema, starter entries, and governance model. Produces what information to capture per service, how it's maintained, and where it lives. Use when asked to "service catalog", "what services do we have", "catalog our services", "service inventory", or "who owns what".

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `.claude-plugin/plugin.json`).

It sits in DevOps & Cloud. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Asked to service catalog
  • What services do we have
  • Catalog our services
  • Service inventory

Example prompts

  • “s maintained, and where it lives. Use when asked to”
  • “what services do we have”
  • “catalog our services”
  • “/pave-catalog”

Requirements

  • Python 3
  • Docker
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Identify the Actual Pain
  2. Define the Schema
  3. Inventory All Services
  4. Choose Where It Lives
  5. Governance Model
  6. Deliver the Catalog

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Glob
    • Grep
    • WebFetch
    • WebSearch
    • Task
    • TodoWrite

    …and 1 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • notion.so
    • grafana.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pave Catalog loads about 2.1k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 799 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 799 words, ~2,056 tokens.

Download SKILL.mdSave it as .claude/skills/pave-catalog/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
pave-catalog
description
Build a service catalog — schema, starter entries, and governance model. Produces what information to capture per service, how it's maintained, and where it lives. Use when asked to "service catalog", "what services do we have", "catalog our services", "service inventory", or "who owns what".
allowed-tools
Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion
version
0.6.4
author
tonone-ai <hello@tonone.ai>
license
MIT

Service Catalog

You are Pave — the platform engineer on the Engineering Team.

A service catalog is useful when developers need to find things without asking people. It fails when it becomes a stale spreadsheet nobody trusts. The right catalog is the simplest one that answers questions developers actually ask — and has a governance model that keeps it current.

Start with the questions, not the schema.

Step 0: Identify the Actual Pain

Before designing catalog, establish what problem it's solving:

  • Are developers asking "who owns X?" during incidents?
  • Are new engineers unable to find service dependencies?
  • Are runbooks scattered or missing?
  • Is there no single source of truth for what's running in production?

If the answer to all of these is "not really a problem yet," the catalog is premature. Document it as a lightweight table in the root README instead.

If pain is real, continue.

Also check:

  • Existing catalog attempts: catalog-info.yaml, Backstage configs, Port/Cortex/OpsLevel setup, any wiki pages
  • Where service definitions currently live (deployment configs, Terraform, CI files)
  • How many services exist — under 10 is a Markdown table, 10–50 is YAML-in-repo, 50+ consider a tool

Step 1: Define the Schema

Write down only the fields developers actually need. Every field you add is a field someone has to keep updated.

Minimum viable schema (every service must have these):

yaml
# catalog-info.yaml — lives in the root of each service repo
name: user-api
description: Handles authentication, user profiles, and session management
type: service          # service | library | worker | cron | data-store
status: production     # production | beta | deprecated | internal
owner: platform-team   # team name, not individual
oncall: @platform-team # who gets paged (Slack handle or PagerDuty rotation)
repo: https://github.com/org/user-api
docs: https://notion.so/org/user-api-runbook
dashboard: https://grafana.org/d/user-api

Extended schema (add only when pain exists):

yaml
# Add these when they answer a question that comes up repeatedly
language: python
framework: fastapi
deploy_target: fly.io
port: 8000
healthcheck: /health
dependencies:
  - postgres-primary # data stores this service owns or uses
  - redis-cache
  - payments-api # other services this calls
exposes:
  - POST /users
  - GET /users/:id
  - POST /auth/login
slo:
  availability: 99.9%
  latency_p99: 200ms

Do not add fields speculatively. Add them when a developer has had to ask a human for that information more than twice.

Step 2: Inventory All Services

Discover what exists. Check deployment configs, CI files, Terraform, Kubernetes manifests, docker-compose files, and any existing documentation.

For each service, produce one catalog entry using schema from Step 1. Write actual entries — don't produce a template and ask the human to fill it in.

Starter inventory table (produce as cross-reference, not a replacement for YAML):

ServiceTypeOwnerStatusRepoRunbookDashboard
user-apiserviceplatform-teamproductionlinklinklink
web-appserviceproduct-teamproductionlinklink—
email-workerworkercomms-teamproductionlink——

Flag every missing field. A catalog with gaps is expected — the gaps are the backlog.

Dependency map (Mermaid, only if dependencies are unclear and causing problems):

mermaid
graph LR
  web-app --> user-api
  web-app --> content-api
  user-api --> postgres-primary
  user-api --> redis-cache
  email-worker --> user-api

Step 3: Choose Where It Lives

Match tooling to team size and complexity:

Under 10 services — Markdown table in root README:

  • Fastest to create, zero tooling overhead
  • Update it the same way you'd update any README
  • Acceptable until it becomes genuinely painful to maintain

10–50 services — catalog-info.yaml in each repo + generated index:

  • Each service owns its own metadata (keeps it close to the code)
  • Script or CI job generates central index from all YAML files
  • No external tool dependency, no portal to maintain

50+ services or multi-team — Backstage, Port, or Cortex:

  • Only justify this when Markdown approach is visibly breaking
  • Backstage: open-source, highly customizable, high maintenance cost
  • Port: faster to set up, good API, lower maintenance than Backstage
  • Cortex: strongest for scorecards and maturity tracking
  • Start with Port if evaluating now — lower time-to-value

Do not adopt a catalog tool to look mature. Adopt it when simpler approach has failed.

Show full SKILL.md (292 more words)Show less

Step 4: Governance Model

A catalog without a governance model is a catalog that will be stale in 90 days.

Write governance model as a short policy, not a process diagram:

markdown
## Service Catalog Governance

**Who updates it:** The team that owns the service updates their own catalog-info.yaml.
No central team owns catalog entries — ownership is distributed.

**When it's updated:**

- When a service is created (catalog entry is part of the new-service golden path)
- When ownership changes
- When a service is deprecated or decommissioned
- During quarterly engineering retros (30-minute sweep for stale entries)

**What "stale" means:** A catalog entry is stale if the oncall contact,
dashboard link, or runbook link is broken or more than 6 months unreviewed.

**How staleness is caught:**

- CI check on catalog-info.yaml schema validity (auto)
- Quarterly link-rot sweep (manual, 30 min, owned by Pave)
- Incident retrospectives flag missing runbook links

**What happens with orphaned services:**

- No owner listed → Pave pings the last committer in Slack
- No response in 1 week → escalates to Apex for ownership assignment

Governance model must name a specific owner for quarterly sweep. "The team" owns nothing.

Step 5: Deliver the Catalog

Write all of the following — don't describe what to write, write it:

  1. catalog-info.yaml for each service discovered (or starter set if full inventory isn't available yet)
  2. Central index (Markdown table or generated YAML index)
  3. Dependency map in Mermaid (if dependencies are unclear)
  4. Governance policy (as above)
  5. make catalog-check target or CI step that validates schema and checks for required fields

Output Format

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

Summarize:

  • Services cataloged (count and coverage %)
  • Gaps found (missing runbooks, dashboards, owners)
  • Governance model (one line: who updates, when, how staleness is caught)
  • Recommended next action (usually: fix gaps with highest incident risk first)

Key Rules

  • Write entries, don't template them — real metadata, not YOUR_SERVICE_NAME
  • Every service must have an owner — orphaned services are ticking time bombs
  • Catalog lives close to code — catalog-info.yaml in each repo, not a spreadsheet
  • Simpler is more maintainable — don't adopt a portal tool before Markdown approach fails
  • Governance is required — a catalog without an update model decays to useless
  • Gaps are backlog, not blockers — ship incomplete catalog and close the gaps
  • Stale metadata is worse than no metadata — it actively misleads during incidents

Delivery

If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in plugins/ai-agency/tonone/skills/pave-catalog of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • .claude-plugin/plugin.json

Open the folder on GitHubat commit cfae287

Compare with similar skills

Pave Catalog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pave Catalog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pave Catalog this skilljeremylongshore/tons-of-skills-marketplace2.8k—~2.1kAutomated safety check: NotesMIT
Monitor CInrwl/nx29k6 repos~4.7kAutomated safety check: PassMIT
Terraform and OpenTofu Guideagentscope-ai/QwenPaw36k6 repos~4.2kAutomated safety check: PassApache-2.0
Vercel Optimize Auditvercel-labs/agent-skills32k8 repos~4.3kAutomated safety check: PassNone
Analyze GitHub Action Logswithastro/astro63k1 repos~1.3kAutomated safety check: PassCustom licence
Openclaw Live Updateropenclaw/openclaw392k—~3.7kAutomated safety check: PassMIT

Similar skills

  • Monitor CI

    nrwl/nx

    Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.

    29k GitHub starsUsed in 6 repos~4.7k tokens
    DevOps & CloudAuto-check passed
  • Terraform and OpenTofu Guide

    agentscope-ai/QwenPaw

    Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.

    36k GitHub starsUsed in 6 repos~4.2k tokens
    DevOps & CloudAuto-check passed
  • Vercel Optimize Audit

    vercel-labs/agent-skills

    Official

    Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.

    32k GitHub starsUsed in 8 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Official

    Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.

    63k GitHub starsUsed in 1 repo~1.3k tokens
    DevOps & CloudAuto-check passed
  • Openclaw Live Updater

    openclaw/openclaw

    Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.

    392k GitHub stars~3.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Docs Learn PR Preview

    netdata/netdata

    Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.

    81k GitHub stars~2k tokensUpdated today
    DevOps & CloudAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Categories

Questions about Pave Catalog

What does Pave Catalog do?

Build a service catalog — schema, starter entries, and governance model. Pave Catalog is an agent skill from jeremylongshore/tons-of-skills-marketplace. Build a service catalog — schema, starter entries, and governance model.

When should I use Pave Catalog?

Pave Catalog fits situations like: asked to service catalog; what services do we have; catalog our services; service inventory.

How do I install Pave Catalog in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill pave-catalog -a claude-code`. Or copy the skill folder (plugins/ai-agency/tonone/skills/pave-catalog in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/pave-catalog in your project. Claude Code loads it when a task matches its description.

How do I install Pave Catalog in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill pave-catalog -a codex`. Or copy the skill folder (plugins/ai-agency/tonone/skills/pave-catalog in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/pave-catalog in your project. Codex loads it when a task matches its description.

Can I use Pave Catalog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill pave-catalog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pave-catalog, .gemini/skills/pave-catalog, .github/skills/pave-catalog and .opencode/skills/pave-catalog in your project.

What does Pave Catalog need to run?

Going by SKILL.md and its folder, Pave Catalog needs the command-line tools its instructions call (make). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion.

Does Pave Catalog access the network?

SKILL.md names 3 domains. In commands or code: github.com, notion.so and grafana.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Pave Catalog safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Pave Catalog use?

Pave Catalog is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pave Catalog use?

About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pave Catalog?

Skills that share tags, products or a category with Pave Catalog: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 36k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pave Catalog?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.