write-claude-md
Sepíše nebo zeštíhlí CLAUDE.md cílového projektu — zmapuje strukturu repa a tech stack, záměr projektu si vyžádá od uživatele, předloží osnovu a teprve po odsouhlasení soubor zapíše. Míří na ~80 řádků
Files2
View on GitHubSKILL.mdskills/write-claude-md/SKILL.md
GitHubWrite CLAUDE.md
Cílem je CLAUDE.md, který modelu bez znalosti projektu řekne, na čem se pracuje,
proč a kde si dohledá zbytek — a nic víc. Závazným kontraktem je
${CLAUDE_PLUGIN_ROOT}/skills/write-claude-md/claude-md-template.md: nese kostru
souboru, výčet toho, co do něj nepatří, a kontrolní seznam. Při rozporu s tímto
postupem platí on.
Soubor se čte v každé session projektu, takže každý zbytečný řádek se platí pořád. Rozsah proto není estetika, ale rozpočet: cíl ~80 řádků, strop 200.
Vstupní kontext
- Zadání od uživatele (může být prázdné): $ARGUMENTS
Zadání ber jako pokyn, co v souboru zdůraznit, ne jako kompletní brief. Prázdné zadání je normální stav — obsah stejně vzniká z průzkumu a z kroku 3.
Postup
1. Zjisti, kde soubor žije a čím projekt mluví
Nástrojem Glob najdi CLAUDE.md a .claude/CLAUDE.md v kořeni projektu. Obě
umístění se načítají a projekty používají obojí — zapisuj tam, kde soubor už je.
Založení druhého souboru vedle prvního vyrobí dva zdroje pravdy, které se rozejdou.
Neexistuje-li ani jeden, použij CLAUDE.md v kořeni.
Existují-li oba, přečti oba a v osnově navrhni, který zůstane a co se z druhého přenáší. Zrušení toho druhého nech potvrdit uživatelem — načítají se obě umístění, takže nechat jedno nedotčené znamená zeštíhlit polovinu a stav zhoršit; a sloučit dva zdroje pravdy je rozhodnutí projektu, ne tvoje. Odmítne-li uživatel sloučení, eskaluj podle kroku 6 — dvě umístění, která mají obě zůstat, potřebují rozdělenou odpovědnost, a tu ti nikdo nezadal.
Existující soubor přečti celý. Je to vstup, ne odpad: obsahuje rozhodnutí, která z kódu nevyčteš, i když je kolem nich navršený balast. Co je platné, přenes.
Urči jazyk, kterým se soubor napíše: podle existujícího CLAUDE.md, jinak podle README a projektové dokumentace. Nedá-li se to poznat, piš česky. Identifikátory, cesty a názvy sekcí struktury nech anglicky.
2. Zmapuj repo
Zajímá tě mapa, ne inventura:
- Struktura — Globem projdi kořen a první dvě úrovně. Hledej hranice, na kterých
se láme odpovědnost (
srcs/backendvs.srcs/frontend,Packagesvs.Assets), ne všechny složky. - Tech stack — z manifestů (
package.json,*.csproj,Cargo.toml,pyproject.toml,*.asmdef, lock soubory). Verze si přečti, ale do souboru dávej jen ty, které mění způsob práce. - Dokumentace — najdi
.docs/,docs/, ADR,CONTRIBUTING.md,README.md. Zaznamenej cesty a k čemu složka slouží; obsah nečti celý. Cílem je vědět, na co odkázat, ne co opsat — a přečtená dokumentace svádí k tomu ji shrnout.
Kód nečti. Skill píše rozcestník; implementační detaily do něj nepatří a čtení kódu tě k nim jen svede.
Na konci kroku si otevři
${CLAUDE_PLUGIN_ROOT}/skills/write-claude-md/claude-md-template.md — kostra v něm
určuje, na co se má krok 3 ptát, takže bez ní bys interview vedl z paměti. Vezmi si
z něj i výčet toho, co do souboru nepatří; potřebuješ ho v krocích 4 a 5.
3. Doptej se na záměr
Průzkum ti dá strukturu a stack. Nedá ti proč — záměr projektu, doménu, důvod zvolené architektury. Právě tahle část je hlavní přínos souboru a jediná, kterou nelze odvodit; když ji model odhaduje z kódu, vyrobí obecné fráze.
Zeptej se na to, co jsi v repu nenašel. Typicky:
- co se staví a pro koho, čím se to liší od zřejmého řešení;
- jaký princip drží projekt pohromadě (kdo je zdroj pravdy, co se kde nesmí dít);
- co je v projektu neintuitivní — místo, kde nový člověk nebo model sáhne vedle;
- jazyk kódu vs. jazyk komunikace, pokud to z repa neplyne.
Na záměr a doménu se ptej otevřeně v konverzaci, ne přes AskUserQuestion. Ten nástroj nabízí předpřipravené možnosti, takže bys je musel vymyslet z kódu — a uživatel odklikne tu nejbližší. Vznikne odpověď, kterou sis napsal sám, tedy přesně ta obecná fráze, před kterou varuje odstavec výš. AskUserQuestion sáhni tam, kde možnosti reálně existují: jazyk souboru, výběr mezi nalezenými umístěními, které volitelné sekce zahrnout.
Neptej se na to, co už víš z kroku 2. Otázka na tech stack, který jsi právě přečetl z manifestu, jen ubere uživateli trpělivost na otázky, které smysl mají.
4. Předlož osnovu
Sestav osnovu podle kostry v referenci otevřené na konci kroku 2.
Osnovu předlož podle Formátu výstupu a nech si ji odsouhlasit. Vynechané položky vypiš explicitně: uživatel je jediný, kdo pozná, že jsi škrtl něco, na čem projektu záleží, a v osnově to opraví jednou větou místo celého kola.
Bez schválení nezapisuj. U projektu s existujícím CLAUDE.md by šlo o přepsání obsahu, který nikdo neobhájil.
5. Zapiš a ověř rozsah
Zapiš soubor na místo z kroku 1. Přepisuješ-li existující, použij Write — zeštíhlení mění strukturu celého souboru a řetěz Editů z něj udělá slepenec.
Pak si hotový soubor přečti Readem: číslované řádky ti dají přesný rozsah. Nad 200 řádků škrtej, neřeď — hledej sekci, kterou lze nahradit odkazem do dokumentace, a odstraň ji Editem; cílený škrt je jediné, na co se tu Edit používá. Rozsah snížený obecnějšími formulacemi je horší výsledek než ten původní, protože ubyla informace, ne text. Nedostaneš-li se pod strop, aniž bys o něco přišel, eskaluj podle kroku 6 — zapsaný soubor nad 200 řádků není hotový výsledek.
Sloučil-li krok 1 dvě umístění, druhý soubor smazat neumíš — skill nemá nástroj, který by to udělal. Požádej uživatele, ať ho odstraní sám, a uveď to v reportu jako otevřený krok; dokud tam soubor je, načítá se a sloučení není hotové. Nepřepisuj ho na prázdný ani na jednořádkový odkaz — načítal by se dál.
Projdi kontrolní seznam v referenci bod po bodu a nakonec vydej závěrečný report podle Formátu výstupu.
6. Eskalace
Přeruš postup a obrať se na uživatele, když:
- na otázky z kroku 3 nedorazí odpověď — sekci „co se staví a proč" nevymýšlej, bez ní soubor ztrácí důvod existovat a zbyde z něj právě ta inventura, které se skill vyhýbá;
- projekt je natolik rozsáhlý, že se ani po škrtech nevejde do 200 řádků — pak je na řadě rozhodnutí, co odsunout do vlastní dokumentace, a to není tvoje volba;
- existující CLAUDE.md obsahuje pokyny, kterým nerozumíš natolik, abys posoudil, jestli jsou pořád platné — ocituj je a zeptej se.
Při eskalaci shrň, co už máš hotové, a polož konkrétní otázku.
Formát výstupu
Osnova ke schválení (krok 4)
CLAUDE.md pro [projekt] → [cesta k souboru] ([nový | přepis stávajícího, N řádků])
Jazyk: [jazyk] — [podle čeho určený]
**[Název sekce]** — [co v ní bude, jednou větou] (~[N] řádků)
**[Název sekce]** — [co v ní bude, jednou větou] (~[N] řádků)
Vynechávám: [položka — proč; položka — proč]
[U přepisu:] Ze stávajícího souboru přenáším: [co]. Vyhazuji: [co — proč].
[Existují-li obě umístění:] Zůstává: [cesta]. Ruší se: [cesta] — přenáším z něj
[co]; smazat ho budeš muset sám, skill to neumí.
Odhad rozsahu: ~[N] řádků.
Závěrečný report
Zapsáno: [cesta] — [N] řádků (cíl ~80, strop 200)
Odkázaná dokumentace: [cesty, na které soubor odkazuje místo opisu]
[U přepisu:] Ubylo: [N] → [N] řádků.
[Po sloučení umístění:] Zbývá na tobě: smazat [cesta] — bez toho se načítá dál.
Ke zvážení: [co by si zasloužilo vlastní dokument, nebo „nic"]
Zásady
- Reference má přednost. Když si kostra, výčet nepatřičného nebo kontrolní seznam odporují s tímto postupem, platí reference.
- Odkazuj, neopisuj. Existující dokumentace je aktuálnější než její shrnutí a odkaz na ni drží krok; opis se rozejde a začne lhát dřív, než si toho někdo všimne.
- Rozsah se snižuje škrtáním. Obecnější formulace zkrátí text a zároveň uberou informaci — to je čistá ztráta.
- Existující soubor je vstup. Nikdy ho nepřepisuj, aniž bys ho přečetl celý a vyjmenoval v osnově, co z něj mizí.
- Review smyčku skill nemá. Brzdou je schválená osnova a kontrolní seznam
v kroku 5 — na rozdíl od
write-skilltu nestojí subagent, takže osnovu neodbývej, je to jediné místo, kde se dá rozhodnutí zvrátit levně.