Globální Claude Code setup pro Windows: CLAUDE.md pravidla, slash commandy, hooks, skills (vlastní + externí) a integrace se Superpowers plugin.
~/.claude/
├── CLAUDE.md # Globální pravidla — cross-project, vždy platí
├── settings.json # Status line + hooks + permissions + auto mode
├── theme-config.json # Konfigurace /theme (default/nerd/plain)
├── levis-wrapper.json # StatusLine wrapper (lokálně skip-worktree)
├── commands/ # Slash commandy (12×)
├── hooks/ # Safety + automation hooks (12× Node.js)
├── skills/ # Vlastní progressive-disclosure skills (10× + trailofbits)
├── agents/ # Pre-bind subagenti (6×) — dispatch přes subagent_type
├── lib/ # Sdílené knihovny (theme, git-info, project-info, obsidian-vault)
├── scripts/ # Helper skripty (statusline, stats, validátory, vault)
├── output-styles/ # Custom output styles
├── docs/historical/ # Archivované dokumenty (refactor report, staré TODO)
└── README.md # Tento soubor
Část pravidel z CLAUDE.md je zároveň v settings.json, aby přežila kompakci
kontextu a nešla obejít omylem:
| Pravidlo | Mechanismus |
|---|---|
| Fable subagentům nedávat | permissions.deny → Agent(model:fable) |
Žádné Co-Authored-By patičky |
attribution: { commit: "", pr: "" } |
Effort xhigh (config se používá hlavně na coding) |
effortLevel |
| Když je opus přetížený, nespadnout | fallbackModel: ["claude-sonnet-5"] |
| Nezabíjet procesy podle jména, nespouštět neizolované instance | autoMode.soft_deny |
permissions.defaultMode je auto — classifier posuzuje akce na pozadí místo
slepého průchodu (bypassPermissions). Vlastní autoMode pravidla se ověřují
přes claude auto-mode config a claude auto-mode critique; první draft
prakticky vždy potřebuje přepsat na kritérium, které classifier opravdu uvidí.
Šetří tokeny tím, že rozhoduje jaký model kde použít a automaticky to vynucuje přes hooks. Tři vrstvy:
- Pravidla v CLAUDE.md (sekce Subagent budget) — routing tabulka haiku/sonnet/opus podle role.
detect-triggers.js(UserPromptSubmit hook) — když user napíše „plán/refactor/agenti/SDD", auto-injectne reminder s routing tabulkou. Nemusíš si pamatovat invokovat skill.track-agents.js(PreToolUse + PostToolUse na Agent matcher):- PreToolUse doplní chybějící
model:parametr podlesubagent_type+ description (Explore → haiku, general-purpose review → sonnet, atd.). Zaznamená dispatch. - PostToolUse odstraní záznam → status panel přestane ukazovat „live".
- PreToolUse doplní chybějící
Status panel zobrazí 2. řádek [ main:opus 5 │ live: 2×haiku ] jen když je co ukázat (default skrytý). Token-aware skill zapisuje plánovaný dispatch do ~/.claude/cache/iq-state.json, statusline z toho rendruje plán: ….
Parallel batch mode — default chování SDD: nezávislé tasky paralelně, conflict graph nad target files. Subagenti běží od CC 2.1.195 na pozadí, takže limitem je konflikt souborů, ne počet (měkký strop ~5). Detail v subagent-driven-development skill + souhrn v CLAUDE.md.
Vault pro dev projekty: C:\dev\vault (přepíše CLAUDE_OBSIDIAN_VAULT).
doc-check.js na SessionStart zjistí, jestli otevřený projekt má poznámku
v 🚀 Projekty/. Když ne, injektuje pokyn nabídnout dokumentaci — ne ji
rovnou psát. Mlčí u ne-startup zdrojů, u složek bez projektových markerů,
u projektů s vlastním Obsidian vaultem a u projektů, kde už uživatel odpověděl.
Odpověď se musí zapsat, jinak se hook ptá při každém startu:
node ~/.claude/scripts/doc-state.js --skip . # nechce
node ~/.claude/scripts/doc-state.js --done . "<nota>" # hotovo
node ~/.claude/scripts/doc-state.js --clear . # zeptej se zasSamotné psaní řeší skill obsidian-docs. Vault se zakládá přes
node ~/.claude/scripts/vault-init.js (idempotentní) — Obsidian pak potřebuje
jednorázové Open folder as vault, registrace se needituje za běhu aplikace.
Vrstva nad token-aware ekosystémem — sleduje skutečné trvání agent dispatchů a injectuje historical signals do plánovacích promptů, aby model dělal kalibrovanější odhady.
hooks/log-duration.js— modul volaný ztrack-agents.jspři PostToolUse na Agent. Spočítáduration_ms, detekuje status (completed/failed), korreluje sauto-tsc.jssnapshot (tsc_passed_first_try), appendne JSONL dologs/agent-durations.jsonl.scripts/duration-stats.js— agreguje JSONL per (repo × subagent_type) → median/P90/success_rate/samples za posledních 90 dní (min. 3 vzorky). Zapisujecache/duration-stats.json. Spouští se on-demand i automaticky z log-duration s 30s debounce.detect-triggers.js(planning trigger) — při „jak dlouho / odhad / naplánuj / how long / estimate" injectne top 3 nejrelevantnější řádky pro aktuální repo + případně posledních 5 bullets zmemory/surprises-<repo>.md. Bez dat: nic./postmortem— po dokončeném úkolu zapíše „co bylo nečekané" + estimate vs actual do per-repo memory souboru.
| Command | Co dělá |
|---|---|
/ctx |
Full Context Load — projekt + git + tsc + TODO + banner |
/status |
Kompaktní git + tsc souhrn |
/tsc |
TypeScript compile check s kompaktním reportem |
/commit |
Český commit workflow s AskUserQuestion |
/push |
Bezpečný push (pre-push kontroly, warn na main/master) |
/ship |
Commit + push v jednom — jedno potvrzení |
/audit |
Bezpečnostní audit s Trail of Bits skills |
/visual-audit |
Runtime vizuální audit přes Playwright (web / Electron) |
/theme |
Přepne vizuální styl (default / nerd / plain) |
/welcome |
Rychlý přehled Claude Code — co umí, kam dál |
/postmortem |
Zápis „co bylo nečekané" + estimate vs actual do memory/surprises-<repo>.md |
/validate-runtime |
Health-check setupu — střílejí hooky, sedí agenti |
Vlastní progressive-disclosure skills — SKILL.md je krátké, detaily v references/. Aktivují se automaticky přes Claude Code skill-matching podle description (trigger „Use when…").
| Skill | Trigger |
|---|---|
token-aware |
Před 2+ Agent dispatch nebo plán s subagenty → výběr modelů haiku/sonnet/opus + snapshot pro panel |
roadmap |
CZ: „udělej mi roadmapu", „naplánuj appku", „jak to postavit" → workflow Brainstorm → Plan → Execute |
electron-security |
Detekce Electron projektu → enforcuje contextIsolation, CSP, IPC discipline |
typescript-strict |
Úprava .ts/.tsx → any jen s komentářem proč, preferuje unknown |
tsc-verification |
Konec série změn v TS projektu → npx tsc --noEmit musí projít |
i18n-texts |
Úprava UI v projektu s i18n → texty z jazykového souboru, ne hardcoded |
design-tokens |
CSS/SCSS/Tailwind v projektu s token systémem → žádné hardcoded hodnoty |
visual-audit |
„zkontroluj vzhled", „a11y audit" → runtime screenshot + kontrast + WCAG |
security-audit |
„zkontroluj bezpečnost", „bezpečnostní audit" → pairing s /audit commandem |
obsidian-docs |
Dokumentace projektu do Obsidian vaultu — konvence, formát poznámky, zápis stavu |
| Zdroj | Kde | Jak nainstalovat |
|---|---|---|
| Superpowers (Anthropic oficiální plugin) | ~/.claude/plugins/cache/claude-plugins-official/superpowers/ |
/plugin install superpowers@claude-plugins-official |
| Trail of Bits (security audity) | ~/.claude/skills/trailofbits/ |
Sparse clone — viz sekce Instalace |
| Hook | Event | Co dělá |
|---|---|---|
block-destructive.js |
PreToolUse (Bash) | Blokuje rm -rf /, DROP TABLE, git push --force, fork bomb atd. |
block-protected.js |
PreToolUse (Write/Edit) | Hard block na .pem/.key/.ssh/.aws, ask mode na .env |
test-gate.js |
PreToolUse (Bash) | Blokuje git push, když je tsc čerstvě červený (bypass přes SKIP_TEST_GATE) |
auto-tsc.js |
PostToolUse (Write/Edit) | Spustí tsc --noEmit po editu *.ts/*.tsx, hlásí jen chyby v edit. souboru |
session-context.js |
SessionStart | Injektuje git kontext (branch, ahead/behind, dirty, commity) |
doc-check.js |
SessionStart | Projekt bez poznámky v Obsidian vaultu → pokyn nabídnout dokumentaci |
session-end.js |
SessionEnd | Zapíše souhrn session (trvání, branch, commity, dirty stav) |
pre-compact.js |
PreCompact | Uloží snapshot stavu před kompakcí, ať je po ní čeho se chytit |
context-watch.js |
UserPromptSubmit | Varuje na /compact při 150k/200k tokenech |
detect-triggers.js |
UserPromptSubmit | Scanuje user message na trigger words → injectuje token-aware reminder + time-aware historical signals |
track-agents.js |
PreToolUse + PostToolUse (Agent) | Auto-doplní model: parametr + sleduje běžící agenty pro status panel + loguje trvání do agent-durations.jsonl (přes log-duration.js) |
log-duration.js |
(modul) | Volaný z track-agents.js — spočítá duration_ms, status, tsc_passed_first_try a appendne JSONL řádek |
| Skript | Co dělá |
|---|---|
statusline.js |
StatusLine renderer (segmenty: project/git/tsc/ctx/limits/cost/mcp/iq) |
levis-usage-dump.js |
Wrapper status line → dump usage do levis-usage.json pro LevisIDE Hub |
ctx-banner.js |
Renderuje /ctx banner |
agent-stats.js |
Agreguje logs/agent-decisions.jsonl — distribuce dispatchů per model |
duration-stats.js |
Agreguje logs/agent-durations.jsonl per (repo × subagent_type) → cache/duration-stats.json (median/P90/success rate) |
validate-agents.js |
Ověří frontmatter všech agents/*.md (model, tools, popis) |
validate-runtime.js |
Health-check — střílejí hooky doopravdy? Sedí pre-bind agenti? |
vault-init.js |
Idempotentní založení Obsidian vaultu pro dev projekty |
doc-state.js |
Zápis odpovědi na nabídku dokumentace (--skip/--done/--clear/--status) |
mcp-refresh.js |
Obnova MCP segmentu status line na pozadí |
# 1) Clone
cd ~
git clone git@github.com:Levisek/claude.config.git .claude
# 2) Nainstaluj Superpowers plugin (v Claude Code session)
/plugin install superpowers@claude-plugins-official
# 3) Nainstaluj Trail of Bits skills pro /audit
cd ~/.claude/skills
git clone --depth 1 --sparse https://github.com/trailofbits/skills.git trailofbits
cd trailofbits
git sparse-checkout set plugins/static-analysis plugins/semgrep-rule-creator plugins/insecure-defaults plugins/supply-chain-risk-auditor
# 4) Přizpůsob cesty (pokud jsi na jiné platformě než Windows nebo jiný uživatel)
# settings.json a hooks používají absolutní cesty C:/Users/admin/.claude/...V Claude Code session použij /ship — udělá commit + push v jednom.
Nebo ručně:
cd ~/.claude && git add -A && git commit -m "feat/fix/docs: <popis>" && git pushZablokováno přes .gitignore:
- Citlivé:
.credentials.json,*.token,*.pem,*.key,id_rsa* - Session data:
history.jsonl,sessions/,projects/,file-history/,paste-cache/,shell-snapshots/,backups/,telemetry/,downloads/,tasks/,plans/,cache/ - Lokální stav:
levis-usage.json,*.log,*-usage.json,session-env/,.last-cleanup - Plugins:
plugins/— instaluje se přes CC marketplace - External skills:
skills/trailofbits/— sparse clone (viz Instalace) - Node modules:
skills/visual-audit/scripts/node_modules/,runner/node_modules/ - Logy:
logs/agent-decisions.jsonl
settings.jsonobsahuje absolutní cestyC:/Users/admin/.claude/...— na jiném stroji/uživateli upravit.- Hooks jsou Node.js skripty — na cílovém stroji musí být Node v PATH.
/auditvyžaduje Trail of Bits skills (viz instalace bod 3)./auditse Semgrepem vyžaduje Python +pipx install semgrep./visual-auditvyžaduje Playwright + Chromium — při prvním spuštění se doinstaluje.roadmapskill deleguje na Superpowers skills — bez Superpowers pluginu nefunguje celý workflow.levis-wrapper.jsonmůže mít hardcoded path na lokální stroj — pokud commit zobrazuje rozdíl, tracked verze je správná, lokální overridegit update-index --skip-worktree levis-wrapper.json.
docs/historical/REFACTOR-REPORT-2026-04-17.md— refaktor monolitické CLAUDE.md do progressive-disclosure skillsdocs/historical/TODO-2026-04-14.md— TODO list před refaktoremdocs/historical/CLAUDE.md.pre-refactor-2026-04-17.md— CLAUDE.md před refaktorem