Slash CommandsAgent SkillsSubagentsHooks
Lukas Dobransky09:00 - 10:30
| Vrstva | Čo rieši |
|---|---|
| Memory (CLAUDE.md) | AI pozná projekt, konvencie, architektúru |
| Commands | Opakovateľné úlohy jedným príkazom |
| Skills | Špecializované znalosti aktivované automaticky |
| Subagents | Delegovanie úloh, optimalizácia kontextu |
| Hooks | Automatické akcie (linting, formátovanie) |
Úloha: "Pridaj endpoint pre získanie používateľa"
Bez setupu:
→ Generický REST endpoint
→ Iný štýl ako zvyšok kódu
→ Chýba validácia, error handling
→ Nekonzistentné pomenovanie
S plným setupom:
→ Vie že používate NestJS + Prisma
→ Dodržuje existujúce patterny (DTO, Guards)
→ Pridá validáciu podľa projektu
→ Konzistentné s ostatnými endpointmi
→ Vie kde sú testy, pridá ich| Metrika | Bez setupu | S plnym setupom |
|---|---|---|
| Potreba revízií | Takmer vždy | Minimálna |
| Konzistencia s codebase | Náhodná | Vysoká |
| Dodržanie konvencií | Generické | Projektové |
| Opakovanie inštrukcií | Každá session | Nikdy |
# Inštalácia cez npm
npm install -g @anthropic-ai/claude-code
# Alebo cez Homebrew (macOS)
brew install claude-code
# Overenie inštalácie
claude --version# Spustenie v aktuálnom adresári
claude
# Spustenie s konkrétnou úlohou
claude "Vysvetli štruktúru tohto projektu"
# Spustenie v inom adresári
claude --cwd /path/to/project/help | Zobrazí nápovedu |
/clear | Vymaže históriu konverzácie |
/context | Vizualizuje využitie kontextu |
/cost | Štatistiky použitia tokenov |
/compact | Komprimuje konverzáciu |
# Projekt: E-commerce API
## Štruktúra
- src/controllers/ - API endpointy
- src/services/ - Business logika
- src/models/ - Databázové modely
## Konvencie
- Používame TypeScript strict mode
- Testy v Jest
- ESLint + Prettier pre formátovanie
## Dôležité
- Nikdy necommituj .env súbory
- Pred pushom spusti testyInicializácia: /init
// Generický kód
const fetchUsers = async () => {
const response = await
fetch('/api/users');
return response.json();
}// Váš štýl a konvencie
const fetchUsers = async ():
Promise<User[]> => {
const { data } = await apiClient
.get<UserResponse>('/users');
return userMapper.toDomain(data);
}Claude vie: apiClient wrapper, strict TypeScript, mapper pattern, Response typy
~/.claude/CLAUDE.md # Tvoj osobný štýl (všade)
│
├── projekt/CLAUDE.md # Pravidlá projektu
│ │
│ ├── src/CLAUDE.md # Frontend špecifiká
│ │ └── components/CLAUDE.md # Component guidelines
│ │
│ ├── api/CLAUDE.md # Backend konvencie
│ │
│ └── tests/CLAUDE.md # Testing pravidláClaude automaticky načíta relevantné súbory podľa working directory
claude v projekteCLAUDE.md pomocou /init15 minút
10:45 - 12:00
Vlastné príkazy definované v Markdown súboroch
| Typ | Cesta | Rozsah |
|---|---|---|
| Projektové | .claude/commands/ | Tento projekt |
| Osobné | ~/.claude/commands/ | Všetky projekty |
.claude/commands/review.md
Skontroluj tento kód z hľadiska:
- Bezpečnostných zraniteľností
- Výkonnostných problémov
- Porušení štýlu kódu
- Chýbajúceho error handlingu
Poskytni konkrétne návrhy na zlepšenie.Použitie: /review
---
description: Vytvorí git commit s AI message
allowed-tools: Bash(git add:*), Bash(git commit:*)
argument-hint: [message]
model: claude-3-5-haiku-20241022
---
Vytvor git commit s message: $ARGUMENTS
Ak nie je zadaná message, vygeneruj ju
na základe zmien v git diff.Fix issue #$ARGUMENTS/fix-issue 123 urgent
→ "123 urgent"
Review PR #$1 s prioritou $2/review-pr 456 high
→ "PR #456 s prioritou high"
Prefix ! spustí bash príkaz
---
allowed-tools: Bash(git:*)
description: Vytvorí commit na základe zmien
---
## Kontext
- Git status: !`git status`
- Git diff: !`git diff HEAD`
- Aktuálna vetva: !`git branch --show-current`
- Posledné commity: !`git log --oneline -5`
## Úloha
Vytvor commit message na základe vyššie uvedených zmien.---
description: Porovná dva súbory
argument-hint: [súbor1] [súbor2]
---
Porovnaj tieto dva súbory a vysvetli rozdiely:
Súbor 1: @$1
Súbor 2: @$2
Zameraj sa na:
- Štrukturálne zmeny
- Logické rozdiely
- Potenciálne problémy---
description: Deploy na zvolené prostredie
allowed-tools: Bash(npm:*), Bash(docker:*), Bash(kubectl:*)
argument-hint: [staging|production]
---
## Kontext
- Prostredie: $1
- Aktuálna vetva: !`git branch --show-current`
- Posledný commit: !`git log --oneline -1`
## Úloha
1. Skontroluj, že všetky testy prechádzajú
2. Buildni aplikáciu pre $1
3. Nasaď na $1 prostredie
4. Over, že deployment prebehol úspešneVytvorte prikaz /deploy:
.claude/commands/deploy.md20 minút
13:00 - 14:30
| Commands | Skills | |
|---|---|---|
| Aktivácia | Manuálna (/príkaz) | Automatická (Claude rozhodne) |
| Štruktúra | Jeden súbor | Adresár + SKILL.md |
| Komplexita | Jednoduché prompty | Komplexné workflow |
| Súbory | Jeden .md | Viac súborov, skripty |
.claude/skills/
└── code-review/
├── SKILL.md # Povinný - hlavný súbor
├── SECURITY.md # Bezpečnostný checklist
├── PERFORMANCE.md # Výkonnostné vzory
└── scripts/
└── run-linters.sh---
name: code-review
description: >
Kontroluje kód z hľadiska kvality, bezpečnosti
a best practices. Použi pri review kódu alebo
keď používateľ pýta "skontroluj tento kód".
allowed-tools: Read, Grep, Glob
---
# Code Review
## Inštrukcie
1. Analyzuj kód na bezpečnostné problémy
2. Skontroluj výkonnostné vzory
3. Over dodržiavanie štýlu
## Dodatočné zdroje
- Pre bezpečnosť pozri [SECURITY.md](SECURITY.md)
- Pre výkon pozri [PERFORMANCE.md](PERFORMANCE.md)name | Názov skill (povinné) |
description | Kedy použiť (povinné) |
allowed-tools | Povolené nástroje |
model | Špecifický model |
context | fork - samostatný kontext |
hooks | Lifecycle hooks |
Udržujte SKILL.md krátky, detaily v oddelených súboroch
## Prehľad
[Základné inštrukcie tu]
## Dodatočné zdroje
- Pre API detaily pozri [reference.md](reference.md)
- Pre príklady pozri [examples.md](examples.md)
## Utility skripty
Pre validáciu spusti:
```bash
python scripts/validate.py input.txt
```---
name: safe-reader
description: Číta súbory bez možnosti úprav
allowed-tools: Read, Grep, Glob
---
Analyzuj kód, ale nevykonávaj žiadne zmeny.
Poskytni len analýzu a odporúčania.Claude môže použiť len Read, Grep, Glob
.claude/skills/pdf-processing/
├── SKILL.md
├── FORMS.md
├── REFERENCE.md
└── scripts/
├── fill_form.py
└── validate.py---
name: pdf-processing
description: >
Extrahuje text, vypĺňa formuláre, spája PDF.
Použi pri práci s PDF súbormi.
allowed-tools: Read, Bash(python:*)
---
# PDF Processing
## Quick start
```python
import pdfplumber
with pdfplumber.open("doc.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
Pre vypĺňanie formulárov pozri [FORMS.md](FORMS.md)
Pre API referenciu pozri [REFERENCE.md](REFERENCE.md)Vytvorte skill pre code review:
.claude/skills/code-review/SKILL.md s frontmatterCHECKLIST.md s review bodmi25 minút
14:45 - 16:00
Špecializovaní AI asistenti s vlastným kontextom
→ Blíži sa k limitu 200K
→ Kontext pod kontrolou
Hlavný agent (Sonnet):
├── História: 50 správ konverzácie
├── Súbory: 20 načítaných súborov
└── "Potrebujem nájsť všetky API endpointy"
│
└── Subagent Explore (Haiku):
├── Čistý štart (0 histórie)
├── Číta len relevantné súbory
└── Vracia: "Našiel som 12 endpointov v /api/*"
│
└── Do hlavného kontextu: len výsledok (~100 tokenov)
NIE: celá história hľadania (~10K+ tokenov)| Úloha | Subagent | Prečo |
|---|---|---|
| Hľadanie v kóde | Explore (Haiku) | Read-only, lacnejší model stačí |
| Spúšťanie testov | Custom (Haiku) | Výstup testov je veľký, vráti len zhrnutie |
| Analýza errorov | Custom (Sonnet) | Stack trace neplní hlavný kontext |
| Dokumentácia | Custom (Haiku) | Jednoduchá úloha, nepotrebuje históriu |
| Agent | Účel | Model |
|---|---|---|
| Explore | Prehľadávanie kódu (read-only) | Haiku |
| Plan | Plánovanie implementácie | Inherit |
| general-purpose | Komplexné multi-step úlohy | Inherit |
Interaktívne: /agents
Alebo manualne:
# Projektové
.claude/agents/my-agent.md
# Osobné (všetky projekty)
~/.claude/agents/my-agent.md---
name: code-reviewer
description: >
Expert na code review. Použi proaktívne
po zmenách v kóde.
tools: Read, Grep, Glob, Bash
model: sonnet
---
Si senior code reviewer zameraný na kvalitu
a bezpečnosť kódu.
Pri invokácii:
1. Spusti git diff pre posledné zmeny
2. Analyzuj zmenené súbory
3. Poskytni feedback podľa priorityname | Identifikátor (povinné) |
description | Kedy delegovať (povinné) |
tools | Povolené nástroje |
disallowedTools | Zakázané nástroje |
model | sonnet, opus, haiku, inherit |
permissionMode | default, acceptEdits, dontAsk... |
default | Štandardné permission prompty |
acceptEdits | Auto-accept file edits |
dontAsk | Auto-deny prompty |
bypassPermissions | Preskočí všetky kontroly |
plan | Read-only režim |
---
name: test-runner
description: >
Spúšťa testy a analyzuje výsledky.
Použi po implementácii novej funkcie.
tools: Bash, Read, Grep
model: haiku
---
Si expert na testovanie softvéru.
Pri invokácii:
1. Identifikuj testovací framework
2. Spusti relevantné testy
3. Analyzuj výsledky
4. Navrhni opravy pre failing testy
Report formátuj:
- Passing: [počet]
- Failing: [počet]
- Pre každý fail: príčina + návrh# Claude rozhodne automaticky
"Spusti testy na pozadí"
# Alebo počas behu: Ctrl+BBackground agenti:
---
name: debugger
description: >
Debugovací špecialista pre errors a test failures.
Použi proaktívne pri problémoch.
tools: Read, Edit, Bash, Grep, Glob
---
Si expert debugger špecializujúci sa na root cause analysis.
Proces:
1. Zachyť error message a stack trace
2. Identifikuj kroky k reprodukcii
3. Izoluj miesto zlyhania
4. Implementuj minimálny fix
5. Over riešenie
Pre každý problém poskytni:
- Root cause vysvetlenie
- Dôkazy podporujúce diagnózu
- Konkrétny code fix
- Testovací prístupVytvorte subagenta pre spúšťanie testov:
.claude/agents/test-runner.md20 minút
16:15 - 17:15
Shell príkazy, ktoré sa spúšťajú pri špecifických udalostiach
PreToolUse | Pred použitím nástroja (môže blokovať) |
PostToolUse | Po použití nástroja |
Notification | Pri notifikácii od Claude |
Stop | Keď Claude skončí odpoveď |
UserPromptSubmit | Po odoslani promptu |
Interaktívne: /hooks
Alebo v settings.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write \"$FILE_PATH\""
}
]
}
]
}
}# Konkrétny tool
"matcher": "Bash"
# Viac tools (regex)
"matcher": "Edit|Write"
# Všetky tools
"matcher": "*"
# Prázdny = všetky
"matcher": ""{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | { read f; if echo \"$f\" | grep -q '\\.ts$'; then npx prettier --write \"$f\"; fi; }"
}
]
}
]
}
}{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "python3 -c \"import json,sys; d=json.load(sys.stdin); p=d.get('tool_input',{}).get('file_path',''); sys.exit(2 if any(x in p for x in ['.env','credentials','.git/']) else 0)\""
}
]
}
]
}
}Exit code 2 = blokuj operáciu
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude caka na vstup\" with title \"Claude Code\"'"
}
]
}
]
}
}{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "jq -r '\"\\(.tool_input.command) - \\(.tool_input.description // \"No desc\")\"' >> ~/.claude/bash-log.txt"
}
]
}
]
}
}0 | Úspech - pokračuj |
1 | Chyba (ale pokračuj) |
2 | Blokuj operáciu + feedback |
Vytvorte hook pre automatický linting:
/hooksPostToolUseEdit|Write15 minút
17:15 - 18:00
Projekt/
├── .claude/
│ ├── CLAUDE.md # Pamäť projektu
│ ├── commands/
│ │ ├── deploy.md # /deploy
│ │ └── commit.md # /commit
│ ├── skills/
│ │ └── code-review/ # Auto-review
│ └── agents/
│ └── test-runner.md # Test subagent
├── .claude/settings.json # Hooks
└── src//plan alebo Plan agent/commit/deploy stagingUdržujte aktuálny a stručný
Pre často opakované akcie
Pre komplexné, automatické workflow
Pre izolované, špecializované úlohy
Pre deterministické, vždy-spustiť akcie
bypassPermissions len keď viete čo robíte/compact keď kontext narastie/context pre monitoring