Jõhvi tehisarupäev

Sissejuhatav tund — disainiraam, vaibkoodimine ja tehniline arsenal

Author

Indrek Seppo · indrek.seppo@seppo.ai

Published

30. aprill 2026

1 Mida me täna valmis teeme

Konteksti taastamine. Kasutusjuhu valik on tellijaga enne koolitust kokku lepitud. Iga tiim teab, mis töövoogu täna prototüüpima asutakse.

Asukoht. Tartu põik 5, Jõhvi.

Registreerimine. eesti.ai/johvi-tehisaru-paev

Tänase päeva eesmärk ei ole õppida programmeerijaks. Eesmärk on võtta üks päris korduv tööülesanne ja teha sellest päeva lõpuks esimene töötav AI-abivahendi prototüüp.

AI ei tee täna otsuseid meie eest. Meie kirjeldame tööd, kontrollime tulemust ja otsustame, kas see sobib. AI aitab musta töö kiiremini läbi teha.

Sissejuhatuse eesmärk on anda ühine sõnavara, mille abil päeva ülejäänud osas tegutseda: kuidas tööülesannet sõnastada, kuidas AI-agentiga väikeste sammudena töötada ja millal valida skill, väike rakendus, API-päring või MCP-server.

Pärast seda tundi peab iga osaleja oskama vastata kolmele küsimusele1:

1 Kui osalejad ei suuda neile vastata, on järgnev praktiline töö heitlik: tiim klõbistab klaviatuuril, kuid keegi ei tea, miks just praegu just seda tehakse.

  1. Mis tööülesannet me päriselt parandame?
  2. Mis faasis ma praegu olen? (mõistan probleemi, sõnastan, valin lahendusviisi, ehitan)
  3. Mis on järgmine väike samm, mida AI-agentilt küsida?

Materjal järgib neid küsimusi.


2 Üks lihtne näide

Kujutame ette klienditeeninduse töövoogu.

Enne Pärast esimest prototüüpi
Inimene saab kliendi kirja, loeb selle läbi, otsustab teema, hindab kiireloomulisust, otsib vastusemalli ja kirjutab mustandi. Inimene annab kirja AI-abivahendile ning saab kategooria, prioriteedi ja vastuse mustandi.
Kvaliteet sõltub sellest, kui palju inimesel on aega ja kogemust. Inimene kontrollib tulemuse üle, parandab vajadusel ja otsustab ise, mida saata.
Kolleegi abi küsitakse siis, kui juhtum on segane. AI aitab teha esimese läbivaatuse, kuid keerulised juhtumid jäävad endiselt inimese otsustada.

Selline prototüüp ei asenda klienditeenindajat. See vähendab korduvat käsitööd ja teeb järgmise sammu kiiremaks.


3 Mis täna kindlasti ei juhtu

Note

Need piirid on olulised, sest hea prototüüp on väike, kontrollitav ja aus.

  • Täna ei pea keegi programmeerijaks hakkama.
  • Täna ei panda tundlikke tootmisandmeid kontrollimata AI-sse.
  • Täna ei ehita me valmis tootmissüsteemi.
  • Täna ei automatiseeri me otsuseid, mille eest peab vastutama inimene.
  • Täna ehitame prototüübi, mida saab päris näitega katsetada.

Päeva lõpus peaks igal tiimil olema midagi, mida saab näidata: mis probleem oli, kuidas töö käis enne, mida prototüüp teeb, millise näitega seda testiti ja mis oleks järgmine samm pärast koolitust.


4 Inimese ja AI roll

Kõige tähtsam mõtteviis: sina tunned tööd, AI teeb mustandi. Kui sa ei tea, milline hea tulemus välja näeb, ei tea seda ka agent.

Roll Mida teeb
Töövoo omanik Tunneb tööd sügavalt ja otsustab, kas tulemus on kasutatav.
Tiim Valib ühe kasutusjuhu, kirjutab töövoo lahti, testib ja kärbib.
AI-agent Loeb juhiseid, pakub mustandeid, kirjutab faile ja aitab väikseid samme teha.
Koolitaja Aitab hoida skoopi, valida õige tööriista ja vältida tupikuid.

Lihtne reegel:

Sa oled tootejuht ja testija. AI on teostaja.

See tähendab, et inimene ütleb, mida on vaja, seab piirangud, kontrollib väljundi ja otsustab, kas töö sobib.


5 Milline kasutusjuht sobib üheks päevaks

Hea ühepäeva kasutusjuht on piisavalt väike, aga mitte mänguline. See peab tulema päris tööst.

Sobib tänaseks Pigem ei sobi täna
Korduv töö, kus sisendid ja väljundid on suhteliselt standardsed. Ebamäärane strateegiline probleem, millel pole selget väljundit.
Olemas on näidissisend ja näide heast väljundist. Keegi ei oska öelda, milline hea tulemus välja näeb.
Inimene saab AI tulemust kiiresti kontrollida. Tulemuse õigsust on kohapeal raske või aeganõudev kontrollida.
Saab testida ühe või kahe realistliku näitega. Vajab mitut süsteemiintegratsiooni, turvaülevaatust või tootmisdeploy’d.

Kui kasutusjuht on liiga suur, ei viska me seda ära. Me valime sellest ühe väikese lõigu, mida saab täna katsetada.


6 Sõnavara lühidalt

Kui mõni sõna jääb segaseks, küsi kohe. Päeva tempo läheb pärast sissejuhatust kiireks.

  • AI-agent — AI-töökaaslane, kes saab lugeda juhiseid, vaadata faile ja teha samme.
  • Prompt — selgelt sõnastatud ülesanne AI-le.
  • Prototüüp — esimene töötav versioon, millega saab mõtet testida; mitte lõplik süsteem.
  • Skill — korduvkasutatav tööjuhis AI-agentile.
  • API-päring — viis, kuidas üks programm küsib teiselt programmilt midagi ja saab vastuse. Tänase päeva kontekstis enamasti: meie skript küsib AI-mudelilt vastust.
  • MCP-server — tehniline ühendus, mille kaudu agent saab kasutada välist süsteemi, näiteks andmebaasi või ettevõtte API-t.

7 API, Skill, MCP — kolm mõistet pildiga

Need kolm sõna kõlavad päeva jooksul kümneid kordi. Vaatame need pildiga lahti — tehniline süvend tuleb hiljem peatükis Tehniline arsenal.

Sõnavaras on igaüks ühe lausega kirjas, aga kuna nende valikust kasvab välja otsus millist teed minna (skill? rakendus? API-päring? MCP?), tasub iga mõiste eraldi natuke pildiga avada.

7.1 API — kahe programmi vaheline luuk

API = Application Programming Interface. Inimese liides on nupp ja vorm. Programmide vaheline liides on API.

API on viis, kuidas üks programm küsib teiselt midagi ja saab vastuse. Täpselt nii nagu sina küsid kelnerilt menüüd, küsib su telefoniäpp Eesti Ilmateenistuselt ilma. Vastus tuleb tagasi, äpp joonistab pildi.

Pildid Eesti elust — API käib taustal, ilma et keegi seda sõna ütleks:

  • Ilmateenistus. Eesti Ilmateenistusel on avalik API, mis tagastab vaatlusandmed ja prognoosid igale rakendusele, mis neid küsib. Üks API, sajad äpid.
  • X-tee. Eesti riigi “API-de raudtee” (x-tee.ee). Kui notar teeb su kohta päringu, jooksevad andmed maksuameti, rahvastikuregistri, äriregistri ja e-tervise vahel X-tee API-de kaudu. Eesti digiriigi selgroog.
  • Äriregistri avaandmed. Kui rakendus näitab ettevõtte ametlikku nime, registrikoodi või juhatust, on ta need avaandmed.ariregister.rik.ee API-st küsinud.
  • Smart-ID / Mobiil-ID kinnitus. Vajutad veebis “Kinnita”, telefon piiksub. Vahepeal käib API-päring SK ID Solutions süsteemiga, mis su telefoniga räägib ja vastuse veebi tagasi toob.
  • Pakiautomaadi jälgimine. Kui Omniva või SmartPosti äpp näitab “pakk on Tartu Lõunakeskuse automaadis”, on info küsitud nende sisemisest API-st.
