[1.3] Manual Skills

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:

image.png
  • 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

id

UUID PK

Auto-generated

name

TEXT UNIQUE

Skill name

created_by

TEXT

Creator's Clerk ID

agency_id

UUID FK

Optional agency scope

created_at

TIMESTAMPTZ

Creation time

quest_skills Junction Table:

Column

Type

Description

quest_id

UUID FK

Quest reference

skill_id

UUID FK

Skill reference

node_id

TEXT

Optional node-level skill

  • API Specification:

    • GET /api/skills - List skills (autocomplete)

    • POST /api/skills - Create new skill

    • PATCH /api/quests/[id]/skills - Update quest skills

  • Logic & Workflows:

Skill Selection Flow:

  1. User types in combobox

  2. Autocomplete fetches matching skills

  3. User selects existing or creates new

  4. Badge added to skill list

  5. On save → quest_skills updated

  • Key Files:

    • components/quest-editor/SkillsInput.tsx - Combobox component

    • hooks/use-skill-suggestions.ts - Autocomplete hook


5. Infrastructure & Operations

  • Dependencies:

    • Supabase - Skills storage

  • Monitoring & Alerting: No specific monitoring. Skills are low-traffic.

  • Deployment Plan:

    1. Run skills and quest_skills migrations

    2. Deploy UI components

    3. 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


Was this article helpful?