> ## Documentation Index
> Fetch the complete documentation index at: https://developers.techwolf.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skill Events

## Introducing Time

The skillset of an employee is not static. Over time, a person will work on many
projects and topics, follow courses, and change positions. Past experiences
become irrelevant compared to newer ones. That is why we made time an
indispensable part of the Skill Engine through the concept of <b>Skill
Events</b>.

Skill Events encapsulate a single skill source and pin it down on the timeline.
The timeline allows <b>point-in-time recovery</b>. You can compare how your
workforce grew since last year, evaluate a single employee, or learn how fast
your company can progress in its respective field.

### Increase quality

Skill Events increase the quality of the skill profiles. Aside from resumes and
working- and education histories, any information you can procure where an
employee shows skills can serve as a source. Whenever a person's skillset grows,
the Skill Engine can link a new Skill Event and update their profile.

### Skill Event Types

We currently support multiple types of Skill Events:

* <b>Working History Event</b>: Whenever an employee changes position or job,
  they acquire new skills in that domain. The Employee is assumed to have
  obtained the skills at the start date of the function unless stated otherwise.
* <b>Education History Event</b>: Employees acquire a minimal skillset during
  their education. The Employee is assumed to have obtained the skills at the
  start date of the education unless stated otherwise.
* <b>Resume Document Event</b>: Every once in a while, an employee's resume is
  updated. With this new resume come new skills. The Employee is assumed to have
  obtained the skills when the new resume enters the Skill Engine.
* <b>Learning Event</b>: This event encapsulates any learning the Employee has
  achieved, such as courses and projects. The Skill Engine assumes the Employee
  acquired the skills at the timestamp assigned to the event.
* <b>Feedback Event</b>: Feedback and performance assessments can be a great
  source of skills. Setting the feedback text in the description field of the
  content assures that skills mentioned in a positive context are extracted.
* <b>Goal Event</b>: Employees can set personal development goals, performance
  goals, or other goals. Every completed goal can add skills to an employee's
  skillset.
* <b>Project Event</b>: Working on a project requires skills and knowledge.
  These skills can be added to the employee's skill profile upon completing the
  project.
* <b>Ticket Event</b>: Tickets from systems such as Jira or Salesforce Service
  Cloud (e.g. bugs, tasks, stories) can be sent as Skill Events. The title,
  type, and description are used to infer skills.
* <b>Merge Request Event</b>: Merge requests (e.g. from GitLab, GitHub,
  Bitbucket) can be sent as Skill Events. The title, description, and commit
  messages are used to infer skills. Merge request events are processed
  asynchronously; the Employee's Skill Profile is updated after inference.
* <b>Certificate Event</b>: Certificates can be a clear indicator that an
  employee is a skilled practitioner of a tool or technology.
* <b>Skill notes Event</b>: This event allows free text input of one or
  multiple skills. The skills will be mapped to the TechWolf vocabulary
  automatically. It can be used to add skill badges, software knowledge,
  tools,... The Skill Engine assumes the Employee acquired the skills at the
  timestamp assigned to the event.

```mermaid theme={null}
 classDiagram
      SkillEvent <|-- WorkingHistoryEvent
      SkillEvent <|-- EducationHistoryEvent
      SkillEvent <|-- ResumeDocumentEvent
      SkillEvent <|-- LearningEvent
      SkillEvent <|-- FeedbackEvent
      SkillEvent <|-- GoalEvent
      SkillEvent <|-- ProjectEvent
      SkillEvent <|-- TicketEvent
      SkillEvent <|-- MergeRequestEvent
      SkillEvent <|-- CertificateEvent
      SkillEvent <|-- SkillNotesEvent
      SkillEvent : external_id
      SkillEvent : event_type
      SkillEvent : timestamp
      SkillEvent : content
      class WorkingHistoryEvent{
          job_title
          job_description
          start_date
          end_date
          company
      }
      class EducationHistoryEvent{
          school
          degree_name
          start_date
          end_date
      }
      class LearningEvent{
          learning_title
          learning_description
      }
      class ResumeDocumentEvent{
          mimeType
          base64Content
      }
      class FeedbackEvent{
          description
      }
      class GoalEvent{
          description
      }
      class ProjectEvent{
          description
      }
      class TicketEvent{
          ticket_title
          ticket_type
          ticket_description
          ticket_system
      }
      class MergeRequestEvent{
          title
          description
          commits
      }
      class CertificateEvent{
          certificate_title
          certificate_description
      }
      class SkillNotesEvent{
          description
      }
```