Tip

AI-mudeli API on sama lugu, ainult küsimuse adressaat on keelemudel: “võta see kiri kokku ühe lausega”“Klient küsib, kas saadetis jõuab homseks.” Anthropic (Claude), OpenAI (GPT-5), Google (Gemini), kohalik TartuNLP — kõiki kõnetatakse sama mustri järgi.

Kui keegi täna ütleb “teeme API-päringu”, tähendab see lihtsalt: meie skript kutsub AI-mudelit ühe konkreetse küsimusega ja saab teksti tagasi. Mitte uut veebisaiti.

7.2 Skill — kirjalik juhend AI-le

Skill on markdown-fail (SKILL.md). Sa võiksid selle Wordis kirjutada — vahe on selles, et AI-agent loeb seda otse.

Skill on nagu juhend, mille kirjutaksid uuele kolleegile. Kui klienditeenindusse tuleb uus inimene, paned paberile:

“Kui kliendi kiri saabub: loe läbi, määra kategooria (tehniline / arve / üldine / kaebus), hinda kiireloomulisust 1–3, kirjuta lühike viisakas mustand.”

Skill teeb täpselt sama, ainult lugeja on AI-agent, mitte uus kolleeg. Lühike fail eesti keeles, kus on kirjas:

  • millal seda kasutada (kirja saabudes? PR-i avades? raporti koostamiseks?),
  • mis sammud teha (sammhaaval, eesti keeles),
  • mis kujul vastust anda (vabatekst? JSON? markdown-tabel?).

Tähtis: see ei ole programmeerimine. See on selge tööjuhendi kirjutamine, mille adressaat juhtub olema masin. Kirjutad ühe korra — agent kasutab iga kord uuesti. Parandad nagu Wordi-faili. Jagad kolleegiga e-mailiga.

Näidisfail ja täpne vorming tulevad allpool peatükis “Skill kui korduvkasutatav teadmine”.

7.3 MCP — pikendusjuhe agendi ja sinu süsteemide vahel

MCP = Model Context Protocol. Anthropicu pakutud avatud standard, mille on üle võtnud OpenAI, Google ja teised. Kujuta ette nagu USB-pesa: ükskõik mis tootja, sama pesa.

Kui skill on juhend, siis MCP-server on tööriist, mille kaudu agent saab päriselt välistele süsteemidele ulatuda.

Vahe pildis:

  • Skilliga: “loe see kiri läbi ja liigita.” Agent mõtleb peast, vastab.
  • MCP-serveriga: “vaata raamatupidamissüsteemist, kas see arve on makstud.” Agent läheb päriselt sinna, küsib, toob vastuse.

Pildid Eesti elust, mida MCP-server agendile lubaks:

  • Küsi e-arveldaja2 sisust: “mis on käesoleva kuu kinnitamata kulu-arvete summa?”
  • Otsi ettevõtte SharePoint’ist sisedokumente: “leia viimase aasta hankelepingud Teliaga.”
  • Pipedrive / Salesforce CRM-ist: “valmista ette homse kohtumise märkmed.”
  • Jira / Lineari ülesannete haldur: “loo ülesanne ‘logo värvide ülevaatus’ ja määra see Marile.”

2 iseppo/e-arveldaja-mcp — eksperimentaalne MCP-server Eesti e-arveldaja (RIK e-Financials) API-le. Käesoleva kursuse autori avatud lähtekoodiga (Apache 2.0) projekt; ei ole RIK-iga seotud. Samasuguseid MCP-servereid saab ehitada ka SAP-i, Microsoft Dynamicsu, Postimees CMS-i jne. külge.

Kuna MCP-server vajab päriselt programmeerimist, autentimist ja paigaldamist, ei ehita me täna seda nullist. Aga on oluline aru saada, et see on olemas, et see on järgmise sammu valik — ja millal selleni jõuda.

Lihtne rusikareegel: skill on tunni töö, MCP-server on nädalate töö. Otsustuspuu vaade tuleb peatükis “Millal skill, millal rakendus, millal API, millal MCP?” allpool.


8 Päeva rütm: enne valikut loetle, siis vali

Kõige sagedasem viga: hüpata kohe esimesele tehnilisele lahendusele, mis pähe tuleb. Lihtne kindlustus — sunni ennast kirja panema vähemalt kolm varianti enne valikut.

Kasutusjuhu olete tellijaga juba enne koolitust kokku leppinud. Päev ei alga seega tühjalt lehelt — me ei mõtle välja, millist tööd parandada, vaid otsustame, kuidas seda parandada.

Lihtne reegel kogu päevale: kõigepealt loetle valikud, siis vali üks. Kehtib nii probleemi täpsel sõnastusel (mis täpselt katki on, kus algab ja lõpeb?) kui lahendusviisi valikul (skill? rakendus? API-päring? MCP?). Kaks-kolm varianti paberil enne, kui hakkad ühte ehitama.

Samm Kell Mida teeme
Sissejuhatus ja ühine raam 11:00–12:15 Miks AI jääb tihti juhuslikuks; üksik prompt vs korduvkasutatav töövoog; mis sobib ühe päevaga lahendamiseks; näited heast skillist
Paus 12:15–12:25
Kasutusjuhu ja töövoo valimine 12:25–12:40 Gruppides kinnitatakse realistlik kasutusjuht ja töövoo piir
Lahenduskäigu valik 12:40–13:00 Valitakse, kas ehitada skill, väike rakendus või muu AI-abivahend
Lõuna 13:00–13:35
Skilli või AI-abivahendi ehitamine I 13:35–14:35 Paaristöö, esimene toimiv versioon
Skilli või AI-abivahendi ehitamine II 14:35–15:25 Iteratsioon, täpsustamine ja koolitaja abi
Paus 15:25–15:35
Testimine päris näidete peal 15:35–15:55 1–2 realistlikku sisendit, väljundi kontroll, täpsustused, inimese kontroll
Lõpudemod ja jagamine 15:55–16:15 Iga organisatsioon näitab: probleem, senine tööviis, mis valmis, kohene kasu, järgmine samm
Järgmised sammud 16:15–16:30 Vastutaja, testimine, järgmise nädala päris kasutus
Tip

Kui jääd kinni, kontrolli kõigepealt: kas töövoo lause on tõesti selge? Üheksal korral kümnest tuleb ebakindlus mitte tööriistast, vaid sellest, et probleem ise on hägune.

Soovid süvendit? Selle “ava–vali–ava–vali” mustri akadeemiline nimi on Double Diamond — täna sellega rohkem ei tegele.


9 Vaibkoodimine lihtsas keeles

Vaibkoodimine tähendab, et sa ei kirjuta kõike ise käsitsi. Sa kirjeldad AI-agentile väikeste sammudena, mida tahad saavutada, vaatad tulemuse üle ja juhid teda edasi.

Inglise keeles kasutatakse selle kohta väljendit vibe coding. Andrej Karpathy populariseeris selle 2025. aastal kui tööviisi, kus inimene kirjeldab loomulikus keeles, mida soovib, ning AI-agent kirjutab suure osa teostusest3.

3 Karpathy 2025. aasta veebruari säuts: “There’s a new kind of coding I call ‘vibe coding’, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.”

Vaibkoodimise anti-muster: anda 30-rea prompt, oodata ime, šokeeruda, kui see ei tule. Lahendus: 5-rea prompt, kontroll, kohe edasi.

Important

Vaibtöötamise põhireegel: AI eksib — aga oskab ka oma vigu leida ja parandada.

See on kogu päeva kõige tähtsam tähelepanek. AI teeb vigu — see on garanteeritud, mitte erand. Aga sama mudel, mis vea tegi, oskab seda üllatavalt hästi leida ja ära parandada, kui sa lased tal seda teha.

Praktikas tähendab see, et iga töötav tükk vajab mitut kriitilist ülevaatust, eri nurkade alt:

  • “Vaata see kood (või tekst, või plaan) üle — kus võib viga olla?”
  • “Mis siin puudu jääb? Mida ma unustasin küsida või mainida?”
  • “Kas see töötab ka eelmise sammu peal? Käivita ja näita mulle.”
  • “Mängi ise kriitilist testijat — proovi see lahendus lõhkuda.”

Ühest ülevaatusest ei piisa: esimene leiab pinnavea, teine vaatab põhjalikumalt, kolmas testib serva-juhte. Kui jätad selle ringi vahele, ei tule vead nähtavale enne lõppu — ja siis on parandamine kallis.

Sellest tulenevad kolm tehnilist reeglit:

  1. Sa oled tootejuht ja testija, AI on teostaja.
  2. Üks samm korraga — tee väike prompt, kontrolli väljund, lase agendil ise üle vaadata, alles siis edasi.
  3. Kui katki läheb, taasta — git, undo, uus prompt; ära jää parandama, mida sa pole testinud.

9.1 Promptimise valem

Iga prompt sisaldab nelja elementi + üht reeglit:

  • Eesmärk: “Ma tahan, et …”
  • Kontekst: kes kasutab, mis andmetega
  • Piirangud: mida ei tohi teha, kui pikk, mis vormis
  • Väljund: täpselt, mis vormis vastus tuleb
  • Reegel: üks samm korraga

Halb prompt: “tee mulle skill, mis automatiseerib klienditeeninduse”.

Hea prompt: “Kirjuta SKILL.md, mis võtab sisendiks kliendi e-kirja teksti (eesti k.) ja annab JSON-i kolme väljaga: kategooria (üks neljast), prioriteet (1–3), vastuse_mustand (max 80 sõna). Ära veel rakenda.”


10 Tehniline arsenal

10.1 Tööriistad, mis on laual

Kahe tööriista paralleel-kasutus pole luksus, vaid kindlustuspoliis. Kui üks läheb päeva keskel pikali või jõuab limiidini, ei jää tiim kinni.

Kasutame kahte AI-agendi tööriista: Claude Code ja ChatGPT Codex. Mõlemaga saab loomulikus keeles vestelda. Need võivad lugeda faile, kirjutada juhiseid, luua prototüüpe ja aidata testida.

Te ei pea kõiki käske pähe õppima. Oluline on osata anda väikseid selgeid ülesandeid ja kontrollida, mis muutus.

Claude Code (Anthropic CLI). Jookseb terminalis. Tugevus: skillide ökosüsteem, hookid, MCP-serverid. Konto: Claude Pro või Claude Max (mitte ainult claude.ai tasuline konto — Claude Code on eraldi liides).

ChatGPT Codex (OpenAI agent-CLI). Tugevus: GPT-5-pere mudelitele ligipääs, hea koodiloogikas. Konto: ChatGPT Plus või Pro.

API-võti (varuks). Anthropic API või OpenAI API — kui CLI-konto piir saab täis, või kui ehitad rakendust, kus mudelit kutsutakse koodist. NB: API-võti on eraldi konto OpenAI / Anthropic platvormil, mitte sama, mis ChatGPT Plus või Claude Pro.

10.2 Kiirstart: Claude Code ja Codex viies minutis

Kui kunagi varem terminalis olnud pole, on kõige tähtsam reegel: midagi kogemata katki ei tee. Agent küsib enne ohtlikke käske luba, ja kõik saab git’iga tagasi keerata.

Mõlemad tööriistad jooksevad terminalis (macOS: Terminal või iTerm; Windows: PowerShell või Windows Terminal; Linux: ükskõik milline). Sa avad terminali oma projektikataloogis, käivitad agendi, vestled sellega loomulikus eesti või inglise keeles.

10.2.1 Esimene käivitamine

10.2.1.0.1 Claude Code
# paigaldus (üks kord)
npm install -g @anthropic-ai/claude-code

# käivitamine projektikataloogis
cd ~/projektid/minu-prototüüp
claude
10.2.1.0.2 Codex CLI
# paigaldus (üks kord)
npm install -g @openai/codex

# käivitamine projektikataloogis
cd ~/projektid/minu-prototüüp
codex

Esimesel käivitamisel küsitakse sisselogimist (Claude Pro/Max või ChatGPT Plus/Pro konto). Pärast seda istud agendi ees nagu vestluskaaslase ees: kirjutad, mida tahad, agent loeb, kirjutab ja käivitab.

10.2.2 Põhikäsud, mida vaja teada

Mõlemas tööriistas algavad slash-käsud /-ga. Kõige kasulikumad on /help, /usage (limiit) ja /clear (puhasta kontekst).

Tegevus Claude Code Codex
Abi-menüü /help /help
Kontrolli kasutus / limiit /usage või /status /status
Puhasta vestlus (alusta otsast) /clear /clear või /new
Vaheta mudel (kiirem ↔︎ tugevam) /model /model
Lõpeta sessioon /exit või Ctrl+D /exit või Ctrl+D

10.2.3 Kuidas näha, kui palju ressurssi alles on?

Nii Claude Pro/Max kui ChatGPT Plus/Pro kasutavad kahte limiiti paralleelselt: 5-tunnine libisev aken (lühiajaline burst-limiit) ja nädalalimiit (kogu nädala maht). Limiit ei ole minutites mõõdetav — see on tokenites (sisend + väljund) ning skaleerub mudeli järgi (Claude’is Opus kulutab kiiremini kui Sonnet, Sonnet kiiremini kui Haiku; Codex’is GPT-5.1 kiiremini kui gpt-5-mini).

10.2.3.0.1 Claude Code — limiit

Käivita Claude Code’i sees:

/usage

Tagastab nt:

Current 5-hour window: 38% used
   Resets in 2h 14m
Weekly limit: 21% used
   Resets Tuesday 12:00
Plan: Pro
10.2.3.0.2 Codex — limiit

Käivita Codex CLI sees:

/status

Tagastab nt:

Plan: ChatGPT Plus
Current 5-hour window: 42% used
   Window resets in 1h 42m
Weekly limit: 18% used
   Resets Monday 09:00
Model: gpt-5.5 (auto)
Warning

Hoiatus. Kui näed, et limiidist on alles vähem kui 20%, lülita odavamale mudelile (/model → vali Sonnet või Haiku Claude’is, või gpt-5-mini Codexis), ja jäta kallid mudelid kriitiliseks tööks. Vajadusel mängi paralleelselt teise tööriistaga, kuni limiit taastub.

10.2.4 Mida tähele panna esimestel kordadel

Need on kolm asja, kuhu uued kasutajad kõige sagedamini takerduvad.

  1. Ära käi liiga kaugel. Üks samm korraga. Pärast iga muudatust vaata, mis muutus.
  2. Vaata, mis failid muutuvad. Mõlemad tööriistad näitavad iga muudatuse diff enne kinnitamist. Kui ei saa aru, mida agent muutis, küsi: “selgita seda muudatust eesti keeles, miks just nii”.
  3. Hoia git puhas. Aegajalt tee git commit. Kui agent lõhub midagi, saad minna tagasi varasemale versioonile.

