Skip to content

Create a skill to automate Compass catalog-info.yaml generation #151

Description

@r2dedios

Context

Jira: APPENG-6002

When adding a new skill to a pack, contributors must manually create a catalog-info.yaml Compass manifest following the template documented in CLAUDE.md (section "Adding Compass Manifests for a New Skill"). This involves:

  • Setting namespace to ai5-marketplace (shared by all entities)
  • Adding the right dependsOn references (plugin, MCP servers, other skills)
  • Updating the reverse dependencyOf in the plugin manifest, MCP server manifests, and any referenced skill manifests (bidirectional policy per COMPASS-1288 workaround)
  • Adding the file as a target in the pack's catalog-info.yaml Location

This is error-prone and tedious, especially the bidirectional relationship updates across multiple files.

Key constraints to encode in the skill

  • Namespace: All entities use ai5-marketplace. Do NOT use pack-specific namespaces.
  • Relationships: Only dependsOn/dependencyOf and ownedBy/ownerOf generate actual relations for custom kinds (AiResource, MCPServer). partOf/hasPart does NOT work (confirmed Aug 2026).
  • Plugin→System: Plugins use spec.system: default/agentic-plugins (generates partOf automatically). Skills do NOT use spec.system.
  • Bidirectional declarations: Compass does not auto-generate inverse relations for custom kinds (COMPASS-1288). Both directions must be declared manually.

Proposal

Create a Claude Code skill under .claude/skills/ that automates the generation of Compass manifests for new skills. Given a skill path (e.g., ocp-admin/skills/my-new-skill/), the skill should:

  1. Read the SKILL.md frontmatter to extract name, description, and dependencies
  2. Generate the catalog-info.yaml with correct namespace (ai5-marketplace), metadata, and relations
  3. Update the pack's catalog-info.yaml Location to include the new target
  4. Update the plugin's dependencyOf list
  5. Update any referenced MCP server manifests with dependencyOf entries
  6. Update any referenced skill manifests with dependencyOf entries (for orchestration skills)

Origin

Requested by @dmartinol in PR #133 review feedback.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions