feat: add skill to author and maintain Compass manifests for agentic packs - #154
Conversation
|
Note: |
|
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 :) |
|
| 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). |
There was a problem hiding this comment.
isn't there any drift that we can prevent adding a CI validation script? (we already have many iof them in the scripts/ folder)
There was a problem hiding this comment.
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.
r2dedios
left a comment
There was a problem hiding this comment.
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
|
|
||
| ## COMPASS-1288 bidirectional policy | ||
|
|
||
| Compass does **not** auto-generate inverse relations for custom kinds (`AiResource`, `MCPServer`). Every relationship must be declared on **both sides**: |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Same here. This should be fixed in the near future
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
| ### 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
@r2dedios Thanks. |
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 |
RedTanny
left a comment
There was a problem hiding this comment.
Do not hardcode lifecycle:
if a New skill in an existing pack:
you can take as default value the spec.lifecycle from the parent *-plugin.yaml.
human in the loop --> you can ask if he wants to change for example
if plugin is beta so he can downgrade to development ( you cannot have a skill with beta value and plugin with development )
New pack: set the default level to development
@RedTanny Done. Thank you |
r2dedios
left a comment
There was a problem hiding this comment.
Just a tiny fix to apply. The rest looks great.
| icon: github | ||
| spec: | ||
| type: skill | ||
| lifecycle: beta |
There was a problem hiding this comment.
| lifecycle: beta | |
| lifecycle: development |
Since the plugin lifecycle is development, this skills should have the same value
There was a problem hiding this comment.
Right! Thanks. A new ticket was opened specifically to handle this, and I'll take care of it.
Jira
| title: Source Repository | ||
| icon: github | ||
| spec: | ||
| type: plugin |
There was a problem hiding this comment.
New skill in an existing pack: copy spec.lifecycle from the parent *-plugin.yaml. Do not hardcode lifecycle: beta in assets/skill-catalog-info.yaml, the compass-manifest-maintenance workflow, or CLAUDE.md.
New pack: assets/plugin-catalog-info.yaml and the skill template must use the same default (development is the safer new-pack value).
There was a problem hiding this comment.
@RedTanny I will take care of it in a separate PR for that ticket: https://redhat.atlassian.net/browse/APPENG-6307
Ok ?
Summary
Add
compass-manifest-maintenanceClaude skill to author and maintain Compasscatalog-info.yamlmanifests for agentic packs.mcps.jsonkeys → owned vs canonical Compass refs)CLAUDE.mdandagentic-contribution-skillAdd missing Compass manifest for
ocp-admin/skills/network-policy-architect, closing a pre-existing catalog gap identified during PR #154 review.catalog-info.yaml(AiResource,namespace: ai5-marketplace,type: skill)Test plan
uv run python scripts/validate_skills_tier1.py .claude/skills/compass-manifest-maintenance/SKILL.mdpassesrh-sre,rh-virt,rh-basic- no skills missing from Location targetsdependencyOf(+ MCP if applicable)make validatepassesCloses APPENG-6131
Closes APPENG-6002
Implements #151