10.3 Skill kui korduvkasutatav teadmine

Skill = SKILL.md fail, mis ütleb agendile: “millal mind kasutada, kuidas mind kasutada, mis on minu sammud”. Ühelt poolt nagu funktsioon, teiselt poolt nagu juhend uuele kolleegile.

Minimaalne skill näeb välja nii:

---
name: kliendi-kirja-klassifitseerija
description: Kasuta, kui sisendiks on saabuva kirja tekst (eesti k.) ja vaja on liigitada kategooriasse + prioriteediga + mustandvastusega.
---

# Kliendi kirja klassifitseerija

## Sisend
Kasutaja saadab kirja teksti (terve, ilma päiseteta).

## Sammud
1. Loe tekst läbi.
2. Liigita: tehniline / arve / üldine / kaebus.
3. Hinda prioriteet (1 = kiire, 3 = saab oodata).
4. Kirjuta mustandvastus (max 80 sõna, viisakas, eesti k.).

## Väljund
JSON: `{ "kategooria": "...", "prioriteet": N, "vastuse_mustand": "..." }`

description on kõige olulisem rida. Selle järgi otsustab agent, kas seda skilli üldse aktiveerida. Halvasti kirjutatud description = skill ei käivitu kunagi.

10.4 Kuidas skilli vaibida

Põhimõte: sa ei pea SKILL.md-d nullist ise kirjutama. Lase agendil esimene mustand teha, siis loe üle, siis paranda — vaibides või käsitsi. Üks skill saab valmis tavaliselt 10–20 minutiga.

Skille vaibitakse samade reeglitega, mis kogu päev: väike samm, kontrolli, lase üle vaadata, paranda. Kuna SKILL.md on ainult markdown-fail, tähendab “vaibimine” siin kasutusloo kirjeldamist agendile loomulikus keeles ja tema mustandi üle vaatamist.

1. Sõnasta probleem ja anna näide. Räägi agendile, mis tööd tahad automatiseerida, ja anna talle üks-kaks päris näidet sisendist + ootuspärasest väljundist. Mida konkreetsem, seda parem.

“Mul on 20 kliendikirja päevas, mille pean liigitama. Palun kirjuta SKILL.md, mis võtab kirja teksti (eesti k.) ja annab JSON-i kolme väljaga: kategooria (üks neljast: tehniline / arve / üldine / kaebus), prioriteet (1–3), vastuse_mustand (max 80 sõna). Lisan ka kaks näidet, kuidas tulemus välja peaks nägema. Ära veel kuhugi salvesta — anna mulle mustand kõigepealt.”

2. Loe mustand ise läbi. Enne kui agent salvestab, loe see läbi nagu juhendit uuele kolleegile. Kas sammud on selges järjekorras? Kas description ütleb täpselt, millal skilli aktiveerida? Kas väljundivorming on üheselt mõistetav? Kas mõni serv-juht on katmata?

3. Lase agendil ennast kriitiliselt üle vaadata. Vaibtöötamise põhireegel kehtib ka skillile:

“Vaata see skilli mustand kriitilise pilguga üle. Kus on auke? Mis serv-juhud on katmata? Mida võiks agent halvasti sõnastatud kohas valesti mõista?”

Tihti leiab agent oma mustandist 3–4 nõrkust, mida sina kohe ei märkanud.

4. Lase AI-l ka aktiivselt parandusi pakkuda. Kriitiline ülevaatus leiab vigu. Aktiivne parendamine küsib, mis võiks paremini olla — see on eraldi samm. Proovi neid kolme küsimust järjest:

“Mida sa sellele skillile veel lisaksid? Mõtle nagu kogenud kolleeg, kes näeb, mis siit puudu jääb.”

“Otsi internetist, kuidas teised on sarnaseid skille või tööjuhendeid kirjutanud. Kas neil on midagi, mida me võiksime üle võtta?”

“Kas see SKILL.md järgib parimaid praktikaid (selge description-rida, struktureeritud sammud, näidete kasutamine, serv-juhtude käsitlemine)? Vaata näiteks anthropics/skills või obra/superpowers repo’sid ja võrdle.”

Vahe: “kus on auke?” leiab vead. “Mida lisada?” leiab puuduva. “Kas vastab parimatele praktikatele?” toob sisse tööstuse standardid. Kõik kolm on vajalikud.

Internet-otsing on Claude Code’is ja Codexis tavaliselt sisseehitatud (WebSearch, WebFetch-tüüpi võimalused). Kolme küsimuse peale on agent kogunud 5–10 ettepanekut, millest sina valid välja need, mis sinu kontekstile sobivad. Sina jääd otsustajaks — agent toob valikud, sa lükkad osa tagasi, võtad osa vastu.

5. Paranda — vaibides või käsitsi. Sealt edasi on kaks teed:

  • Vaibi edasi“Sõnasta description ümber, et see ütleks selgemini, millal skilli kasutada. Lisa veel üks näide, kus kiri on inglise keeles.” Agent kirjutab faili ümber.
  • Paranda käsitsi — ava SKILL.md redaktorist (VS Code, Sublime, isegi Notepad) ja muuda üks rida ise. Markdown-fail = igal hetkel saad ise sekkuda.

Need ei välista teineteist — täiesti tavaline on teha valdav enamik vaibides ja mõningaid osasid ise kirjutades.

6. Testi päris näitega. Käivita skill ühe päris kirja peal. Kas tulemus on see, mida ootasid? Kui ei — tagasi sammu 3.

Tip

Tark nipp: nõua näidet skillile juurde. Hea SKILL.md sisaldab vähemalt ühe konkreetse “sisend → ideaalne väljund” paari. Agendi esimene mustand on tihti üldine — küsi: “Lisa SKILL.md-le üks konkreetne näide, kuidas sisend ja väljund peaksid välja nägema.”

10.4.1 Millal vaibida, millal käsitsi parandada

Rusikareegel: alustad alati vaibides (kiire mustand). Lõpetad enamasti käsitsi (peenhäälestus). Vahepeal vahetad vastavalt sellele, kumb on kiirem.

Olukord Vali
Esimene mustand olematust Vaibi — alusta agendi pakutavast
Suur struktuurimuutus, uued sektsioonid Vaibi — agent oskab tervikut ümber kujundada
Üks lause vaja teisiti sõnastada Käsitsi — kiirem kui prompti kirjutada
description-rea peenhäälestus Käsitsi — sa tunned konteksti paremini kui agent
Sammude lisamine / järjekorra muutmine Vaibi + loe pärast üle

10.4.2 Kolm valmis näidet, millega päeva alustada

Need on stardiprompt’id — kopeeri, kleebi, alusta. Esimene mustand tuleb 30 sekundiga, edasi sammud 1–6 nagu eespool.

Kui täpset SKILL.md vormi pähe veel ei pane, alusta nendest kolmest. Iga näide on valmis lähteülesanne agendile — paku see talle, loe mustand üle, vaibi edasi.

10.4.2.1 Näide 1: Asukohaanalüüs

Mille jaoks: hinda Eesti aadressi sobivust ärilise kasutusjuhi jaoks (kohvik, kliinik, ladu, pakiautomaat, jaepood, kontor).

Stardiprompt:

“Loo mulle Agent Skill nimega estonian-location-analyst. Skill peab aitama hinnata Eesti aadressi sobivust konkreetse ärilise kasutusjuhi jaoks. See peab kasutama struktureeritud hindamisraami, eristama fakte / eeldusi / soovitusi, andma skoori ainult koos alaskooride ja põhjendusega, ning lisama alati andmelüngad ja järgmised kontrollid. Loo struktuur ise (SKILL.md + references/), kirjuta eesti keeles. Lisa lõppu testpromptid.”

