Skip to content

feat: add skill to author and maintain Compass manifests for agentic packs - #154

Open
rhartuv wants to merge 8 commits into
RHEcosystemAppEng:mainfrom
rhartuv:feat/compass-manifest-skill
Open

feat: add skill to author and maintain Compass manifests for agentic packs#154
rhartuv wants to merge 8 commits into
RHEcosystemAppEng:mainfrom
rhartuv:feat/compass-manifest-skill

Conversation

@rhartuv

@rhartuv rhartuv commented Aug 20, 2026

Copy link
Copy Markdown

Summary

Add compass-manifest-maintenance Claude skill to author and maintain Compass catalog-info.yaml manifests for agentic packs.

  • Workflow for new/updated skills, new packs, and structural drift audits
  • MCP mapping reference (mcps.json keys → owned vs canonical Compass refs)
  • Relationship rules reference (COMPASS-1288, file touch matrix)
  • YAML templates for skill, plugin, and pack Location manifests
  • File-based validation only (no Compass MCP)
  • Cross-links from CLAUDE.md and agentic-contribution-skill

Add missing Compass manifest for ocp-admin/skills/network-policy-architect, closing a pre-existing catalog gap identified during PR #154 review.

  • Create catalog-info.yaml (AiResource, namespace: ai5-marketplace, type: skill)
  • Register in pack Location and declare bidirectional relations (skill ↔ plugin, skill ↔ openshift-mcp-server) per COMPASS-1288

Test plan

  • uv run python scripts/validate_skills_tier1.py .claude/skills/compass-manifest-maintenance/SKILL.md passes
  • Roster audit: rh-sre, rh-virt, rh-basic - no skills missing from Location targets
  • Invoke skill: “Audit rh-sre Compass manifest drift” - expect zero violations
  • Invoke skill: “What files would change if remediation added dependsOn on a new skill?” - expect orchestrator + target skill dependencyOf (+ MCP if applicable)
  • make validate passes

Closes APPENG-6131
Closes APPENG-6002
Implements #151

@rhartuv rhartuv self-assigned this Aug 20, 2026
@rhartuv rhartuv added the skills label Aug 20, 2026
@rhartuv

rhartuv commented Aug 20, 2026

Copy link
Copy Markdown
Author

Note: ocp-admin/skills/network-policy-architect has no catalog-info.yaml (pre-existing gap). @r2dedios

@r2dedios

Copy link
Copy Markdown
Contributor

True! Good Catch. I'm creating another task for solving this gap and assigning it to you. Good chance for testing the skill you're working on :)

@r2dedios r2dedios linked an issue Aug 20, 2026 that may be closed by this pull request
@rhartuv
rhartuv marked this pull request as ready for review August 20, 2026 09:54
@rhartuv

rhartuv commented Aug 20, 2026

Copy link
Copy Markdown
Author

True! Good Catch. I'm creating another task for solving this gap and assigning it to you. Good chance for testing the skill you're working on :)

https://redhat.atlassian.net/browse/APPENG-6131

Comment thread .claude/skills/compass-manifest-maintenance/references/mcp-mapping.md Outdated
1. Compare YAML against [assets/](assets/) and a known-good manifest in the same pack.
2. Re-run drift audit (§3).
3. Tier 1 on this skill if edited: `uv run python scripts/validate_skills_tier1.py .claude/skills/compass-manifest-maintenance/SKILL.md`.
4. Post-merge: maintainer may register in Compass UI manually (out of scope for this skill).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't there any drift that we can prevent adding a CI validation script? (we already have many iof them in the scripts/ folder)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. I figured this was out of scope for this PR since it's just the skill and docs, but I can add a scripts/validate_compass_manifests.py script for it. Let me know if you'd rather I include it here or open a separate ticket.

Comment thread CLAUDE.md Outdated
Comment thread CLAUDE.md Outdated
Comment thread CLAUDE.md
operetz-rh
operetz-rh previously approved these changes Sep 1, 2026

@operetz-rh operetz-rh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@r2dedios r2dedios left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work, just a few tiny things to review before merging

Additionally, what was the result of @dmartinol's feedback? Did we created another thicket for solving what he identified? If not, I think we can include that fix on this PR too

Comment thread CLAUDE.md

## COMPASS-1288 bidirectional policy

Compass does **not** auto-generate inverse relations for custom kinds (`AiResource`, `MCPServer`). Every relationship must be declared on **both sides**:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is correct for now, However we are expecting Compass team to solve this issue on the future. That means we should revisit this once it is fixed.


**Exception:** Plugin and owned MCP → System use `spec.system: default/agentic-plugins`. Compass generates `partOf` automatically. Do **not** add `dependsOn: system:default/agentic-plugins` on plugins (redundant).

## What does NOT work for custom kinds

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here. This should be fixed in the near future

Comment thread CLAUDE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This info is duplicated on https://github.com/RHEcosystemAppEng/agentic-plugins/pull/154/changes#diff-ae021437cbb63300a76aeb1d8359a7a86ad0d2839100ffc602026e4141bbb582R7-R15

It might make sense to remove from CLAUDE.md and left in only in the references/relationship-rules.md


6. **Reconcile plugin MCP deps** — plugin `dependsOn` = union of all `mcpserver:` refs across pack skill manifests.

### 2. Add a new pack (Compass registration)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 2. Add a new pack (Compass registration)
### 2. Register a new pack in Compass

I would change this title to avoid confussions between creating a new agentic-plugin and docuemnting a plugin for registering it in Compass

@rhartuv

rhartuv commented Sep 2, 2026

Copy link
Copy Markdown
Author

Good work, just a few tiny things to review before merging

Additionally, what was the result of @dmartinol's feedback? Did we created another thicket for solving what he identified? If not, I think we can include that fix on this PR too

@r2dedios Thanks.
@dmartinol hasn't decided on this yet. What's your recommendation?

@r2dedios

r2dedios commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Good work, just a few tiny things to review before merging
Additionally, what was the result of @dmartinol's feedback? Did we created another thicket for solving what he identified? If not, I think we can include that fix on this PR too

@r2dedios Thanks. @dmartinol hasn't decided on this yet. What's your recommendation?

I agree with @dmartinol about the validation script. Appart of more effiente usage of the LLM, there would be a standard procedure (script) to evaluate the Compass Manifests. I also noticed the Compass MCP server has a tool for validating Compass entities, so maybe makes more sense to use it instead of another script

@rhartuv

rhartuv commented Sep 2, 2026

Copy link
Copy Markdown
Author

Good work, just a few tiny things to review before merging
Additionally, what was the result of @dmartinol's feedback? Did we created another thicket for solving what he identified? If not, I think we can include that fix on this PR too

@r2dedios Thanks. @dmartinol hasn't decided on this yet. What's your recommendation?

I agree with @dmartinol about the validation script. Appart of more effiente usage of the LLM, there would be a standard procedure (script) to evaluate the Compass Manifests. I also noticed the Compass MCP server has a tool for validating Compass entities, so maybe makes more sense to use it instead of another script

Agree. Added scripts/validate_compass_manifests.py and hooked it into make validate, make validate-structure, and Tier 2 CI.

@rhartuv
rhartuv requested a review from r2dedios September 3, 2026 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

4 participants