We will simplify the platform's skills architecture by removing the "wants to learn" concept and the dedicated Skill Profile screen. Instead, users will manage their "can teach" skills directly on their Profile page. The dashboard matching algorithm will be updated to recommend potential teachers based on department and expertise.
Important
- The dedicated
/skillspage, route, and sidebar navigation link will be removed. - Inline skill management will be added to
ProfileScreenfor own profiles. - The database will be cleared of all existing
wants_to_learnskills.
- Update
getPeerMatchesto use Option 1: Department + Expertise recommendations.- Query other users who have at least one
'can_teach'skill. - Calculate compatibility match scores:
- Same department: base 40% (vs 10% for different department).
- Average user rating component: up to 30% (
(avg_rating / 5) * 30). - Number of skills component: up to 30% (
min(skills.length * 10, 30)).
- Return users sorted by highest compatibility score.
- Query other users who have at least one
- Restrict
createUserSkillvalidation to only allow'can_teach'type. Default to'can_teach'if type is not specified.
- Delete this screen file since skill management is moving inline to the Profile page.
- Remove lazy import and route path for
/skills.
- Remove the "Skill Profile" link from the sidebar menu.
- Remove
/skillsfrom page title resolution logic.
- Update the empty state redirect link from
/skillsto/profile.
- Update the empty state redirect link from
/skillsto/profile.
- Import
listSkills,createUserSkill, anddeleteUserSkillactions. - Retrieve the general skill taxonomy (
state.skillList) and user skills (state.userSkillList). - Add states
isEditingSkillsandskillDraft(containingquery,level,selectedSkill, etc.). - When
isOwnProfileis true, display a "Manage Skills" button next to the Skills header. - Implement the autocomplete input, suggestions dropdown, level selector, and "Add" button inline.
- Display all user skills as chips showing level and endorsement badge.
- If in editing mode, show a "Remove" button next to each skill chip, and a "Done" button in the header.
- Import
SkillExchange.cssto reuse autocomplete styles.
- Run
npm run buildinsideclientto verify React compilation.
- Run a clean-up query or script to delete all
type = 'wants_to_learn'rows from theuser_skillstable. - Verify that navigating to
/profileshows only the "Skills & Expertise" section. - Click "Manage Skills" to open the inline editing form.
- Search for a skill, select a level, and click "Add" to verify it updates dynamically.
- Click "Remove" next to an existing skill to verify deletion.
- Verify matches on the Home page display compatible peers with their correct match score percentage.