claude
CLAUDE.md45 starsChanged 17 days agoMITView on GitHub
Moje osobní konfigurace Claude Code – pravidla, skilly, hooky a status line, sdílená pro inspiraci. Platí to na každý zápis, ne na ten první. Úkol vzniklý při práci pro klienta se zapisuje tak, aby popsal co se má v konfigurační vrstvě udělat, ne u koho se to ukázalo: „u jednoho projektu chyběl kontrakt příkazů“, ne jméno toho projektu. Potřebuje-li položka konkrétní klientský kontext, aby dávala smysl, patří celá do ~/Context/todo.md – tam se nic nezveřejňuje. Projekt drží standardní strukturu podle…
In this repository40 other files it gives its agents.
- skills/audit/agents.mdAGENTS.md
- skills/consolidate/agents.mdAGENTS.md
- skills/review/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architectSkill
- attackSkill
- auditSkill
- autocommitSkill
- autopilotSkill
- breakdownSkill
- claudingSkill
- composeSkill
- consistencySkill
- consolidateSkill
- depotSkill
- diagramSkill
- discoverySkill
- downloadSkill
- endSkill
- evaluateSkill
- explainSkill
- implementSkill
- invoicingSkill
- learnSkill
- mergeSkill
- nextSkill
- oponentSkill
- projectSkill
- ptydepeSkill
- releaseSkill
- replaceSkill
- reportSkill
- reviewSkill
- scenariosSkill
- serviceaccountSkill
- skillSkill
- slimSkill
- specifySkill
- transcriptSkill
- worktreeSkill
The file
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 69
test: python3 -m unittest discover -s tests
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Konfigurace Claude Code
Moje osobní konfigurace Claude Code – pravidla, skilly, hooky a status line, sdílená pro inspiraci.
- Slug:
claude - Struktura: docs/
- Web: https://www.jantichy.cz
- Repozitář: https://github.com/jantichy/claude
Výjimky z obecných pravidel
- Projektový
CLAUDE.mdje tenhle soubor, ne kořenový~/.claude/CLAUDE.md– i blok metadat, který~/.claude/standards/structure.mdjinak čeká v kořeni. Kořenový soubor je uživatelský a rozbaluje se do každé session v každém projektu – metadata ani sekce tohohle repozitáře tam nepatří, mátly by v cizím projektu. Platí to pro každý skill, který zapisuje do „projektovéhoCLAUDE.md“ (/project,/autocommit,/review,/consistency): v tomhle repozitáři najde oba soubory a zapisovat smí jen sem. /attack,/releaseani/evaluatese tu nikdy nepouštějí. Repozitář je konfigurace, ne aplikace – není co spustit, kam nasadit, a tedy ani žádný provoz, který by šlo vyhodnotit. Posledním krokem osy, na který se tu dojde, je/implement; kontrolní kroky se pouštějí dál a session uzavírá/end, respektive/merge, stojí-li práce na hotové větvi – do cyklu nepatří a spouštěčem obou není pozice v něm, ale konec session, respektive pokyn uživatele. Zapsáno schválně, ne odvozeno (~/.claude/standards/rules.md, Zapiš i to, co vědomě nemáš).Repozitář je veřejný, takže
docs/todo.md,docs/backlog.md,docs/done.mdadocs/decisions.mdpíšeš pro cizí oči. Do konce září 2026 ležely v soukromém~/Context/právě proto; od 20. 9. 2026 jsou tady a tu ochranu musí nahradit pravidlo. Hranice vede mezi strukturou a obsahem. Struktura veřejná je aREADME.mdji sám píše – že analytické know-how leží vcontext/Analytics/, autorovy články vcontext/Archive/a jeho styl psaní vcontext/Compose/, se smí napsat a odkazovat se na to. Konkrétní obsah veřejný není: jméno klienta nebo organizace (tedy i to, žecontext/Organizations/drží zrovna tenhle profil), sazba a obchodní údaj, osobní údaj, detail přístupu ke klientskému systému, jméno klientského projektu nebo domény a know-how, které se prodává. Eventoid, artihub a clockwork jsou autorovy vlastní projekty a jmenovat se smějí.Platí to na každý zápis, ne na ten první. Úkol vzniklý při práci pro klienta se zapisuje tak, aby popsal co se má v konfigurační vrstvě udělat, ne u koho se to ukázalo: „u jednoho projektu chyběl kontrakt příkazů“, ne jméno toho projektu. Potřebuje-li položka konkrétní klientský kontext, aby dávala smysl, patří celá do
~/Context/todo.md– tam se nic nezveřejňuje.
Struktura a dokumentace
Projekt drží standardní strukturu podle ~/.claude/standards/structure.md:
README.md– co projekt je, pro člověka (ne instrukce pro Clauda)docs/todo.md– co je odložené na později, ale rozhodnuté, že se to uděládocs/backlog.md– nezávazné nápady, o kterých se nerozhodlo; vybírá se z nich, když se řeší, co dáldocs/done.md– co je hotovédocs/decisions.md– co jsme rozhodli a proč, včetně zamítnutých variant
Všechny tyhle soubory aktualizuj průběžně sám a bez vyžádání, ve chvíli, kdy rozhodnutí padne, princip se vybrousí nebo se něco odloží. Nečekej na konec session ani na /end.
docs/rules.md tu není a nezakládá se: pravidla téhle vrstvy jsou samy jejím obsahem (standards/), ne meta-vrstvou nad ním.
Instrukce pro tenhle repozitář
Projektové instrukce pro práci v tomhle repozitáři. Načítají se jen tady, na rozdíl od ~/.claude/CLAUDE.md, který je uživatelský a jde do každé session v každém projektu.
Norma tvaru skillů je ~/.claude/skills/skills.md – odkaz, ne import. Načti si ji, jakmile se chystáš sáhnout na kterýkoliv SKILL.md nebo README.md skillu, nebo nějaký zakládat či rušit; neopírej se o paměť. Paušálně se neimportuje, protože je to 42 kB, která by šla do každé session v tomhle repozitáři včetně těch, kde se žádného skillu nedotkneme (~/.claude/standards/rules.md, Co vložíš do kontextu, platíš do konce session). Odkaz drží dvě vrstvy: /skill si normu čte celou ve své přípravě a tests/test_skills.py ji vynucuje strojem, takže skill, který se od ní odchýlí, neprojde průběžnou kontrolou.
- Norma platí pro každou cestu ke změně skillu: ruční úpravu,
/skilli cizí nástroj typuskill-creatornebosuperpowers:writing-skills. Ty mají vlastní představu o tvaru a prosadí ji, když jim nic neřekneš; tenhle řádek je to, co jim ji přebíjí (~/.claude/standards/rules.md, Přednost pravidel). Postup zakládání, revize a rušení drží/skill, ne norma. - Každý skill má dvě README. Vlastní
skills/<name>/README.mdpsané pro člověka zvenčí, na které se posílá odkaz, a k tomu jeden odstavec v kořenovémREADME.md, jehož nadpis na ně odkazuje. Tvar obojího držískills/skills.md, README skillu, a vynucují ho testy. Když skill přidáš nebo zásadně změníš jeho chování, aktualizuj obojí rovnou jako součást té změny – nečekej na vyžádání.
Co do ~/.claude/standards/rules.md nepatří
~/.claude/standards/rules.md drží obecná pravidla práce a jde do každé session, takže každá věta v něm stojí kontext všude. Než do něj něco zapíšeš, projdi test – vyhrává první kritérium, které sedí:
- Říká, co smí stát v konkrétním souboru v
docs/? →~/.claude/standards/structure.md; u zadání, návrhu a produktových podkladů~/.claude/standards/product.md - Platí obecně pro skilly? →
~/.claude/skills/skills.md - Popisuje rozhraní kroku životního cyklu? →
~/.claude/standards/lifecycle.md; obecné pravidlo o přeskakování zůstává v~/.claude/standards/rules.md - Jmenuje konkrétní skill nebo popisuje jeho vnitřek? → do toho skillu
- Platí jen při určité činnosti – zjišťování z dat (
~/.claude/standards/evidence.md), delegaci na agenty (~/.claude/standards/delegation.md), kódu, webu, textu, vizuálu či měření (doména v~/Context/)? → tam, a v~/.claude/standards/rules.mdnanejvýš jednořádkový spouštěč - Platí jen v jednom repozitáři? → jeho
CLAUDE.md, Výjimky z obecných pravidel - Nic z toho →
~/.claude/standards/rules.md
K pravidlu jen jedna věta pointy (~/.claude/standards/rules.md, K pravidlům ukládej i „proč“); datum, incident a měření patří do commitu nebo docs/decisions.md. Velikost ~/.claude/standards/rules.md i součtu paušálně načítaných souborů hlídá test v tests/test_size.py – když spadne, uvolni místo nebo pravidlo přesuň, mez nezvedej mimochodem.
Typ projektu
Projekt mimo výš uvedené kategorie – konfigurační vrstva Claude Code. Které kroky Životního cyklu projektu (~/.claude/standards/rules.md) se tu pouštějí, drží Výjimky z obecných pravidel výš.
Paměť
Neukládej nic do trvalé Memory (~/.claude/projects/.../memory/). Vše, na čem se domluvíme – rozhodnutí, kontext, poznámky – ukládej explicitně do souborů projektu podle ~/.claude/standards/structure.md. Ty jsou jediný zdroj pravdy pro tento projekt, i když harness bude nabádat k zápisu do Memory.
Kontrakt příkazů
Kontrakt příkazů (~/Context/Coding/quality.md). Průběžná kontrola ho tady najde v .claude/CLAUDE.md a příkazy spouští v kořeni repozitáře.
- typecheck: swiftc -typecheck -warnings-as-errors skills//.swift
- lint: shellcheck -x --severity=info hooks/.sh statusline/.sh .github/.sh skills//.sh githooks/ && ruff check --isolated --select F,E9,C901 --config 'lint.mccabe.max-complexity = 10' hooks/.py .github/.py skills/.py skills//.py skills///.py tests/*.py
- test: python3 -m unittest discover -s tests
- format: sh -c 'case "$1" in *.py) exec ruff format --isolated -q "$1" ;; esac' --
- build: -
- e2e: -
- audit: -
- coverage: -
- mutation: -
- dev: -
format filtruje příponu, protože ruff format bere každý soubor zadaný cestou jako Python – JSON i bloky kódu v Markdownu by přepsal a nad shellem by spadl (~/Context/Coding/quality.md, Formátování po editaci). --isolated drží týž styl jako lint.
Pomlčky jsou rozhodnutí, ne díra. dev mezi nimi stojí schválně: /attack se tu nikdy nepouští (viz Výjimky z obecných pravidel výš), takže není co zvedat – a chybějící klíč se od vědomé pomlčky nepozná. Repozitář nemá manifest závislostí, nic se z něj nebuildí ani nenasazuje a není tu aplikace, kterou by šlo projít; coverage a mutation nad sadou, která z devadesáti procent testuje Markdown, měří délku textu, ne sílu testů. Bez pomlčky by je /review i CI hlásily jako nezkontrolované kroky – tedy jako trvalý šum místo informace (~/Context/Coding/quality.md, Kontrakt příkazů).
Co která vrstva hlídá, proč jsou prahy tam, kde jsou, a proč se nesnižují, drží tests/README.md. Sáhni tam, než změníš některý příkaz výš nebo než začneš snižovat práh, který překáží; při běžné práci ho nepotřebuješ. Změna příkazu v kontraktu si navíc vyžádá nový souhlas průběžné kontroly z terminálu, takže práh nejde snížit tiše.
Review
Nálezy vyhodnocené jako „neopravovat“. Při dalším běhu se neuvádějí, dokud se nezmění kód, kterého se týkají.
- 2026-09-14 ·
2ca14c5· Pyannote načítá diarizační modely jako pickle a ty nejdou připnout ani ověřit (zdroj: review, podklad: OWASP – integrita dat, zranitelné závislosti): Riziko je skutečné – pickle znamená spuštění kódu při načtení –, ale zavřít ho nejde bez toho, aby kontrola přestala být ověřitelná. Modely stahujehuggingface_hubuvnitř pyannote, ne zdejší kód, aPipeline.from_pretrainedrevizi jako parametr nenabízí; „oprava“ by tedy byla neověřená domněnka o cizím API. Čím se to nahrazuje: whisper modely jsou připnuté na revizi (common.sh) a jsou to data pro whisper.cpp, ne spustitelný kód, takže jejich podvržení dá špatný přepis, ne cizí kód. Diarizační repozitáře jsou gated – vyžadují ruční souhlas s licencí u známého autora – a celý diarizační průchod je volitelný, běží jen na výslovné přání. Zruší se, jakmile pyannote začne umět revizi předat, nebo jakmile modely přejdou na safetensors.- Lokace: skills/transcript/diarize.py (
Pipeline.from_pretrained), skills/transcript/common.sh (DIARIZE_MODEL)
- Lokace: skills/transcript/diarize.py (
- 2026-09-14 ·
2ca14c5· CI spouští kontrakt příkazů z cizího pull requestu (zdroj: review, podklad: OWASP – integrita dat): Přesně to CI dělá a jinak by nekontrolovalo nic. Dopad je přitom omezený týmiž fakty jako u nálezu o nepřipnutých akcích: repozitář nemá jediný secret,default_workflow_permissionsjeread,can_approve_pull_request_reviewsjefalsea runner je efemérní – cizí kód nemá co ukrást a může leda podvrhnout výsledek vlastní kontroly. Čím se to nahrazuje:fork-pr-contributor-approvalje nastavené nafirst_time_contributors, takže první PR od cizího člověka nespustí nic bez ručního schválení. Zbývá vědomě přijaté riziko, že přispěvatel, který už jednou prošel, pustí workflow bez schválení. Zruší se zpřísněním naall_external_contributors, jakmile do repozitáře přijde první cizí PR – do té doby je to nastavení proti nikomu.- Lokace: .github/workflows/verify.yml (
on: pull_request), .github/workflows/contract.yml (krok „Spusť kontrakt příkazů“)
- Lokace: .github/workflows/verify.yml (
- 2026-09-14 ·
fd75365· Parsery cizích exportů nemají limit na délku ani hloubku (zdroj: review, podklad: OWASP – neošetřený vstup): Vstupem nejsou cizí data, ale vlastní exporty z účtů autora, které si sám stáhl. Nejhorší dopad jeRecursionErrornebo vyčerpaná paměť, tedy pád skriptu nad souborem, který si člověk právě vyexportoval – ne spuštění kódu ani únik dat. Čím se to nahrazuje: skripty se pouštějí ručně a jejich výstup se porovnává s archivem, takže se pád pozná okamžitě. Zruší se, jakmile by parser měl číst export od někoho jiného.- Lokace: skills/compose/scripts/gen_twitter_md.py, skills/compose/scripts/gen_bluesky_md.py (
json.loads)
- Lokace: skills/compose/scripts/gen_twitter_md.py, skills/compose/scripts/gen_bluesky_md.py (
Autocommit
Autocommit je zapnutý.
@~/.claude/skills/autocommit/autocommit.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

