1. Front Matter
Title: Manual Skills
Author: scorevi
Reviewers: dyorgie (Jethro Lagmay)
Created: February 2026
Status: Approved
References:
Issue: [1.3] Manual Skills #25
Milestone: [1] Diagnose (Project Setup)
2. Introduction & Goals
Problem Summary: Creators need a way to tag quests and missions with specific skills for better categorization, searchability, and learning outcome tracking.
Goals:
Provide combobox interface for skill tagging
Support creating new skills on-the-fly
Enable multi-select for multiple skills per quest
Display visual badges for assigned skills
Non-Goals:
Skill hierarchy/taxonomy
Skill certification or validation
AI-suggested skills (separate feature)
Glossary:
Skill Tag: A label categorizing learning outcomes
Combobox: Searchable dropdown with autocomplete
3. High-Level Architecture
System Diagram:

Technologies Used:
Shadcn Popover + Command - Combobox UI
React Hook - Skill suggestions query
Supabase - Skills storage
4. Detailed Design & Implementation
Data Model / Schema:
skills Table:
Column | Type | Description |
|---|---|---|
| UUID PK | Auto-generated |
| TEXT UNIQUE | Skill name |
| TEXT | Creator's Clerk ID |
| UUID FK | Optional agency scope |
| TIMESTAMPTZ | Creation time |
quest_skills Junction Table:
Column | Type | Description |
|---|---|---|
| UUID FK | Quest reference |
| UUID FK | Skill reference |
| TEXT | Optional node-level skill |
API Specification:
GET /api/skills- List skills (autocomplete)POST /api/skills- Create new skillPATCH /api/quests/[id]/skills- Update quest skills
Logic & Workflows:
Skill Selection Flow:
User types in combobox
Autocomplete fetches matching skills
User selects existing or creates new
Badge added to skill list
On save →
quest_skillsupdated
Key Files:
components/quest-editor/SkillsInput.tsx- Combobox componenthooks/use-skill-suggestions.ts- Autocomplete hook
5. Infrastructure & Operations
Dependencies:
Supabase - Skills storage
Monitoring & Alerting: No specific monitoring. Skills are low-traffic.
Deployment Plan:
Run
skillsandquest_skillsmigrationsDeploy UI components
No feature flags needed
6. Testing & Quality Assurance
Test Strategy:
Manual: Add/remove skills, create new
Unit: SkillsInput component
Known Limitations:
No skill taxonomy/hierarchy
Skills are global (no per-user private skills)
7. Maintenance & Support
Troubleshooting:
Autocomplete not loading → Check API route, verify RLS
Duplicate skills → Add unique constraint on
name
Changelog:
1.0 (Feb 2026): Initial implementation
Document Version
1.0 - Approved, Feature deployed to production, 02/20/2026