Testprompt: “Hinda aadressi Narva mnt 7, Tallinn uue kohviku jaoks.”

10.4.2.2 Näide 2: Ettevõtte avaliku taustabrief

Mille jaoks: koostab tarnija, kliendi või koostööpartneri taustabriefi avalike andmete põhjal (e-Äriregister, MTA avaandmed).

Stardiprompt:

“Loo Agent Skill nimega estonian-company-public-brief. Skill peab koostama avalike andmete põhise ettevõtte taustabriefi (tarnija, klient, partner). Tuvastab ettevõtte registrikoodi järgi, kontrollib staatust ja põhiandmeid, hindab avalikke maksu / käibe / töötajate signaale (kui kättesaadavad), toob välja avaliku andme põhised riskisignaalid. NB: ei tohi nimetada väljundit krediidiskooriks ega teha automaatset krediidiotsust. Loo struktuur ise, kirjuta eesti keeles. Andmeallikad: e-Äriregistri autocomplete + bulk-avaandmed, MTA avaandmed.”

Testprompt: “Tee avaliku andme põhine brief ettevõtte X kohta. Kas selle tarnijaga tasub teha 60-päevase maksetähtajaga leping?”

10.4.2.3 Näide 3: Eesti terminoloogia kontroll

Mille jaoks: kontrollib eestikeelse teksti (kasutajaliides, leping, juhend, turundustekst, avaliku sektori tekst) terminoloogiat, järjepidevust ja stiili.

Stardiprompt:

“Loo Agent Skill nimega estonian-terminology-reviewer. Skill peab kontrollima eestikeelset teksti — terminoloogia, järjepidevus, stiil. Tuvastab tekstiliigi ja valdkonna, leiab terminoloogilised riskid ja ebajärjepidevused, eristab õigekirja / terminoloogiat / stiili / tähenduse muutumise riski. Annab parandatud versiooni ainult siis, kui kasutaja seda eraldi soovib. Toetab kasutaja enda terminibaasi CSV / Excelina. Loo struktuur ise, kirjuta eesti keeles.”

Testprompt: “Vaata see SaaS kasutajaliidese tekst üle, leia ebajärjepidevad terminid ja paku alternatiive.”

Tip

Pikemad näited. Need on kolm lühendatud versiooni. Täielikumad stardiprompt’id (koos andmeallikate, MCP edasiarenduse plaani ja 4–10 testpromptiga) ning veel 8 valmis-näidet — turuanalüüs, energiakulu planeerija, ESG eelhinnang, riigihanke bid/no-bid, B2B ICP scorer jt — leiad failist skillid.md.


11 MCP-server: kus skillile alla jääb, kus üle

Lühikokkuvõte: skill on juhend agendile peast töötamiseks. MCP-server annab agendile tööriistad, mille kaudu ta saab päriselt midagi teha — andmeid lugeda, kirjutada, käivitada päringuid välistele süsteemidele.

Skilli ja MCP eristamine ei ole ainult “lihtne vs keeruline”. Need on erinevad rollid:

  • Skill = retseptiraamat — sõnaline juhend, kuidas mingit asja teha. Agent loeb, mõtleb, vastab.
  • MCP-server = tööriistakast — kogum funktsioone, mille kaudu agent saab välismaailmaga rääkida (andmebaas, ettevõtte API, fail, e-post).

11.1 Mille poolest MCP skillist parem on

Omadus Skill MCP-server
Pääseb päris süsteemideni Ei (ainult mõtleb) Jah — saab andmeid päriselt lugeda ja muuta
Värsked andmed Ei (ainult see, mis promptisse mahub) Jah — iga päring toob hetkeseisu
Korduvkasutus mitme kasutaja vahel Igaüks paigaldab oma agendi sisse Jah — üks server, kõik tiimi agendid kasutavad
Suured andmehulgad Promptis ei mahu, agent ei oska otsida Jah — server otsib agentide eest
Kontrollitud ligipääs Pole — kõik mis prompt’is on Jah — autentimine, õigused, audit

Konkreetne näide. Skilliga: “liigita see kliendikiri” — agent vastab oma teadmiste põhjal. MCP-iga: “vaata raamatupidamissüsteemist, kas kliendil on lahtisi arveid, ja viita oma vastuses sellele numbrile” — agent teeb päriselt päringu.

11.2 Mille poolest skill MCP-st parem on

Omadus Skill MCP-server
Päevas valmis Jah — markdown-fail, 10–20 minutit Ei — vajab koodi, paigaldust, testimist
Programmeerimist nõuab Ei Jah — Python / TypeScript / Node.js
Autentimist nõuab Ei Jah — kelle nimel, mis õigustega
Versioonihaldust nõuab Sama mis Wordi-faili Jah — leping, mille muutmine lõhub kõik kasutajad
Sõltuvus välisest süsteemist Ei Jah — kui server maas, kõik agendid kinni
Saab kohe muuta Jah — paranda fail, käi edasi Ei — koodimuudatus + redeploy

11.3 Millal teha edasi MCP

Mõtle MCP-le alles siis, kui üks neist on tõsi:

  1. Sama välise süsteemi (raamatupidamine, CRM, sisedokumentide-baas) küsimine kordub kümneid kordi — käsitsi promptimine on tüütu ja vigaderohke.
  2. Mitu inimest tiimist tahab sama integratsiooni kasutada — keskne MCP säästab iga agendi seadistamise.
  3. Andmemaht on suur — promptis ei mahu, vajab serveri-poolset otsingut/filtreerimist.
  4. On vaja päriselt midagi muuta süsteemis (kirjutada, mitte ainult lugeda) — siis on autentimine ja õiguste-kontroll möödapääsmatu.

11.4 Millal MCP-st hoiduda

  • Üks-kahekordne uudis-vajadus — kopeeri info promptisse käsitsi, ära ehita serverit.
  • Süsteem, millele sul niikuinii ühepäeva-prototüübis pole stabiilset ligipääsu (autentimine pole valmis, võti puudub, võrk piiratud).
  • Tiim ei oska MCP-d hooldada — kui ehitaja lahkub ja keegi ei oska kohendada, on see tehnoloogiline võlg, mitte vara.
  • Kui sama tulemus on saavutatav skilli + ühe käsitsi-andmevoo eksportimisega (CSV, Excel), tee viimast.
Warning

Päeva-reegel. Kui tunni jooksul tunned end mõtlemas “me peame ehitama oma MCP-serveri”, küsi kõigepealt: “kas sama probleem on lahendatav skilliga + ühe Excel-failiga, mille klienditeenindaja kord nädalas ekspordib?” Üheksal korral kümnest on vastus jah — ja siis pole MCP veel selle väärt.

MCP saab alati järgmise sammuna ehitada, kui prototüüp osutub väärtuslikuks. Skill + Excel-eksport on alati kiirem viis tõestada, kas asja üldse vaja on.


12 Iseseisev rakendus: kui prototüüpi peab kasutama keegi peale sinu

Iseseisev rakendus = midagi, mida saab käivitada ilma Claude Code’i / ChatGPT Codexita. Veebileht, töölaua-rakendus või isegi Excel-makro. Vajab oma kasutajaliidest.

Skill ja MCP elavad agendi sees. Need eeldavad, et kasutajal on Claude Code või Codex installitud ja tasuline konto avatud. Aga mis siis, kui sinu klienditeenindajad, raamatupidaja, müügitiim ei kasuta agente? Nad tahavad nupule vajutada ja vastust näha.

Sealt tuleb iseseisev rakendus.

