Skip to content

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-release
description: Create consistent releases and changelogs
license: MIT
compatibility: opencode
metadata:
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"
}
}
}
DozvolaPonasanje
allowSkill se ucitava odmah
denySkill je skriven od agenta, pristup odbijen
askKorisnik 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:

  1. Provjerite da je naziv SKILL.md napisan velikim slovima
  2. Provjerite da frontmatter sadrzi name i description
  3. Potvrdite da su nazivi skill-ova jedinstveni na svim lokacijama
  4. Provjerite dozvole - skills sa deny su skriveni od agenata