Skills agenata
Definisite ponasanje koje se moze ponovo koristiti
Agent skills omogucavaju OpenCode da pronade uputstva koja se mogu ponovo koristiti iz repozitorija ili home direktorija.
Skills se ucitavaju po potrebi kroz ugradeni skill alat - agenti vide dostupne skills i ucitavaju puni sadrzaj kad zatreba.
Postavite datoteke
Kreirajte jedan folder po nazivu skill-a i stavite SKILL.md unutar njega.
OpenCode pretrazuje ove lokacije:
- Konfiguracija projekta:
.opencode/skills/<name>/SKILL.md - Globalna konfiguracija:
~/.config/opencode/skills/<name>/SKILL.md - Claude kompatibilno u projektu:
.claude/skills/<name>/SKILL.md - Globalno Claude kompatibilno:
~/.claude/skills/<name>/SKILL.md - Agent kompatibilno u projektu:
.agents/skills/<name>/SKILL.md - Globalno agent kompatibilno:
~/.agents/skills/<name>/SKILL.md
Razumijte otkrivanje
Za projektne lokalne putanje, OpenCode ide prema gore od trenutnog radnog direktorija dok ne dode do git worktree-ja.
Usput ucitava sve odgovarajuce skills/*/SKILL.md u .opencode/ i odgovarajuce .claude/skills/*/SKILL.md ili .agents/skills/*/SKILL.md.
Globalne definicije se takoder ucitavaju iz ~/.config/opencode/skills/*/SKILL.md, ~/.claude/skills/*/SKILL.md i ~/.agents/skills/*/SKILL.md.
Napisite frontmatter
Svaki SKILL.md mora poceti YAML frontmatter-om.
Prepoznaju se samo ova polja:
name(obavezno)description(obavezno)license(opcionalno)compatibility(opcionalno)metadata(opcionalno, mapa string->string)
Nepoznata frontmatter polja se ignorisu.
Validirajte nazive
name mora:
- Imati 1-64 karaktera
- Biti malim slovima i brojevima sa jednim crticama kao razdvajacima
- Ne pocinjati ni zavrsavati sa
- - Ne sadrzavati uzastopno
-- - Odgovarati nazivu direktorija koji sadrzi
SKILL.md
Ekvivalentni regex:
^[a-z0-9]+(-[a-z0-9]+)*$Pratite pravila duzine
description mora imati 1-1024 karaktera.
Neka bude dovoljno precizan da agent moze pravilno odabrati.
Koristite primjer
Kreirajte .opencode/skills/git-release/SKILL.md ovako:
---name: git-releasedescription: Create consistent releases and changelogslicense: MITcompatibility: opencodemetadata: audience: maintainers workflow: github---
## What I do
- Draft release notes from merged PRs- Propose a version bump- Provide a copy-pasteable `gh release create` command
## When to use me
Use this when you are preparing a tagged release.Ask clarifying questions if the target versioning scheme is unclear.Prepoznajte opis alata
OpenCode navodi dostupne skills u opisu skill alata.
Svaki unos sadrzi naziv i opis skill-a:
<available_skills> <skill> <name>git-release</name> <description>Create consistent releases and changelogs</description> </skill></available_skills>Agent ucitava skill pozivom alata:
skill({ name: "git-release" })Konfigurisite dozvole
Kontrolisite kojim skills agenti mogu pristupiti pomocu dozvola baziranih na obrascima u opencode.json:
{ "permission": { "skill": { "*": "allow", "pr-review": "allow", "internal-*": "deny", "experimental-*": "ask" } }}| Dozvola | Ponasanje |
|---|---|
allow | Skill se ucitava odmah |
deny | Skill je skriven od agenta, pristup odbijen |
ask | Korisnik mora odobriti prije ucitavanja |
Obrasci podrzavaju wildcard znakove: internal-* poklapa internal-docs, internal-tools itd.
Nadjacajte po agentu
Dajte odredenim agentima drugacije dozvole od globalnih defaulta.
Za prilagodene agente (u frontmatter-u agenta):
---permission: skill: "documents-*": "allow"---Za ugradene agente (u opencode.json):
{ "agent": { "plan": { "permission": { "skill": { "internal-*": "allow" } } } }}Iskljucite skill alat
Potpuno iskljucite skills za agente koji ih ne bi trebali koristiti:
Za prilagodene agente:
---tools: skill: false---Za ugradene agente:
{ "agent": { "plan": { "tools": { "skill": false } } }}Kada je iskljuceno, sekcija <available_skills> se potpuno izostavlja.
Rjesavanje problema s ucitavanjem
Ako se skill ne pojavi:
- Provjerite da je naziv
SKILL.mdnapisan velikim slovima - Provjerite da frontmatter sadrzi
nameidescription - Potvrdite da su nazivi skill-ova jedinstveni na svim lokacijama
- Provjerite dozvole - skills sa
denysu skriveni od agenata