Komendy slash (/review, /commit…)
Nazwane szablony promptów wywoływane z TUI — argumenty, bloki shell i tryb tła.
Komenda to szablon promptu
Plik .opencode/commands/review.md tworzy komendę /review. Ciało pliku (po odcięciu frontmatteru) jest szablonem promptu: OpenCode wstawia argumenty, ewentualnie wykona bloki shell i wyśle gotowy tekst jako Twoje zgłoszenie.
Globalne komendy: ~/.config/opencode/commands/. Zagnieżdżone tworzą nazwy z ukośnikiem: .opencode/commands/team/review.md → /team/review. Zmiany w plikach komend przeładowują się na żywo — zapis pliku aktualizuje /review bez restartu.
Przejrzyj $ARGUMENTS pod kątem błędów i brakujących testów./review src/auth.ts
# wysłane: "Przejrzyj src/auth.ts pod kątem błędów i brakujących testów."Frontmatter: agent, model, tryb
| Pole | Zachowanie |
|---|---|
| description | Opis na listach komend |
| agent | Agent wybrany po odpaleniu komendy (np. plan) |
| model | Nadpisanie modelu: dostawca/model lub dostawca/model#wariant |
| subagent | true = zawsze sesja dziecka w tle; false = zawsze bieżąca sesja |
| subtask | Przestarzały alias subagent; przy obu polach wygrywa subagent |
---
description: Zaprojektuj architekturę funkcji
agent: plan
model: openai/gpt-5#high
---
Zaprojektuj $ARGUMENTS. Cel: szkic, warianty i trade-offy — bez implementacji.Argumenty: $ARGUMENTS i pozycyjne $1, $2…
- /component Account Settings → $ARGUMENTS = „Account Settings”.
- /check src/auth.ts "obsługa błędów" → $1 = src/auth.ts, $2 = obsługa błędów (cytaty grupują i znikają).
- Ostatni numerowany placeholder zjada swój argument i wszystkie pozostałe; brakujące pozycje = pusty string.
- Brak placeholdera w szablonie? Non-empty argumenty dopiszą się po pustej linii na końcu.
# component.md
Utwórz typowany komponent React o nazwie $ARGUMENTS.
# check.md
Sprawdź $1. Skup się na $2.
# history.md
Podsumuj te commity:
!`git log --oneline -$1`Bloki shell !`...` — wstrzykuj kontekst z repo
Przejrzyj ten diff:
!`git diff --stat && git diff`Blok shell wykonuje się PRZED wysłaniem promptu, poza flow uprawnień narzędzi agenta. Umieszczaj w nim tylko zaufane komendy i nigdy nie wstawiaj do bloku niezaufanych argumentów użytkownika.
Wykonanie w tle przez subagenta
subagent: true wysyła zadanie do sesji dziecka w tle, rodzic zostaje wolny, a wynik dziecka wróci do niego po zakończeniu. Kolejność modeli: model komendy → model agenta → model rodzica.
---
description: Audytuj zmiany
agent: general
subagent: true
---
Przeaudytuj $ARGUMENTS pod kątem błędów i brakujących testów.Wariant JSON i pakiet startowy
- /commit → „Napisz conventional commit dla staged zmian: !`git diff --cached`”.
- /pr → podsumuj branch względem main i przygotuj description PR-a.
- /explain → wytłumacz fragment kodu $ARGUMENTS laikowi-frontendowcowi.
- /deps → sprawdź !`bun outdated`, oceń ryzyko aktualizacji, zaproponuj plan.
{
"commands": {
"audit": {
"description": "Audyt pakietu",
"template": "Przeaudytuj $ARGUMENTS.",
"agent": "general",
"subagent": true
}
}
}Szablony z plików NIE rozwijają @ścieżek — plik dołącz przez composer przy wywoływaniu komendy (załączniki composerów są zachowywane).