Skip to content
repo-metadata logo

Repository Metadata

repo-metadata

This skill should be used when the user asks to "generate repository metadata", "create catalog-info.yaml", "add repo metadata", "document repository structure", or mentions generating structured metadata for service catalog or architecture documentation.

aiskillstore/marketplace0installs430stars

SKILL.md

Full skill instructions

Repository Metadata

Generate structured catalog-info.yaml metadata for repositories using industry-standard conventions (based on Backstage catalog format). This metadata enables cross-repository architecture analysis and service catalog functionality.

Purpose

Create and maintain catalog-info.yaml files that describe a repository's role in the broader architecture. This metadata feeds into architectural views, dependency graphs, and service groupings across the entire organization.

When to Use

Trigger this skill when:

  • User asks to "generate repo metadata" or "create catalog-info.yaml"
  • User wants to document a repository for a service catalog
  • User needs to prepare a repository for cross-repo architecture analysis
  • User mentions "service catalog" or "component metadata"

Metadata Schema

The catalog-info.yaml file follows Backstage conventions with Astrabit-specific extensions:

apiVersion: astrabit.io/​v1
kind: Component
metadata:
  name: service-name          # Required: Unique identifier
  description: Brief description
  tags:
    - backend
    - user-management
spec:
  # Service Classification
  type: service               # Required: service, gateway, worker, library, frontend, database
  category: backend           # Broader category
  domain: trading             # Business domain
  owner: platform-team        # Team responsible

  # Dependencies (Upstream)
  dependsOn:
    - component: auth-service
      type: service
    - component: user-db
      type: database

  # APIs Provided
  providesApis:
    - name: User API
      type: REST
      definition: ./​openapi.yaml

  # APIs Consumed
  consumesApis:
    - name: Auth API
      providedBy: auth-service

  # Events Produced
  eventProducers:
    - name: user-events
      type: kafka
      topic: user.created
      schema: avro

  # Events Consumed
  eventConsumers:
    - name: order-events
      type: kafka
      topic: order.placed
      group: user-service-group

  # HTTP Routes (for gateways/​services)
  routes:
    - path: /​api/​users/​*
      methods: [GET, POST, PUT, DELETE]
      handler: this
    - path: /​api/​auth/​*
      methods: [POST]
      forwardsTo: auth-service

  # Infrastructure
  runtime: nodejs             # nodejs, python, go, java, etc.
  framework: nestjs           # nestjs, fastapi, spring, etc.

Generation Workflow

Phase 1: Analyze Repository

Gather information about the repository:

  1. Use existing analysis scripts:

    python skills/​repo-docs/​scripts/​analyze-repo-structure.py /​path/​to/​repo
    python skills/​repo-docs/​scripts/​find-integration-points.py /​path/​to/​repo
    
  2. Read existing documentation:

    • Check for INTEGRATIONS.md - contains upstream/​downstream relationships
    • Check for ARCHITECTURE.md - contains service role and dependencies
    • Check for README.md - contains basic description and tech stack
  3. Detect from code:

    • Language from file extensions and package files
    • Framework from dependencies
    • Integration points from import patterns

Phase 2: Generate Metadata

Based on analysis, generate catalog-info.yaml with detected values:

FieldDetection Method
nameRepo name or package.json name field
descriptionREADME title/​description or generated from code
typeInferred from code patterns (gateway has routes, worker has consumers only)
runtimeFrom package files (package.json, pyproject.toml, go.mod)
frameworkFrom dependencies (nestjs, fastapi, spring-boot, etc.)
dependsOnFrom integration point scanning
eventProducersFrom kafka.producer or similar patterns
eventConsumersFrom @KafkaListener, @EventListener, or similar patterns
routesFrom @Controller, @GetMapping, router definitions

Phase 3: Present and Refine

Present the generated metadata to the user in a table format:

Generated catalog-info.yaml:

| Field | Value | Source |
|-------|-------|--------|
| name | user-service | repo name |
| type | service | detected: has routes and consumers |
| runtime | nodejs | package.json |
| framework | nestjs | dependencies |
| domain | unknown | ❌ needs input |
| owner | unknown | ❌ needs input |
| dependsOn | auth-service, user-db | integration scan |

Prompt user to review and fill in missing fields (marked with ❌).

Phase 4: Write Metadata File

Write catalog-info.yaml to the repository root.

Phase 5: Update Related Documentation

Offer to update related docs to reference the new metadata file:

  • Add link to catalog-info.yaml in README.md
  • Update INTEGRATIONS.md to be consistent with metadata

Service Type Detection

TypeIndicators
gatewayHas routes with forwardsTo, handles external requests, minimal business logic
serviceHas both providesApis and consumesApis, business logic
workerOnly eventConsumers, no HTTP routes, background processing
libraryNo APIs consumed, only provides, shared utilities
frontendtype: frontend in package.json, has build artifacts
databaseContains migrations, schemas, no application code

Script Usage

Use scripts/​generate-metadata.py to automate metadata generation:

# Generate from current directory
python skills/​repo-metadata/​scripts/​generate-metadata.py

# Generate from specific repo
python skills/​repo-metadata/​scripts/​generate-metadata.py /​path/​to/​repo

# Output as JSON for inspection
python skills/​repo-metadata/​scripts/​generate-metadata.py --format json

The script:

  1. Runs repo structure analysis
  2. Scans for integration points
  3. Reads existing docs
  4. Outputs catalog-info.yaml content

Additional Resources

Reference Files

  • references/​schema.md - Complete catalog-info.yaml schema reference
  • references/​detection-patterns.md - Patterns for detecting service characteristics

Example Templates

  • examples/​catalog-info-template.yaml - Full template with all fields
  • examples/​catalog-info-gateway.yaml - Example gateway service
  • examples/​catalog-info-worker.yaml - Example worker service
  • examples/​catalog-info-library.yaml - Example shared library

Quality Checklist

Before finalizing metadata, verify:

  • name is unique across the organization
  • type correctly classifies the service
  • domain and owner are filled (not auto-detected)
  • dependsOn lists all upstream dependencies
  • eventProducers and eventConsumers are complete
  • Routes are documented if this is a gateway/​service
  • File is valid YAML
  • File is at repository root (catalog-info.yaml)

More skills from aiskillstore

docx logo
aiskillstore/marketplace

docx

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

430 216
View
agent-development logo
aiskillstore/marketplace

agent-development

This handles everything around building autonomous agents for Claude Code plugins.

430 197
View
doc-coauthoring logo
aiskillstore/marketplace

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

430 196
View
skill-development logo
aiskillstore/marketplace

skill-development

This is the meta-skill for building skills themselves.

430 196
View
canvas-design logo
aiskillstore/marketplace

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

430 193
View
webapp-testing logo
aiskillstore/marketplace

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

430 191
View
hook-development logo
aiskillstore/marketplace

hook-development

Helps you build event-driven automation for Claude Code using hooks that trigger on tool use, session events, and stop conditions.

430 187
View
algorithmic-art logo
aiskillstore/marketplace

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

430 185
View
command-development logo
aiskillstore/marketplace

command-development

Shows Claude Code how to build slash commands from markdown files, covering the YAML frontmatter options, dynamic arguments with $1/$2...

430 185
View
plugin-structure logo
aiskillstore/marketplace

plugin-structure

This is your reference when scaffolding Claude Code plugins or figuring out why components aren't loading.

430 183
View
skill-installer logo
aiskillstore/marketplace

skill-installer

Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).

430 180
View
web-artifacts-builder logo
aiskillstore/marketplace

web-artifacts-builder

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

430 177
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View