Buckets:
| title: Vještine agenata | |
| description: "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`. | |
| ## Pisanje frontmatter-a | |
| 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: | |
| ```text | |
| ^[a-z0-9]+(-[a-z0-9]+)*$ | |
| ``` | |
| ## Pravila dužine | |
| `description` mora imati 1-1024 karaktera. | |
| Neka bude dovoljno precizan da agent moze pravilno odabrati. | |
| ## Primjer | |
| Kreirajte `.opencode/skills/git-release/SKILL.md` ovako: | |
| ```markdown | |
| 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. | |
| ``` | |
| ## Opis alata | |
| OpenCode navodi dostupne skills u opisu `skill` alata. | |
| Svaki unos sadrzi naziv i opis skill-a: | |
| ```xml | |
| <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" }) | |
| ``` | |
| ## Konfiguracija dozvola | |
| Kontrolisite kojim skills agenti mogu pristupiti pomocu dozvola baziranih na obrascima u `opencode.json`: | |
| ```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. | |
| ## Nadjačavanje po agentu | |
| Dajte odredenim agentima drugacije dozvole od globalnih defaulta. | |
| **Za prilagodene agente** (u frontmatter-u agenta): | |
| ```yaml | |
| permission: | |
| skill: | |
| "documents-*": "allow" | |
| ``` | |
| **Za ugradene agente** (u `opencode.json`): | |
| ```json | |
| { | |
| "agent": { | |
| "plan": { | |
| "permission": { | |
| "skill": { | |
| "internal-*": "allow" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ## Isključivanje skill alata | |
| Potpuno iskljucite skills za agente koji ih ne bi trebali koristiti: | |
| **Za prilagodene agente**: | |
| ```yaml | |
| tools: | |
| skill: false | |
| ``` | |
| **Za ugradene agente**: | |
| ```json | |
| { | |
| "agent": { | |
| "plan": { | |
| "tools": { | |
| "skill": false | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| Kada je iskljuceno, sekcija `<available_skills>` se potpuno izostavlja. | |
| ## Rješavanje problema s učitavanjem | |
| 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 | |
Xet Storage Details
- Size:
- 4.78 kB
- Xet hash:
- 915ca38ae318edcc16110d7b57905acbd876f20bf6def3141b636c26e7e66607
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.