File size: 4,906 Bytes
0dbc9de | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | ---
title: "Agentfærdigheder"
description: "Definer gjenbrugbar atferd via SKILL.md-definisjoner"
---
Agentferdigheter lar OpenCode oppdage gjenbrugbare instruksjoner fra repo- eller hjemmekatalogen din.
Ferdigheter lastes inn på forespørsel via det opprinnelige `skill`-verktøyet – agenter ser tilgængelige ferdigheter og kan laste inn hele innholdet når det er nødvendig.
---
## Placer filer
Opret én mappe per ferdighetsnavn og tilføj inn en `SKILL.md` i den.
OpenCode søker etter disse stedene:
- Prosjektkonfigurasjon: `.opencode/skills/<name>/SKILL.md`
- Global konfigurasjon: `~/.config/opencode/skills/<name>/SKILL.md`
- Prosjekt Claude-kompatibel: `.claude/skills/<name>/SKILL.md`
- Global Claude-kompatibel: `~/.claude/skills/<name>/SKILL.md`
- Prosjektagent-kompatibel: `.agents/skills/<name>/SKILL.md`
- Global agent-kompatibel: `~/.agents/skills/<name>/SKILL.md`
---
## Forstå opdagelsen
For prosjektlokale stier går OpenCode opp fra din nåværende arbejdskatalog til den når git-arbeidstreet.
Den laster alle matchende `skills/*/SKILL.md` i `.opencode/` og alle matchende `.claude/skills/*/SKILL.md` eller `.agents/skills/*/SKILL.md` underveis.
Globale definisjoner lastes også inn fra `~/.config/opencode/skills/*/SKILL.md`, `~/.claude/skills/*/SKILL.md` og `~/.agents/skills/*/SKILL.md`.
---
## Skriv frontmatter
Hver `SKILL.md` må starte med YAML frontmatter.
Bare disse feltene gjenkjennes:
- `name` (påkrevd)
- `description` (påkrevd)
- `license` (valgfritt)
- `compatibility` (valgfritt)
- `metadata` (valgfritt, streng-til-streng kart)
Ukjente frontmatter-felter ignoreres.
---
## Bekræft navn
`name` må:
- Bestå av 1–64 tegn
- Vær alfanumerisk med små bokstaver med skilletegn med enkelt bindestrek
- Ikke begynne eller slutte med `-`
- Ikke inneholde påfølgende `--`
- Match katalognavnet som inneholder `SKILL.md`
Ekvivalent regulært uttrykk:
```text
^[a-z0-9]+(-[a-z0-9]+)*$
```
---
## Følg længdereglerne
`description` må bestå av 1-1024 tegn.
Hold det spesifikt nok til at agenten kan velge riktig.
---
## Brug et eksempel
Lag `.opencode/skills/git-release/SKILL.md` slik:
```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.
```
---
## Genkend værktøjsbeskrivelsen
OpenCode viser tilgængelige ferdigheter i `skill` verktøybeskrivelsen.
Hver oppføring inneholder ferdighetsnavnet og beskrivelsen:
```xml
<available_skills>
<skill>
<name>git-release</name>
<description>Create consistent releases and changelogs</description>
</skill>
</available_skills>
```
Agenten laster inn en ferdighet ved at kalle verktøyet:
```
skill({ name: "git-release" })
```
---
## Konfigurer tilladelser
Kontroller hvilke ferdigheter agenter har tilgang til ved at bruge mønsterbaserte tillatelser i `opencode.json`:
```json
{
"permission": {
"skill": {
"*": "allow",
"pr-review": "allow",
"internal-*": "deny",
"experimental-*": "ask"
}
}
}
```
| Tillatelse | Atferd |
| ---------- | ------------------------------------------ |
| `allow` | Ferdigheter lastes umiddelbart |
| `deny` | Ferdighet skjult for agent, tilgang avvist |
| `ask` | Bruger bedt om godkjenning før lasting |
Mønstre støtter jokertegn: `internal-*` samsvarer med `internal-docs`, `internal-tools` osv.
---
## Tilsidesættelse pr. agent
Gi spesifikke agenter andre tillatelser enn de globale standardinnstillingene.
**For egendefinerte agenter** (i agent frontmatter):
```yaml
---
permission:
skill:
"documents-*": "allow"
---
```
**For innebygde agenter** (i `opencode.json`):
```json
{
"agent": {
"plan": {
"permission": {
"skill": {
"internal-*": "allow"
}
}
}
}
}
```
---
## Deaktiver færdighedsværktøjet
Deaktiver ferdigheter fullstendig for agenter som ikke bør bruge dem:
**For egendefinerte agenter**:
```yaml
---
tools:
skill: false
---
```
**For innebygde agenter**:
```json
{
"agent": {
"plan": {
"tools": {
"skill": false
}
}
}
}
```
Når den er deaktivert, blir `<available_skills>`-delen utelatt helt.
---
## Fejlfind indlæsning
Hvis en ferdighet ikke vises:
1. Kontroller at `SKILL.md` er stavet med store bokstaver
2. Tjek at frontmatter inkluderer `name` og `description`
3. Sørg for at ferdighetsnavnene er unike på alle steder
4. Tjek tillatelser – ferdigheter med `deny` er skjult for agenter
|