redhat-developer / redhat-developer/rhdh-plugins
SkillBundle RBAC Filtering (issue 23 of 29)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 48
- Forks
- 120
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 337
Description
Labels: ready-to-code
Depends on: Issue 3 (#4041 permission definitions)
RHIDP Stories: RHIDP-15310
Feature: RHDHPLAN-1508 — Epic RHIDP-15270
Implement backend skill filtering using batch authorizeConditional() for ai-catalog.asset.read, add totalSkills/visibleSkills fields to SkillBundle API response, ensure filtered-out skill references are not exposed, and implement frontend "N of M skills visible" count display with restricted-access placeholder for fully restricted bundles.
Tasks
From openspec/changes/ai-catalog-asset-governance/tasks.md group 9 (RHIDP-15310, RHIDP-15273):
- 9.1 Implement backend skill filtering using batch
authorizeConditional() - 9.2 Add
totalSkillsandvisibleSkillsfields to SkillBundle API response - 9.3 Ensure filtered-out skill references are not exposed
- 9.4 Implement frontend "N of M skills visible" count display with tooltip
- 9.5 Implement restricted-access placeholder for fully restricted bundles
- 9.6 Suppress additional messaging when all skills are visible
- 9.7 Add unit tests for backend skill filtering
Specifications
openspec/changes/ai-catalog-asset-governance/specs/skillbundle-filtering/spec.md
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with openspec/changes/ai-catalog-asset-governance/specs/skillbundle-filtering/spec.md and the group 9 tasks in openspec/changes/ai-catalog-asset-governance/tasks.md. Trace the SkillBundle backend response and frontend rendering, then use the listed requirements and backend unit tests to verify filtering, counts, hidden references, placeholders, and messaging behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100