Surface skills paused for re-review
- Dominant language
- TypeScript
- Stars
- 354
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
When a skill changes after it was enabled for a room, exxperts correctly stops injecting it until the user reviews the current version. The security behavior makes sense, but the state change is easy to miss.
I only discovered by chance under Room settings → Skills that some skills needed re-review. Until then, the room had silently lost abilities I expected it to have. I couldn't find any indication on the room card, the settings gear, or inside the open room.
The behavior comes from `apps/web-server/src/persistent-room-skill-settings.ts`: `effectiveEnabledSkills()` excludes every `hash-mismatch`. The warning and “Review changes” action exist in `apps/web-ui/src/components/RoomSkillsSection.tsx`, but only after opening the room settings and selecting Skills.
Could affected rooms surface this state where the user will see it? For example:
- a room-card or settings badge such as “2 skills need review”
- a small notice when entering an affected room
- a direct link to Room settings → Skills
The fail-closed behavior should stay. The missing part is making the paused skills visible, so a room does not appear fully configured while some of its expected abilities are inactive.
Contributor guide
Research direction
Start with apps/web-server/src/persistent-room-skill-settings.ts and its effectiveEnabledSkills() hash-mismatch behavior, then inspect the warning and “Review changes” action in apps/web-ui/src/components/RoomSkillsSection.tsx. Trace the room card, settings gear, and open-room entry points to choose a visible surface and direct link to Room settings → Skills. Done means affected rooms show the paused count or notice while fail-closed behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100