Preskoči na sadržaj

Vještine i priručnici (Skills)

Izvorni Markdown kôd.md
---
title: Vještine i priručnici (Skills)
description: Modularni postupovni priručnici korištenjem postupnog otkrivanja u alatu Antigravity.
sidebar:
  order: 7
---

Vještine (Skills) su postupovni priručnici i recepti na zahtjev (npr. kako implementirati aplikaciju na Forgejo, kako izvesti migracije baze u Dockeru ili kako zamutiti osjetljive podatke na snimkama zaslona).

---

## Usporedba s kuhinjom: Pravila protiv Vještina

Kako biste razumjeli način na koji Antigravity upravlja vašim uputama bez opterećivanja memorije modela, prisjetimo se naše restoranske kuhinje:

* **Pravila (`AGENTS.md`)**:  
  **Pravilnik za zaposlenike**, zalijepljen na zidu. Jednostavan, svima stalno vidljiv i vrijedi za svaku pojedinu radnju: *"Operi ruke prije kuhanja", "Uvijek koristi camelCase"*.
* **Vještine (`SKILL.md`)**:  
  **Knjiga s posebnim receptima** na najvišoj polici. Dok pečete jednostavne jutarnje palačinke, ne čitate recept za čokoladni sufle od 20 stranica. Knjigu ostavljate na polici i uzimate je tek kada gost u restoranu stvarno naruči čokoladni sufle.

---

## Snaga postupnog otkrivanja (Progressive Disclosure)

Kada biste 20 složenih postupaka sa svim pojedinostima upisali izravno u `AGENTS.md`, pri svakom biste upitu potrošili više od 50.000 tokena — čak i kada biste agentu postavili samo jednostavno pitanje o boji gumba u CSS-u.

**Korištenjem Vještina (Skills):**
1. Agent u aktivnoj memoriji ima učitan samo **jednoredni opis** pojedine vještine.
2. Dok razgovarate o drugim temama, vještina troši točno **nula tokena**.
3. Onog trenutka kada vaš upit odgovara opisu, agent dinamički uzima dotični `SKILL.md` s police, točno slijedi upute i nakon završetka ga vraća natrag.

