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

# Explanation: Skill Harmonization

TechWolf is set on playing nice in the Skills ecosystem. This means we must be
able to speak everyone's language. Languages have dictionaries to translate
between them; for skills we have mappings.

<Card title="Mapping" icon="map" horizontal="true">
  Comparing two ontologies and creating the most optimal translation between
  skills themselves generates a **mapping**.
</Card>

Additionally, when we translate full sentences between languages (French and
Mandarin Chinese), we don't translate each word individually, context is
important. This is also the case for translating skill profiles for entities.
Simply translating each skill without context does not drive optimal value and
insights.

<Card title="Harmonization" icon="handshake" horizontal="true">
  Skill **harmonization** is the process of using the **mapping** to display
  the correct set of skills for an entity, in different ontologies.
</Card>

The difference is best explained using an example. See the
[mapping](#example-mapping) and [harmonization](#example-harmonization) sections.

Lastly, just like French and Mandarin Chinese translation has its own
peculiarities compared to Hindi to Italian, mapping and harmonizing skills
between TechWolf and different vendors can have its own peculiarities. We strive
to reduce the amount of such differences.

## Example: Mapping

Consider the following mapping from Vendor 1 to Vendor 2.

| Skill Vendor 1               | Skill Vendor 2         |
| ---------------------------- | ---------------------- |
| Python 3.12 (Programming)    | Python                 |
| Python 3.13 (Programming)    | Python                 |
| Power BI                     | Microsoft Power BI     |
| JavaScript (Web Development) | JavaScript             |
| Data Analytics               | Data Analysis          |
| AI & Machine Learning        | Machine Learning       |
| SQL Database Querying        | SQL                    |
| UX Design                    | User Experience Design |

While Vendor 1 has two representations for the skill `python`, Vendor 2 only has
one. As we want both Vendor 1 skills to be correctly mapped, they both map to
the same skill for Vendor 2.

It is clear what should be done when we map from `Python 3.12 (Programming)` to
`Python`. The other way around is more complex, as a decision has to be made:

1. add `Python 3.12 (Programming)`
2. add `Python 3.13 (Programming)`
3. add both

TechWolf leverages complex algorithms to figure out the most optimal skill, and
selects only one as "primary" mapping (for example, `2.` in the scenario above).

<Check>
  Each skill in both TechWolf and vendors can have multiple mappings in
  TechWolf, with an order of precedence for each mapping item. The primary
  mapping is the highest ranked mapping and is most often the closest (an
  exact match is ideal).
</Check>

## Example: Harmonization

Now that we know the mapping, we can translate profiles. This is where
**harmonization** is used. Consider Lisa, a junior software engineer:

| Skill Vendor 1 Skill         |
| ---------------------------- |
| Python 3.12 (Programming)    |
| Power BI                     |
| JavaScript (Web Development) |
| Data Analytics               |
| AI & Machine Learning        |
| SQL Database Querying        |
| UX Design                    |

If we want to harmonize Lisa's profile, we must map her
`Python 3.12 (Programming)` skill to `Python` in Vendor 2. But now Lisa's
profile is not following the most optimal mapping anymore! (that would be to
change her original profile to contain `Python 3.13 (Programming)`, but that
would change Lisa's original input).

Instead, when we harmonize, we keep track of all existing skills, and will opt
for using non-primary mappings when it drives consistency in profiles.

<Check>
  TechWolf considers existing profiles when harmonizing profiles between
  ontologies, and will keep the non-primary skills in user input to drive
  consistency and trust.
</Check>
