Jõhvi tehisarupäev
Sissejuhatav tund — disainiraam, vaibkoodimine ja tehniline arsenal
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.
- Mis tööülesannet me päriselt parandame?
- Mis faasis ma praegu olen? (mõistan probleemi, sõnastan, valin lahendusviisi, ehitan)
- 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
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.
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.
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 |
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.
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:
- Sa oled tootejuht ja testija, AI on teostaja.
- Üks samm korraga — tee väike prompt, kontrolli väljund, lase agendil ise üle vaadata, alles siis edasi.
- 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
claude10.2.1.0.2 Codex CLI
# paigaldus (üks kord)
npm install -g @openai/codex
# käivitamine projektikataloogis
cd ~/projektid/minu-prototüüp
codexEsimesel 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)
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.
- Ära käi liiga kaugel. Üks samm korraga. Pärast iga muudatust vaata, mis muutus.
- Vaata, mis failid muutuvad. Mõlemad tööriistad näitavad iga muudatuse
diffenne kinnitamist. Kui ei saa aru, mida agent muutis, küsi: “selgita seda muudatust eesti keeles, miks just nii”. - 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.mdjärgib parimaid praktikaid (selgedescription-rida, struktureeritud sammud, näidete kasutamine, serv-juhtude käsitlemine)? Vaata näiteksanthropics/skillsvõiobra/superpowersrepo’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.mdredaktorist (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.
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.”
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:
- Sama välise süsteemi (raamatupidamine, CRM, sisedokumentide-baas) küsimine kordub kümneid kordi — käsitsi promptimine on tüütu ja vigaderohke.
- Mitu inimest tiimist tahab sama integratsiooni kasutada — keskne MCP säästab iga agendi seadistamise.
- Andmemaht on suur — promptis ei mahu, vajab serveri-poolset otsingut/filtreerimist.
- 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.
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.
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:
- Reeglid filtreerivad ilmsed asjad: spämm, automaat-kinnitused, “tellisin asja”, “tühistan tellimuse” → mallidega vastus, ei AI-d.
- Mitmekülgsed kirjad lähevad AI-mudelile (kategoriseerimine + mustandvastus).
- 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:
- Lõppkasutajatel pole agendi-keskkonda ja sa ei taha neile seda peale suruda.
- Lahendust kasutab korraga palju inimesi.
- Töövoog on piisavalt küps, et UX-d (vormid, nupud, kinnitused) on mõtet kujundada.
- 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.
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):
- Vajab tegelikku programmeerimist Pythonis või Node.js’is (mitte ainult markdown’i nagu skill).
- Vajab pakendamist ja installimist klientpoolel (kõik agendid, kes seda kasutavad).
- Vajab autentimist ja autoriseerimist vastu sinu süsteemi (kelle nimel agent päringu teeb? kas tal on õigus?).
- 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.”
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.
4 Vt ka Jesse blogi “Superpowers: How I’m using coding agents in October 2025”.
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-marketplace14.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-skills14.2.0.0.2 OpenAI — skill-creator
Vaikimisi paigaldatud kõikidel Codexi kontodel. Aktiveerub kui küsid “loo mulle skill, mis…”.
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-skills14.3.0.0.2 OpenAI — openai/skills
# Codex CLI sees:
$skill-installer
# vali kategooriast "curated": document, web, vizSkilli 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.
- hesreallyhim/awesome-claude-code — kureeritud Claude Code skillide, hookide, slash-käskude ja agendide nimekiri
- travisvn/awesome-claude-skills — kureeritud nimekiri eelkõige Claude Code skillidele
- VoltAgent/awesome-agent-skills — 1000+ skilli, mitme tööriista (Claude / Codex / Gemini / Cursor) jaoks
- rohitg00/awesome-claude-code-toolkit — agendid, skillid, käsud, hookid kompaktselt
- metaskills/skill-builder — skill, mis ehitab skille interaktiivse Q&A-ga
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.
mainon 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
- Üks inimene loob repo ja kutsub teised liikmeks (Settings → Collaborators).
- Igal arenduspaaril oma haru — nt
paar-A-kirja-klassifjapaar-B-pdf-extract. Nii ei astuta üksteisele varba peale. - Iga töötava sammu peale commit + push GitHubi.
- 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 main16.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 316.4.0.0.2 Tehke agendiga
Mõlemad agentid oskavad luua PR-i sinu eest — küsi lihtsalt:
“Tee
gh pr createselle 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:
- Ava fail. Sa näed ridu nagu
<<<<<<< HEAD…=======…>>>>>>> teine-haru. - Küsi agendilt: “Selles failis on git-konflikt. Mõlemad muudatused on vajalikud. Kombineeri need.”
- 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
Kui jääd kinni — kolm sammu järjest, mitte üks ja kõhklemine.
- Küsi AI-lt — mitte uuesti sama prompti, vaid: “miks see ei tööta? mis sa eeldasid?”
- Küsi naabrilt (tiimikaaslane) — kahe inimese silmad näevad rohkem kui üks.
- Küsi juhendajalt.
Kui kõik kolm ei aita, mine git-iga 10 minuti taha ja proovi teisiti.