12.1 Mis on iseseisev rakendus

Kaks põhivormi:

  • Veebipõhine — sisemine veebileht ettevõtte serveris või pilves (Vercel, Render, Heroku, ettevõtte oma server). Kasutaja avab brauseris, sisestab andmed, näeb tulemust.
  • Lokaalne — programm, mis jookseb kasutaja arvutis (käivitatav fail, Pythoni-skript, Excel-makro). Ei vaja internetti, ei vaja serverit.

Mõlemal juhul on rakenduses sinu ehitatud kasutajaliides, mitte agendi-vestlus.

12.2 Eelised iseseisva rakenduse kasuks

Mille jaoks hea Selgitus
Kasutajatel pole tasulist AI-kontot Tasu maksad sina ehitajana, nemad lihtsalt kasutavad.
Korraga palju kasutajaid Veebivormi saab täita 100 inimest paralleelselt.
Liides on kohandatud Vorm, valikud, nupud, ilus disain — mitte vestlus. Lõppkasutaja näeb ainult seda, mida vaja.
Töövoog on kontrollitud Sina otsustad, mis sammud käivad ja mis järjekorras. Kasutaja ei saa “off-script” minna.
Audit ja logimine Kõik tehingud jäävad alles ettevõtte logidesse — vajalik finantsi, isikuandmete, vastutusega tööde jaoks.
Saab integreerida Vorm istub ettevõtte sisemise süsteemi sees, mitte eraldi.

12.3 Puudused iseseisva rakenduse vastu

Puudus Mida tähendab
Ehitamine võtab kauem Skill = päev. Lihtne veebirakendus = nädal kuni kuu.
Hosting ja hooldus Server tuleb hoida üleval, uuendada, varundada.
Sa kannad mudeli-kulu Iga kasutaja päring läheb sinu API-arvele (kui rakendus kasutab AI-d).
Autentimine ja õigused Kui rakendus käitleb tundlikke andmeid, vajab login’i, rolle, audit’i.
Versioonihaldus Iga muudatus = uus deploy. Ei saa lihtsalt fail välja vahetada.

12.4 Kaks eraldi olukorda — vali õige tee

Tähtis valik: kas rakendus vajab AI-mudeli intellekti igal kasutusel, või piisab reeglitest, mida saab koodi sisse kirjutada?

12.4.1 Olukord A: rakendus vajab AI-d

Klienditeenindaja sisestab kirja, rakendus tagastab kategooria + mustandi. Iga päring vajab keelemudelit.

  • Saadad päringud Anthropic / OpenAI / Google API-le (samale, millest “Otse API-päring” peatükis allpool räägitakse).
  • Iga päring maksab raha — keskmiselt 0.001–0.05 € päringu kohta, sõltuvalt mudelist ja pikkusest.
  • Sinu enda eelarve, ettevõtte krediitkaart või kuupõhine kvoot — sa pead arvestama, et 1000 kasutust päevas = X € kuus.
  • Plus: rakenduse kasutaja ei pea “promptida oskama” — nupul on juba õige prompt sees.

12.4.2 Olukord B: rakendus ei vaja AI-d

Sageli pole AI-mudelit iga kord vaja. Mõtle:

  • Kas reegel on lihtne? “Kui kiri sisaldab sõna ‘arve’, määra kategooria ‘arve’.” → puhas programmeerimine, ei AI-d.
  • Kas otsus on tabelist? “Kui klient kategooriast X tellib toodet Y, anna 10% allahindlus.” → SQL või tabel-otsing, mitte AI.
  • Kas see on andmete kokku-kogumine ja vorming? “Loe Excelist 5 veergu, koonda raportiks.” → Excel, Python, ei AI.

Kui intellekti päriselt vaja pole, on AI lisamine kallis koormus, mille saab vältida. Tavaprogrammeerimine on kiirem, odavam ja ennustatavam.

Tip

Hea küsimus enne ehitust: “Kas seda otsust saaks teha ka 100-realise reeglistikuga, ilma AI-d küsimata?” Kui jah — tee reeglid. Kui ei (vaja päris keelemõistmist, mustri-tundmist, vaba teksti) — siis API.

12.5 Hübriid: AI ainult sinna, kus päriselt vaja

Päris-elu rakendused kombineerivad mõlemat. Näide klienditeeninduse jaoks:

  1. Reeglid filtreerivad ilmsed asjad: spämm, automaat-kinnitused, “tellisin asja”, “tühistan tellimuse” → mallidega vastus, ei AI-d.
  2. Mitmekülgsed kirjad lähevad AI-mudelile (kategoriseerimine + mustandvastus).
  3. Tundlikud kirjad (vaidlused, kaebused, õiguslikud) suunatakse alati inimesele.

Kui 70% kirjadest käib reegli-pealt ja 30% AI-pealt, on kulu 30% sellest, mis oleks puhas-AI lahendus — ja kvaliteet sama hea.

12.6 Millal iseseisva rakenduse poole liikuda

Tee hüpe rakenduseni siis, kui üks neist kehtib:

  1. Lõppkasutajatel pole agendi-keskkonda ja sa ei taha neile seda peale suruda.
  2. Lahendust kasutab korraga palju inimesi.
  3. Töövoog on piisavalt küps, et UX-d (vormid, nupud, kinnitused) on mõtet kujundada.
  4. Audit, õigused, vastutus — vajalik on jälg, kes mida millal tegi.

Vastasel korral: alusta skillist. Iseseisva rakenduse saab alati ehitada peale, kui prototüüp ennast tõestab.

Note

Päeva-reegel. Iseseisva rakenduse ehitamine ühe päevaga = ainult väga lihtne prototüüp (üks vorm, üks tulemus, ei autentimist). Kõik pärast seda — login, mitu kasutajat, päris hosting — on järgmiste päevade töö. Ärge lubage tellijale “valmis rakendust ühe päevaga” — lubage klikitavat prototüüpi, mille peale otsustada, kas tasub edasi minna.


13 Millal skill, millal rakendus, millal API, millal MCP?

See on koolituse kõige praktilisem otsus. Lihtne vaikereegel: alusta skillist. Rakendus, API ja MCP tulevad mängu siis, kui kasutusjuht neid päriselt nõuab.

13.1 Otsustuspuu lühikujul

Vaikimisi juhime tiime skill’i poole — see on kiireim ja jõukohaseim tulemus ühes päevas. Teised valikud ainult siis, kui kasutusjuht selgelt nõuab.

Olukord Sobib
Üks inimene käivitab töövoo käsitsi, agent võib seda teha samas keskkonnas Skill
Töövoog vajab vormi, andmete püsivat salvestamist, kasutajaliidest Väike rakendus
Mudelit on vaja kutsuda teisest programmist (sinu olemasolev kood) Otse API-päring
Agent vajab korduvalt juurdepääsu välisele süsteemile (andmebaas, fail, ettevõtte API) MCP-server

Vaatame igaüht lähemalt.

13.2 Skill — vaikimisi valik

Mille jaoks: korduv, käsitsi käivitatav töö, mille teeb agent samas keskkonnas (näiteks Claude Code’is või Codexis). Näiteks:

  • “Ma saan iga nädal 20 e-kirja, mille pean liigitama” → skill, mille agent käivitab iga kirja peale
  • “Ma kirjutan iga kuu sama tüüpi raporti” → skill, mis võtab andmesisendi ja annab raporti mustandi
  • “Ma vaatan päevas üle 5 PR-i samade kriteeriumite järgi” → skill, mis annab struktureeritud märkused

Eelis: ühepäeva-sõbralik. Sa kirjutad ühe markdown-faili. Pole hosting’ut, autentimist, deployit. Versioonime nagu iga teist faili. Kasutaja = sina ise oma agendis.

