mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-02 10:46:46 +00:00
wip(docs): i18n (#12681)
This commit is contained in:
222
packages/web/src/content/docs/bs/skills.mdx
Normal file
222
packages/web/src/content/docs/bs/skills.mdx
Normal file
@@ -0,0 +1,222 @@
|
||||
---
|
||||
title: "Skills agenata"
|
||||
description: "Definisite ponasanje koje se moze ponovo koristiti"
|
||||
---
|
||||
|
||||
Agent skills omogucavaju OpenCode-u 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:
|
||||
|
||||
```text
|
||||
^[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:
|
||||
|
||||
```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.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Prepoznajte 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" })
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Konfigurisite dozvole
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Nadjacajte 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Iskljucite skill alat
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
Reference in New Issue
Block a user