Vještine i priručnici (Skills)
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
Odjeljak s naslovom “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)
Odjeljak s naslovom “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):
- Agent u aktivnoj memoriji ima učitan samo jednoredni opis pojedine vještine.
- Dok razgovarate o drugim temama, vještina troši točno nula tokena.
- Onog trenutka kada vaš upit odgovara opisu, agent dinamički uzima dotični
SKILL.mds 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
/contextpotvrdio je da su sve aktivne vještine zajedno potrošile samo 777 tokena (0,1% cjelokupnog prozora), pri čemu jeantigravity_guide/SKILL.mdzauzeo 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.
Zašto to nismo stavili u AGENTS.md?
Odjeljak s naslovom “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)
Odjeljak s naslovom “Rješenje: Pakiranje u vještinu (Skill)”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 Pillow1. Recept vještine (SKILL.md)
Odjeljak s naslovom “1. Recept vještine (SKILL.md)”---name: image-redactiondescription: 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)
Odjeljak s naslovom “2. Pomoćna skripta (scripts/redact.py)”import argparsefrom 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, interaktivneLinkCardkartice te produkcijsko postavljanje na Vercel jednom naredbom. - Sadrži automatiziranu skriptu
./scripts/scaffold.shza 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/ |
Razine prepoznavanja vještina
Odjeljak s naslovom “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.