Piirang: skill aktiveerub agendi sees. Kui sa tahad, et skill töötaks Slacki bot’ina või veebivormist, vajad rakendust või MCP-d.

13.3 Väike rakendus — kui vaja UI-d või andmete püsivust

Mille jaoks: töövoog vajab kasutajaliidest, kus inimene täidab vormi, või andmeid, mis peavad jääma alles üle sessioonide. Näiteks:

  • Sisekasutajate vorm, kus klienditeenindaja sisestab kirja ja saab vastuse
  • Tööriist, mis hoiab varasemate analüüside ajalugu
  • Slacki / Teams’i bot, mis vastab küsimustele

Eelis: päris tooteline, jagatav teiste osakondadega.

Piirang: ühepäeva mahus on tulemuseks prototüüp, mitte tootmislahendus. Vajalikud lisasammud (autentimine, andmete püsivus, hosting) tulevad järgmiste sammudega.

13.4 Otse API-päring — kui kood juba olemas

“Kui sul juba on Pythoni / Node.js skript, mis loeb andmeid ja kirjutab raporti, lisa sinna üks API-päring, mitte ehita uut süsteemi ümber.”

Mille jaoks: mudel on üks samm sinu olemasoleva töövoo sees. Sul on Python-skript, mis loeb andmeid ja kirjutab raporti — sinna keskele tahad lisada lause “AI võtab kokku, mida need numbrid tähendavad”.

Järgmine näide on tehniline süvend arendajatele. Mittetehnilise osaleja jaoks piisab mõttest: API-päring tähendab, et olemasolev programm küsib AI-lt ühe konkreetse vastuse.

13.4.0.0.1 Anthropic SDK (Claude)
import os, anthropic
client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"]
)
msg = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=400,
    messages=[{
      "role": "user",
      "content": f"Võta kokku: {andmed}"
    }],
)
print(msg.content[0].text)
13.4.0.0.2 OpenAI SDK (Codex / GPT-5)
import os
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"]
)
resp = client.responses.create(
    model="gpt-5.5",
    max_output_tokens=400,
    input=f"Võta kokku: {andmed}",
)
print(resp.output_text)

Eelis: ei mingit agendi-keskkonda vaja, mudel on funktsioon. Sa kontrollid täielikult, mis ja millal kutsutakse.

Piirang: pole “agendiga vesteldes” — see on ühekordne kõne. Iga kasutusjuht vajab sinu enda koodi.

13.5 MCP-server — tavaliselt järgmine samm, mitte täna

MCP = Model Context Protocol. Anthropicu standard, et AI-agent saaks rääkida väliste süsteemidega (andmebaasid, ettevõtte API-d, failisüsteem) standardiseeritud viisil.

Mille jaoks: agent (kõikides oma sessioonides, kõikidel kasutajatel) vajab korduvalt juurdepääsu välisele süsteemile. Näiteks:

  • Agent peab saama küsida “näita mulle viimase nädala arveid” → MCP-server, mis räägib raamatupidamisrakendusega
  • Agent peab oskama otsida ettevõtte sisemisest dokumendibaasist → MCP-server, mis räägib SharePointi / Confluence’iga
  • Agent peab käivitama meie sisemise tooteinfosüsteemi päringuid → MCP-server, mis räägib selle API-ga

Eelis: korra ehitatud, kasutavad kõik tiimi agendid. Agent ei vaja iga kord eraldi promptimist — server pakub talle “tööriistu”, mille kasutamise kohta agent ise otsustab.

Piirang (miks me täna seda enamasti ei tee):

  1. Vajab tegelikku programmeerimist Pythonis või Node.js’is (mitte ainult markdown’i nagu skill).
  2. Vajab pakendamist ja installimist klientpoolel (kõik agendid, kes seda kasutavad).
  3. Vajab autentimist ja autoriseerimist vastu sinu süsteemi (kelle nimel agent päringu teeb? kas tal on õigus?).
  4. Vajab versiooni- ja muutuse-haldust — kui MCP-serveri lepingu rikud, lähevad katki kõik agendid, kes seda kasutavad.

Reegel päeva jaoks: kui keegi tiimist ütleb “me peaksime tegema MCP-serveri”, on enamasti õigem vastus: “Teeme täna skilli (või API-päringuga skripti), mis lahendab sama probleemi väiksemas mahus. MCP on järgmise kuu projekt, kui see osutub korduvaks vajaduseks mitmes töövoos.”

Note

Erand: kui osa tiimist on juba kogenud arendajad ja kasutusjuht päriselt nõuab agendi-juurdepääsu välisele süsteemile (mitte lihtsalt “see oleks tore”), saab MCP-serveri prototüüpi proovida. Aga see tähendab, et päeva lõpus on prototüüp töötav lokaalselt, mitte tootmiskasutuses.


14 Skillid skillide loomiseks (meta-skillid)

Mõte: sa ei pea skille käsitsi nullist kirjutama. On olemas skille, mille ainuke ülesanne on aidata sul teisi skille luua, struktureerida ja valideerida.

14.1 Superpowers (Jesse Vincent / obra)

obra/superpowers on Jesse Vincenti agentse arendusmetoodika raamistik — komplekt komponeeritavaid skille, mis sunnivad agendi enne koodi kirjutamist mõtlema, planeerima ja TDD-d järgima4.

Tip

Installi nii Claude Code kui Codex jaoks:

14.1.0.0.1 Claude Code
# tööriista sees:
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
14.1.0.0.2 Codex (CLI v0.117+)
# tööriista sees:
$skill-installer
# vali nimekirjast: superpowers
# (alternatiiv: lisa AGENTS.md import otse)

Pakk sisaldab muuhulgas:

Skill Mida teeb
brainstorming Töötab idee läbi enne koodi — küsib, paneb kirja
writing-plans Lõhub töö 2–5 min ülesanneteks koos failitee ja koodiga
executing-plans Käib plaani läbi, peatudes inimese ülevaatusteks
test-driven-development Sunnib RED–GREEN–REFACTOR tsüklisse
systematic-debugging Neljafaasiline juurpõhjuse analüüs
verification-before-completion Kontrollib, et “valmis” on päriselt valmis
using-git-worktrees Paralleelseid harusid hallata, ilma et katki läheks
dispatching-parallel-agents Mitu agenti samal ajal
writing-skills (meta) Loob uusi skille parimate praktikate järgi
using-superpowers Sissejuhatus kogu süsteemi

Tähelepanu kahele meta-skillile: writing-skills (loob uusi skille) ja using-superpowers (õpetab agendile, kuidas teisi skille leida ja kasutada). Need on raamistiku omarefleksiivne osa.

14.2 Ametlik skill-creator mõlemalt tarnijalt

Sama mustriga kui obra/superpowers writing-skills — küsib sinu intentsiooni, koostab mustandi, testib ja parandab. Ametlik versioon on lihtsalt kaasa pandud, ei vaja eraldi paigaldamist (OpenAI puhul vaikimisi, Anthropic’us paari klahvilöögiga).

Mõlemad tarnijad pakuvad ametlikku skill-creator meta-skilli, mis aitab uusi skille luua, testida ja iteratiivselt parandada.

14.2.0.0.1 Anthropic — skill-creator
# Claude Code'i sees:
/plugin marketplace add anthropics/skills
/plugin install skill-creator@anthropic-agent-skills

Asukoht: anthropics/skills/…/skill-creator/SKILL.md

14.2.0.0.2 OpenAI — skill-creator

Vaikimisi paigaldatud kõikidel Codexi kontodel. Aktiveerub kui küsid “loo mulle skill, mis…”.

Asukoht: openai/skills/…/skill-creator/SKILL.md