> [!TIP]
> Ovu učinkovitost možete vizualno provjeriti u poglavlju [Naredbe i prečaci](/hr/commands-shortcuts/#pregled-raspodjele-tokena-context). Naš preglednik `/context` potvrdio je da su sve aktivne vještine zajedno potrošile samo **777 tokena** (0,1% cjelokupnog prozora), pri čemu je `antigravity_guide/SKILL.md` zauzeo svega **44 tokena**!

---

## Primjer iz prakse: Vještina za zamućivanje slika (Image Redaction)

Ovdje je stvaran primjer koji smo izradili upravo za ovu web dokumentaciju.

### Problem
Željeli smo objaviti snimku zaslona naredbe `/usage`, ali je sadržavala privatnu adresu e-pošte (`Account: samo.blatnik@gmail.com`). Prije objave morali smo sigurno zamutiti adresu e-pošte.

### Zašto to nismo stavili u `AGENTS.md`?
Kada bismo Python biblioteke za obradu slika, koordinate piksela i teoriju Gaussovog zamućenja upisali u `AGENTS.md`, to bi nepotrebno opterećivalo prozor konteksta pri svakom pojedinom pitanju.

### Rješenje: Pakiranje u vještinu (Skill)
Stvorili smo vještinu **`image-redaction`** u mapi `.agents/skills/image-redaction/`:

```text
skills/image-redaction/
├── SKILL.md            # Kada i kako zamutiti osjetljive podatke
└── scripts/
    └── redact.py       # Rješenje u Pythonu pomoću biblioteke Pillow
```

#### 1. Recept vještine (`SKILL.md`)
```markdown
---
name: image-redaction
description: Securely redact, blur, or sanitize sensitive information (emails, API keys, passwords, IP addresses) in screenshot images using Python Pillow before public sharing or uploading.
---

# Image Redaction & Sanitization Skill

Kada slika sadrži osjetljive podatke:
1. Odredite pravokutne koordinate (x1, y1, x2, y2).
2. Primijenite Gaussovo zamućenje (polumjer >= 10) koje trajno uništava rubove znakova.
3. Pokrenite `python3 scripts/redact.py <slika> --box <x1> <y1> <x2> <y2>`.
4. Vizualno provjerite rezultat kako biste bili sigurni da je tekst nečitljiv, a okolina jasna.
```

#### 2. Pomoćna skripta (`scripts/redact.py`)
```python
import argparse
from PIL import Image, ImageFilter

def redact(image_path, box, output_path, radius=10):
    im = Image.open(image_path).convert("RGBA")
    crop = im.crop(box)
    blurred = crop.filter(ImageFilter.GaussianBlur(radius))
    im.paste(blurred, box)
    im.save(output_path)

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("image")
    parser.add_argument("--box", nargs=4, type=int, required=True)
    parser.add_argument("-o", "--output")
    args = parser.parse_args()
    redact(args.image, tuple(args.box), args.output or args.image)
```

Sada svaki put kada kažete: *"Prije objave zamuti e-mail na ovoj snimci zaslona"*, agent automatski prepoznaje i aktivira ovu vještinu, pokreće skriptu s točnim koordinatama i priprema sigurnu sliku!

---

### Još jedan primjer iz prakse: Vještina za postavljanje dokumentacije

Također smo stvorili vještinu **`astro-starlight-deploy`** u `.agents/skills/astro-starlight-deploy/`:
* Objedinjuje cijeli tijek rada: neinteraktivno postavljanje (`npm create astro@latest`), razbijanje dokumentacije na modularna poglavlja, interaktivne `LinkCard` kartice te produkcijsko postavljanje na Vercel jednom naredbom.
* Sadrži automatiziranu skriptu `./scripts/scaffold.sh` za pokretanje nove dokumentacije u nekoliko sekundi.

---

## Usporedba: Vještine nasuprot Pravilima nasuprot Podagentima

| Koncept | Što je to | Potrošnja tokena | Gdje se nalazi |
| :--- | :--- | :--- | :--- |
| **Pravila (`AGENTS.md`)** | Stalne smjernice i standardi | Stalno u aktivnoj memoriji | Korijen projekta ili `~/.config/AGENTS.md` |
| **Podagenti** | Autonomni radnici s odvojenim prozorom | 0 tokena u glavnom razgovoru | `~/.gemini/config/agents/*.md` |
| **Vještine (`SKILL.md`)** | Postupovni recepti korak po korak | Učitavaju se **samo** na zahtjev | `.agents/skills/` ili `~/.gemini/antigravity-cli/skills/` |

---

## Razine prepoznavanja vještina

* **Radni prostor (`.agents/skills/<naziv>/SKILL.md`)**: Vezano za pojedini projekt, pohranjeno u Gitu.
* **Globalni CLI (`~/.gemini/antigravity-cli/skills/<naziv>/SKILL.md`)**: Dostupno za sve projekte na ovom računalu.
* **Zajednička Gemini razina (`~/.gemini/skills/<naziv>/SKILL.md`)**: Podijeljeno između Antigravity CLI i Antigravity IDE okruženja.

U terminalu upišite `/skills` za pregled i upravljanje svim učitanim vještinama.

Vještine (Skills) su postupovni priručnici i recepti na zahtjev (npr. kako implementirati aplikaciju na Forgejo, kako izvesti migracije baze u Dockeru ili kako zamutiti osjetljive podatke na snimkama zaslona).


Kako biste razumjeli način na koji Antigravity upravlja vašim uputama bez opterećivanja memorije modela, prisjetimo se naše restoranske kuhinje:

  • Pravila (AGENTS.md):
    Pravilnik za zaposlenike, zalijepljen na zidu. Jednostavan, svima stalno vidljiv i vrijedi za svaku pojedinu radnju: “Operi ruke prije kuhanja”, “Uvijek koristi camelCase”.
  • Vještine (SKILL.md):
    Knjiga s posebnim receptima na najvišoj polici. Dok pečete jednostavne jutarnje palačinke, ne čitate recept za čokoladni sufle od 20 stranica. Knjigu ostavljate na polici i uzimate je tek kada gost u restoranu stvarno naruči čokoladni sufle.

Kada biste 20 složenih postupaka sa svim pojedinostima upisali izravno u AGENTS.md, pri svakom biste upitu potrošili više od 50.000 tokena — čak i kada biste agentu postavili samo jednostavno pitanje o boji gumba u CSS-u.

Korištenjem Vještina (Skills):

  1. Agent u aktivnoj memoriji ima učitan samo jednoredni opis pojedine vještine.
  2. Dok razgovarate o drugim temama, vještina troši točno nula tokena.
  3. Onog trenutka kada vaš upit odgovara opisu, agent dinamički uzima dotični SKILL.md s police, točno slijedi upute i nakon završetka ga vraća natrag.

[!TIP] Ovu učinkovitost možete vizualno provjeriti u poglavlju Naredbe i prečaci. Naš preglednik /context potvrdio je da su sve aktivne vještine zajedno potrošile samo 777 tokena (0,1% cjelokupnog prozora), pri čemu je antigravity_guide/SKILL.md zauzeo svega 44 tokena!


Primjer iz prakse: Vještina za zamućivanje slika (Image Redaction)

Odjeljak s naslovom “Primjer iz prakse: Vještina za zamućivanje slika (Image Redaction)”

Ovdje je stvaran primjer koji smo izradili upravo za ovu web dokumentaciju.

Željeli smo objaviti snimku zaslona naredbe /usage, ali je sadržavala privatnu adresu e-pošte (Account: samo.blatnik@gmail.com). Prije objave morali smo sigurno zamutiti adresu e-pošte.

Kada bismo Python biblioteke za obradu slika, koordinate piksela i teoriju Gaussovog zamućenja upisali u AGENTS.md, to bi nepotrebno opterećivalo prozor konteksta pri svakom pojedinom pitanju.

Stvorili smo vještinu image-redaction u mapi .agents/skills/image-redaction/:

skills/image-redaction/
├── SKILL.md # Kada i kako zamutiti osjetljive podatke
└── scripts/
└── redact.py # Rješenje u Pythonu pomoću biblioteke Pillow
---
name: image-redaction
description: Securely redact, blur, or sanitize sensitive information (emails, API keys, passwords, IP addresses) in screenshot images using Python Pillow before public sharing or uploading.
---
# Image Redaction & Sanitization Skill
Kada slika sadrži osjetljive podatke:
1. Odredite pravokutne koordinate (x1, y1, x2, y2).
2. Primijenite Gaussovo zamućenje (polumjer >= 10) koje trajno uništava rubove znakova.
3. Pokrenite `python3 scripts/redact.py <slika> --box <x1> <y1> <x2> <y2>`.
4. Vizualno provjerite rezultat kako biste bili sigurni da je tekst nečitljiv, a okolina jasna.
import argparse
from PIL import Image, ImageFilter
def redact(image_path, box, output_path, radius=10):
im = Image.open(image_path).convert("RGBA")
crop = im.crop(box)
blurred = crop.filter(ImageFilter.GaussianBlur(radius))
im.paste(blurred, box)
im.save(output_path)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("image")
parser.add_argument("--box", nargs=4, type=int, required=True)
parser.add_argument("-o", "--output")
args = parser.parse_args()
redact(args.image, tuple(args.box), args.output or args.image)

Sada svaki put kada kažete: “Prije objave zamuti e-mail na ovoj snimci zaslona”, agent automatski prepoznaje i aktivira ovu vještinu, pokreće skriptu s točnim koordinatama i priprema sigurnu sliku!


Još jedan primjer iz prakse: Vještina za postavljanje dokumentacije

Odjeljak s naslovom “Još jedan primjer iz prakse: Vještina za postavljanje dokumentacije”

Također smo stvorili vještinu astro-starlight-deploy u .agents/skills/astro-starlight-deploy/:

  • Objedinjuje cijeli tijek rada: neinteraktivno postavljanje (npm create astro@latest), razbijanje dokumentacije na modularna poglavlja, interaktivne LinkCard kartice te produkcijsko postavljanje na Vercel jednom naredbom.
  • Sadrži automatiziranu skriptu ./scripts/scaffold.sh za pokretanje nove dokumentacije u nekoliko sekundi.

Usporedba: Vještine nasuprot Pravilima nasuprot Podagentima

Odjeljak s naslovom “Usporedba: Vještine nasuprot Pravilima nasuprot Podagentima”
Koncept Što je to Potrošnja tokena Gdje se nalazi
Pravila (AGENTS.md) Stalne smjernice i standardi Stalno u aktivnoj memoriji Korijen projekta ili ~/.config/AGENTS.md
Podagenti Autonomni radnici s odvojenim prozorom 0 tokena u glavnom razgovoru ~/.gemini/config/agents/*.md
Vještine (SKILL.md) Postupovni recepti korak po korak Učitavaju se samo na zahtjev .agents/skills/ ili ~/.gemini/antigravity-cli/skills/

  • Radni prostor (.agents/skills/<naziv>/SKILL.md): Vezano za pojedini projekt, pohranjeno u Gitu.
  • Globalni CLI (~/.gemini/antigravity-cli/skills/<naziv>/SKILL.md): Dostupno za sve projekte na ovom računalu.
  • Zajednička Gemini razina (~/.gemini/skills/<naziv>/SKILL.md): Podijeljeno između Antigravity CLI i Antigravity IDE okruženja.

U terminalu upišite /skills za pregled i upravljanje svim učitanim vještinama.