“Skills” on Open WebUI-s taaskasutatavad juhendiplokid – sisuliselt **püsivad süsteemipromtid** konkreetsete ülesannete jaoks. Sinna ei pea panema koodi, vaid selged tekstilised juhised, kuidas mudel peaks mingit tööd tegema.[openwebui+1](https://docs.openwebui.com/features/workspace/skills/)
Arvestades sinu eesmärki (teadusartiklite analüüs ja kirjutamine), soovitan alustada selliste _skills_-idega:

* * *
## 1. “Teadusartikli analüüs” skill
*   Name: `Teadusartikli analüüs`    
*   Description: `Juhised, kuidas samm-sammult analüüsida teadusartiklit (eesmärk, meetod, tulemused, piirangud).`    
*   Content (Markdown):    
```text
# Teadusartikli analüüsi juhend
Kui analüüsid artiklit, toimi alati nii:
  1. Võta lühike kokkuvõte (2–3 lauset): valdkond, uurimisküsimus, peamine panus.
  2. Kirjelda metoodikat: andmestik, mudelid/metoodika, katseseaded, võrdlusbaasid.
  3. Too välja peamised tulemused ja mõõdikud.
  4. Analüüsi tugevusi: mis on uudsus, mis probleemi see lahendab, kus seda rakendada.
  5. Analüüsi piiranguid: andmed, üldistatavus, reprodutseeritavus, arvutusressursside vajadus
  6. Lõpuks anna praktiline soovitus:
    - kas seda lähenemist tasub meie projektis katsetada,
    - mis eeltöö oleks vaja teha (andmed, tööriistad, kood).
Vasta alati struktureeritult alampealkirjadega: **Kokkuvõte**, **Metoodika**, **Tulemused**, **Tugevused**, **Piirangud**, **Soovitused**.
```

* * *

## 2. “Artikli kirjutamise stiil (eesti/inglise)” skill
*   Name: `Teadusartikli kirjutamise stiil`    
*   Description: `Stiilireeglid uute teadusartiklite ja kokkuvõtete kirjutamiseks.`    
*   Content:    
```text
# Teadusartikli kirjutamise stiili juhend
  1. Kasuta selget, akadeemilist stiili, väldi liigset slängi ja liialdusi.
  2. Hoia laused pigem lühemad (1 idee lause kohta), üle 3 rea pikkuseid lauseid väldi.
  3. Struktureeri tekst peatükkideks: Sissejuhatus, Seotud tööd, Meetod, Tulemused, Arutelu, Kokkuvõte.
  4. Kui kirjutad eesti keeles:
    - kasuta termineid, mida kasutatakse Eesti teadusartiklites (võimalusel tõlgi ingliskeelne termin sulgudes),
    - säilita korrektsed kääned ja pöörded, väldi otseseid tõlkeid inglise sõnajärjest.
  5. Kui kirjutad inglise keeles:
    - kasuta neutraalset “academic English” stiili,
    - väldi „very“, „really“ jne, eelista täpseid omadussõnu.
  6. Kui kasutaja ei täpsusta, hoia tekst kompaktne (nt 200–400 sõna kokkuvõtte jaoks).
```

* * *

## 3. “Eksperimentide planeerimine (LLM/RAG server)” skill
*   Name: `Eksperimentide planeerimine AI serveril`    
*   Description: `Juhised, kuidas planeerida ja dokumenteerida katseid AMD/ROCm AI serveril.`    
*   Content:    
```text
# Eksperimentide planeerimise juhend (AI server)  
Kui kasutaja tahab uut katset või mudelit võrrelda, toimi nii:
  1. Küsi selgelt:
    - mis on eesmärk (nt täpsem kokkuvõte, kiirem inferents, väiksem mälukasutus),
    - mis andmestikku ja mõõdikuid ta saab kasutada.
  2. Paku välja minimaalne, reprodutseeritav katseplaan:
    - millised mudelid / versioonid,
    - millised hüperparameetrid (batch size, context window, temperatuur),
    - millised masinad / GPU seadistus (ROCm, mälu, threadid).
  3. Lisa alati, kuidas tulemusi logida ja võrrelda (tabel, mõõdikud, graafikud).
  4. Kui midagi jääb ebaselgeks, ära eelda – esita täpsustavad küsimused enne plaani kinnitamist.
```


* * *

## Kuidas neid kasutada
*   Skills → **New Skill** → täida `Name`, `Description`, `Content` (Markdown) ja salvesta.[[docs.openwebui](https://docs.openwebui.com/features/workspace/skills/)]    
*   Chatis: kirjuta `$` ja vali sobiv skill (nt “Teadusartikli analüüs”), siis anna PDFi tekst või kokkuvõte.    
*   Võid samad skills ka **siduda konkreetsete mudelitega** (Workspace → Models → vali mudel → Skills).[openwebui+1](https://docs.openwebui.com/features/plugin/tools/)    

Seega “Skills” väljale kirjuta **pikemad, korduskasutatavad juhendid** tüüptööde jaoks (artikli analüüs, kirjutamise stiil, eksperimendi planeerimine, koodi review jne) – mitte ühekordset küsimust, vaid üldist juhendit, mille järgi mudel peaks alati sellist ülesannet lahendama.

* * *

## Parandused
Selleks, et **Skills List** töötaks on vajalik veeru tüübi muuta:

Viimane parandus
```bash
PGPASSWORD="ai_secure_pass_2026" docker exec -u postgres -it postgres_postgis psql -d openwebui_db -c "
SELECT id, name, meta FROM skill;
UPDATE skill 
SET meta = meta::jsonb 
WHERE meta IS NOT NULL AND meta != '' AND meta::text LIKE '{%';
ALTER TABLE skill ALTER COLUMN meta TYPE JSONB USING meta::jsonb;
SELECT id, name, meta FROM skill;"
```

Siin on vana parandus:
```sql
ALTER TABLE public.skill
  ALTER COLUMN meta TYPE text
  USING meta::text;
```