14.3 Ametlikud skillide repo’d ja näited

Lisaks skill-creator-ile pakuvad mõlemad tarnijad laiemaid skillide kollektsioone — vorming on identne, vaid jaotuskanal erineb.

14.3.0.0.1 Anthropic — anthropics/skills
# Claude Code'i sees:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills

github.com/anthropics/skills

14.3.0.0.2 OpenAI — openai/skills
# Codex CLI sees:
$skill-installer
# vali kategooriast "curated": document, web, viz

github.com/openai/skills

Skilli kanoonilne struktuur on mõlemas tööriistas sama — YAML-päis ja markdown:

---
name: minu-skilli-nimi
description: Mida see skill teeb ja millal seda kasutada.
---

# Minu skill

[juhised, näited, sammud]

14.4 Teised märkimisväärsed kogumikud

Need pole kõik kvaliteetsed — paljud on copy-paste’i koopiad. Kasuta neid eelkõige inspiratsiooniks ja näideteks; tegelikku skilli enne kasutamist loe SKILL.md ise läbi.


15 Tiim vs arenduspaar

Sõnu tiim ja paar on lihtne segi ajada — siin on need eraldi rollidega.

Tiim (3–6 inimest organisatsioonist) — kasutusjuhu valimiseks, töövoo lahtikirjutamiseks ja demoks. Tiimis on vähemalt:

  • üks töövoo omanik (tunneb tööd sügavalt; otsustab “kas see väljund on kasutatav”)
  • üks inimene, kes on valmis driver’i rolli klaveri taga võtma

Arenduspaar (2 inimest tiimi sees) — see, kes tegelikult koodi kirjutab. Üks on driver (klaviatuuril), teine navigator (jälgib, testib, küsib). Tiim võib jagada end mitmeks arenduspaariks ja proovida paralleelseid lahendusi — demoks valitakse parim.


16 GitHub: kuidas tiim koos sama prototüübiga töötab

Miks GitHub? Kui kaks arenduspaari ühe tiimi sees teevad muudatusi paralleelselt, peab keegi neid kokku liitma ilma midagi kaotamata. GitHub (täpsemalt git) on tööriist selleks.

Mis git ja GitHub üldse on? Mõtle git’ist nagu Wordi versiooniajaloost, ainult tugevamast: iga töötava muudatuse järel teed sina (või agent) commiti — see on salvestus oma seletusega “mida ja miks ma muutsin”. Kui midagi katki läheb, keerad mõne sekundiga eelmisesse seisu. GitHub on koht, kuhu need salvestused pilve lähevad ja mille kaudu kogu tiim sama prototüübi külge ulatub.

Me ei õpeta täna git’i põhjalikult. Päeva jooksul piisab teadmisest, et see on viis koodi salvestada ja jagada. Käsklused all on kiirviiteks — kui agent suudab teie eest commit’i ja PR-i ära teha (ja seda ta enamasti suudab), on see õige tee.

Kui tiim on suurem kui üks arenduspaar, vajate ühist koodikodu. Ilma selleta saadate üksteisele faile e-postiga, keegi tapab kogemata kellegi muudatuse, ja nädala lõpuks pole keegi enam kindel, kus on “õige versioon”. GitHub lahendab selle.

16.1 Mõisted lühidalt

git = versioonihaldus (jookseb su arvutis). GitHub = veebiteenus, kus git’i repo elab pilves.

  • Repo (repository) — projekti kodu. Üks repo per prototüüp.
  • Commit — üks salvestatud “fotojupp” projekti hetkest, sõnumiga “mida muutsin”.
  • Branch (haru) — paralleelne arendusliin. main on peamine; oma muudatused tee eraldi harul.
  • Pull request (PR) — palve “minu haru muudatused võiks main-i külge liita”. Sealt vaatavad teised üle ja kommenteerivad.
  • Merge — kahe haru kokkuliitmine.

16.2 Tiimi tööprotsess ühe päeva sees

  1. Üks inimene loob repo ja kutsub teised liikmeks (Settings → Collaborators).
  2. Igal arenduspaaril oma haru — nt paar-A-kirja-klassif ja paar-B-pdf-extract. Nii ei astuta üksteisele varba peale.
  3. Iga töötava sammu peale commit + push GitHubi.
  4. Kui haru on demovalmis, paar avab PR-i main-i vastu, teine paar vaatab üle, ja siis merge.

16.3 Põhikäsklused, mida vaja teada

Kõik järgnev on käsureal. Sama saab teha ka GitHubi veebiliideses või VS Code GUI-s — käsurida on lihtsalt kõige kiirem ja sama keel kõikides agentides.

# Esmane seadistus (üks kord, arvutil)
git config --global user.name "Mari Maasikas"
git config --global user.email "mari@firma.ee"

# Kloonige tiimi repo lokaalselt
git clone https://github.com/firma/koolitus-prototüüp.git
cd koolitus-prototüüp

# Tee oma haru
git checkout -b paar-A-kirja-klassif

# Töötad agendiga (Claude Code / Codex), failid muutuvad
# ... pärast töötavat sammu:
git add .
git commit -m "lisasin esimese skill-mustandi"
git push -u origin paar-A-kirja-klassif

# Kui keegi teine on midagi main-i merge'inud, tõmba see endale:
git checkout main
git pull
git checkout paar-A-kirja-klassif
git merge main          # või: git rebase main

16.4 PR-i loomine

GitHubi veebis: ava repo, klõpsa “Compare & pull request” (ilmub pärast push’i automaatselt), kirjuta lühike kirjeldus, määra reviewer (teine arenduspaar), klõpsa “Create pull request”.

16.4.0.0.1 Käsureal — gh CLI
# (üks kord) paigalda gh
brew install gh        # macOS
sudo apt install gh    # Ubuntu/Debian
gh auth login

# PR kohe loomiseks:
gh pr create --title "Kirja-klassifitseerija skill" \
   --body "Esimene mustand, testimisvalmis."

# vaata avatud PR-e
gh pr list

# vaata ühe PR-i diff'i
gh pr diff 3
16.4.0.0.2 Tehke agendiga

Mõlemad agentid oskavad luua PR-i sinu eest — küsi lihtsalt:

“Tee gh pr create selle haru pealt main-i vastu, pealkiri kirjeldagu, mida me lisasime.”

Agent loeb su git log’i, koostab ise pealkirja ja kirjelduse, küsib enne käivitamist kinnitust.

16.5 Konfliktid — ära karda

Konflikt = git ei oska üheselt otsustada, kelle muudatust hoida, kui kaks haru muutsid sama rida samas failis. Vajab käsitsi otsustust.

Kui git merge või git pull ütleb “CONFLICT”, ära satu paanikasse:

  1. Ava fail. Sa näed ridu nagu <<<<<<< HEAD=======>>>>>>> teine-haru.
  2. Küsi agendilt: “Selles failis on git-konflikt. Mõlemad muudatused on vajalikud. Kombineeri need.”
  3. Pärast lahendust: git add . + git commit.

Mõlemad agentid (Claude Code ja Codex) saavad konfliktidega väga hästi hakkama, kui annad neile konteksti, mida mõlemad pooled püüdsid teha.


17 Stuck-protokoll

Warning

Kui jääd kinni — kolm sammu järjest, mitte üks ja kõhklemine.

  1. Küsi AI-lt — mitte uuesti sama prompti, vaid: “miks see ei tööta? mis sa eeldasid?”
  2. Küsi naabrilt (tiimikaaslane) — kahe inimese silmad näevad rohkem kui üks.
  3. Küsi juhendajalt.

Kui kõik kolm ei aita, mine git-iga 10 minuti taha ja proovi teisiti.