---
title: "AI call #2: Wayfinder, dashboardy a bezpečnost WordPressu"
date: 2026-08-06
author: "karolina"
categories:
  - name: "Cally"
    url: "/category/cally.md"
---

# AI call #2: Wayfinder, dashboardy a bezpečnost WordPressu

*Zápis z druhého AI callu v Dílně, 6. srpna 2026.*

Nejdřív přestanete psát kód. Pak přestanete klikat. Pak možná zjistíte, že už nevíte, co se na vašich projektech vlastně děje.

Druhý AI call v dílně vypadal na první pohled jako čtyři nesouvisející témata: klientské dashboardy, workflow na specifikaci projektu, bezpečnost WordPressu a terminálový nástroj. Každý z nás si nezávisle postavil nějakou **vrstvu přehledu** nad prací, kterou už nedělá sám, ne kvůli tomu, že na ni modely nestačí, ale proto, že se v tom sám ztrácí.

## Co si odnést, když máte málo času

- **Klientský panel:** lokální HTML → lokální Python server → online na Cloudflare za 5 USD měsíčně
- **Log činností do `.claude/rules.md`** je nejrychlejší způsob, jak klientovi zpřehlednit odvedenou práci, pokud ji za vás dělá agent.
- **Wayfinder flow** (skilly od Matta Pococka) pomůže zpřesnit zadání, rozseká ho na tickety a implementuje je přes subagenty.
- **Skilly držte v repu, ne globálně, pokud můžete.** Globální skilly si Claude zavolá i tam, kam nepatří, a navíc vám instalace do repa odemkne přístup ke skillům jak z aplikace, tak i z prohlížeče.
- **Forenzní analýzu napadeného WordPressu zvládl čistý Opus 5** bez jediného skillu a bez nápovědy: našel podvržené admin účty, z logů sestavil časovou osu a napsal report pro klienta.
- **Čas mezi zveřejněním zranitelnosti a útokem** se zkrátil na hodiny, u zajímavějších webů na minuty. Reagovat nestačí, musí to hlídat automat.
- **herdr** je multiplexer navržený pro agenty, a funguje i na telefonu. Můžete tím nahradit TMUX.

## Dashboard, na kterém klient vidí, co se dělo

Klientský dashboard je jednoduchá webová stránka, kam se tahají data z API a logy z vaší práce, aby klient viděl stav projektu bez toho, že by se vás musel ptát. V dílně stojí na třech stupních a je dobré je brát jako postupné levely, ne jako tři varianty. Panely v tomhle formátu u nás staví Vojtěch Bruk pro klienty i pro vlastní komunitu [AI Kruh](https://aikruh.cz/).

ÚroveňKdy ho chceteCo pod tím jedeNáklad**1. Lokální HTML**Klient se jen kouká na dataStatický soubor, plní ho rutina nebo automatizace0**2. Lokální Python server**Chcete do panelu zapisovat: odklikávat tasky, schvalovat textyPython server, protože statické HTML nic neuloží0**3. Online**Klient k tomu má přístup odkudkoliPrivátní repo na GitHubu, deploy na Cloudflare, workery tahají data z API, Supabase5 USD / měsícU třetí úrovně stojí za pozornost, proč právě [Cloudflare](https://workers.cloudflare.com/): v plánu za 5 USD měsíčně můžete odesílat e-maily a nechat běžet workery na cronu, storage je do 10 GB zdarma. Na enterprise infrastruktuře se malé projekty prostě nevyplatí zpoplatňovat.

Přihlášení řešíme **magic linkem** – klient si pamatuje jednu adresu, nechá si poslat přihlašovací odkaz do e-mailu. Uživatelé mají různá práva a každý vidí své (majitel, dodavatel a další).

Data do panelu tečou z [DataForSEO](https://dataforseo.com/) (pozice a grid pro Google Maps), z [Rankshiftu](https://www.rankshift.ai/) na viditelnost v AI odpovědích, z [Apify](https://apify.com/) na obsah a z Google Analytics přes BigQuery. Kde má smysl skládat konverzní cesty, tam pod tím jede [Supabase](https://supabase.com/), protože v Postgresu se dá propojit reklama, návštěvnost, poptávka a fakturace do jednoho obrázku.

### Log činností jako součást panelu

V `.claude/rules.md` si nastavíte, že každá session zapisuje, co dělala. Záznamy se pak lijí do „deníku“ v dashboardu: datum, co se dělalo, s čím to souviselo.

Nikdo nečeká, že tím klient bude trávit večery. Funguje to ve chvíli, kdy má pocit, že nemá přehled. Otevře deník a vidí, že za půl hodiny vibe codingu vznikla registrace custom post type, nová ACF pole, návrh, implementace v design systému a kontrola. Je to reálně odvedená práce, jen zdokumentovaná do formy, do které by ji člověk sám nikdy nesepsal. Mimochodem se tím opraví klasická freelancerská bolest, kdy z pěti hodinových zásahů vyfakturujete jeden.

### Měsíční video report

Pětiminutové video, ve kterém data z panelu vyložíte. Podle zkušenosti z komunity to drží retenci lépe než cokoli jiného a je to nejpřirozenější místo, kde vznikne upsell: vidíte, co nefunguje, a hned k tomu řeknete, co s tím.

### Infrastrukturu spravujte přes MCP

GitHub MCP nahradil potřebu se GitHub vůbec naučit. Cloudflare má [Wrangler](https://developers.cloudflare.com/workers/wrangler/), přes který AI upravuje DNS, zakládá subdomény, nasazuje workery a nastavuje e-maily. Jeden z nás díky tomu používá Cloudflare třicetkrát víc než dřív a jeho webové rozhraní neotevřel ani jednou.

## Wayfinder flow: specifikace, do které vidíte

Skilly od **Matta Pococka** ([aihero.dev/skills](https://www.aihero.dev/skills)) jsou momentálně nejsilnější věc pro plánování projektů, kterou v Dílně používáme. Instalace je jeden příkaz:

```
npx skills@latest add mattpocock/skills
```

Nebo přes [plugin pro Claude Code](https://claude.com/plugins/mattpocock-skills), který se sám aktualizuje.

**Wayfinder je skill, který z vágního zadání udělá mapu rozhodnutí a pak vás nechá každé z nich obhájit nebo dovysvětlit.** Celé flow na greenfield projekt vypadá takhle:

1. **`/wayfinder`** dostane i mlhavé zadání („chci předělat svůj osobní web“) a udělá z něj mapu rozhodnutí, která je potřeba udělat. Čím přesnější zadání dáte, tím méně práce bude dál.
2. Pro každou větev mapy se spustí **grilování** (`/grill-me`, `/grill-with-docs`) a robot vás vyzpovídá, dokud si nejste rovni v tom, co vlastně chcete.
3. **`/to-spec`** ze všech odpovědí složí specifikaci. Na reálném e-shopovém projektu z toho vyšlo 1 600 řádků: naming, multisite, převod designu pixel perfect, nákupní proces, zakládání účtů, e-mailové šablony, platby, affiliate.
4. **`/to-tickets`** rozseká specifikaci na konkrétní úkoly s definition of done a checkboxy.
5. **`/implement`** staví test-first, ticket po ticketu. Klíčové je pustit to se subagenty: každý subagent má vlastní kontext a drží se v chytré zóně do 200 tisíc tokenů, hlavní session jen orchestruje.
6. **`/code-review`** projede diff na bezpečnost a kvalitu, vestavěný `simplify` skill Claude Code k tomu vyčistí duplicity.

Grilovací session **nemusí být kontinuální**. Rozhodnutí i nerozhodnutí se průběžně zapisují, takže z nich můžete kdykoli vypadnout. Wayfinder naopak čerstvou session pro každý krok přímo vyžaduje: používejte `/clear` a vyvolávejte ho opakovaně na další issue.

Další tipy z diskuze:

- **Celé flow se dá držet v GitHub issues** místo v `.md` souborech. Skill `/setup-matt-pocock-skills` vám v repu pomůže rozhodnout, jestli používáte issue tracker a jak. Pak řeknete „hey wayfinder, issue 78″, on ví, o čem to je, a zápis zůstane v komentářích u issue. Vidíte prolinkování, zavřené issues, PR, kterými se to zavřelo, i které skilly se čeho dotkly. Kdo se v jednotlivých souborech vizuálně ztrácí, tomu tohle vyhovuje víc.
- **Skilly nainstalované do repa** umí použít i Claude Code v aplikaci a v prohlížeči. Nad vlastní databází se tak dá přemýšlet nad novými featurami z tramvaje.
- **Když se ve flow ztratíte, je tu `/ask-matt`**, napojený na dokumentaci všech těch skillů. Doptáte se na cokoli o procesu.

## Skilly v Claude Code držte lokálně, ne globálně

Malý setup detail s velkým dopadem: v globální konfiguraci mějte skillů co nejmíň. Claude je vlezlý. Ve chvíli, kdy nechcete, spojí dvě nesouvisející věci a zavolá třetí skill, který vám v daném projektu nesedí. Instalace přímo do repozitáře ten problém řeší a navíc odemkne přístup z aplikace a z webu.

Do stejné kategorie „vypadá to jako drobnost, ušetří to hodiny“ patří **Chrome rozšíření** Claudea, na které se v době Coworku dost zapomíná. Nespustíte agenta někde v cloudu, ale vlastní Chrome: on si vytvoří skupinu záložek, kam mu naskládáte, co potřebuje. V praxi:

- **Přebarvení formuláře třetí strany**, aby ladil se stránkou. V jednom tabu formulář, ve druhém design, ve třetím dokumentace a preview. Zadáte „vezmi tenhle vzhled a naval to sem“ a už se toho nedotknete.
- **Překlady labelů pluginů ve WordPressu** a ověření, že jsou vyplněná všechna povinná pole. Sonnet to naklikává sám, a když má autonomní režim, tak i bez dozoru.

Výhoda proti plnému agentovi v cloudu je jednoduchá: víte, kde pracuje. Je přihlášený tam, kam ho přihlásíte, a nic si nepere s ničím.

## Bezpečnost WordPressu: co vám mezitím hnije pod rukama

Na napadeném klientském WordPressu proběhla forenzní analýza **bez jediného skillu**. Čistý Opus 5, jeden prompt ve smyslu „produkční web byl napadený, analyzuj produkci“, žádná nápověda. Model si z projektu dohledal, kde produkce leží, potvrdil kompromitaci, našel podvržené admin účty, z logů vyčetl časovou osu, určil vstupní zranitelnost, vyhodnotil, co se útočníkovi povedlo a co ne, jaký to má dopad na data a jaká opatření zabírají. Nakonec z toho složil report pro klienta. Totéž zabralo i na druhém případu.

**Pointa: na tohle nemusíte hledat žádné speciální skilly.** Stačí model, přístup k logům a prosba o evidenci předtím, než začnete uklízet, ať máte track record toho, co se stalo.

Zbytek diskuze byl o tom, že reagovat nestačí. Čas mezi zveřejněním zranitelnosti a útokem se zkrátil na hodiny, u zajímavějších webů na minuty. Boti si podle nové položky v databázi zranitelností nechají vygenerovat průzkumný skript, prolítnou index webů a co projde, to hned zkusí zneužít. Malé weby nejsou mimo hru, končí jako linková farma.

### Čtyři úrovně, zabezpečení WordPressu

ÚroveňCo řešíČím**0. Nepustit je na server**Útok se k aplikaci vůbec nedostaneFirewall na Cloudflare, pak na serveru, pak aplikační. Pro weby, kde na tom záleží, k tomu [Patchstack](https://patchstack.com/)**1. Aktualizovat, ale ne naslepo**Známé zranitelnosti zmizí, aniž by se rozbil provozStaging z aktuálních dat, aktualizace tam, end-to-end proklikání kritických cest, pak deploy**2. Hledat, jestli už tam někdo není**Odhalí to, co prošlo přes vrstvy 0 a 1[Wordfence CLI](https://www.wordfence.com/products/wordfence-cli/) v cronu jednou denně v noci**3. Weby na cizích serverech**Přehled tam, kde neovládáte infrastrukturu[WP Umbrella](https://wp-umbrella.com/) – monitoring, backup před aktualizací, rollback při PHP warninguK úrovni 0: **Patchstack** má vlastní program pro hlášení zranitelností, takže se k dírám dostane dřív, než vyjde oficiální záplata. Jeho plugin mezitím zablokuje volání konkrétní URL, která by zranitelnost otevřela. Řádově jednotky dolarů měsíčně při víc webech.

K úrovni 1: aktualizace, která rozbije nákupní proces, je horší než aktualizace o den později. A kritické cesty nejsou jen košík, **testujte i formuláře**. Klasika je SMTP přes Google plus formulářový plugin, kde poptávky tiše nechodí týden a zjistíte to z měsíčního reportu. Každopádně pozor na testování na produkci: odešly by ostré maily a data do všech napojených systémů.

K úrovni 2: kolo vymýšlet nemusíte, ale jde to i po svém. Z pléna zaznělo řešení s vlastním malým pluginem, který dvakrát denně stáhne hashované výpisy uživatelů, konfigurace, `.htaccess` a PHP souborů, porovná je s předchozím stavem a zařve na odchylku. Žádná citlivá data web neopouštějí.

### Na čem se komunita neshodla

Jak moc věřit skenovacím pluginům. Zkušenost z pléna říká, že napadené weby běžely dál s aktivním skenerem, jen měly v SERPu pět tisíc cizích URL a ozval se hosting kvůli náporu. Proto ta preference úrovně 0: lepší je nepustit je dovnitř, než pak skenovat každý soubor.

**Praktický důsledek pro nabídku:** automatické aktualizace se staging testem se dají prodávat jako služba. Ručně to u desítek projektů neuhlídá nikdo.

## herdr: přehled nad agenty

Poslední vrstva je nejosobnější. Když vám na pozadí běží deset agentů, potřebujete nad nimi stejný přehled, jaký dáváte klientům.

**[herdr](https://herdr.dev/) je terminálový multiplexer navržený pro agenty, náhrada tmuxu.** V terminálu máte spaces, v nich záložky a taby s jednotlivými agenty. Běžící agent má jedno kolečko, hotový druhé, a co chce vaši pozornost, svítí červeně. Zobrazí Claudea, Codex i cokoli dalšího. Všechno jde ovládat myší, takže nemusíte znát tmuxové zkratky. A je mobile first: měří si velikost terminálu a na telefonu obsah přeskládá, takže se z cesty dá pokračovat.

K tomu se osvědčil starý trik s **vlastním strojem, který jede pořád**. Mac Mini s M4 Pro, 24 GB RAM a 500 GB disku běží 24/7, agentní úlohy jedou tam a notebook slouží jen jako terminál. PHPStorm nahradil VS Code, který přes SSH pracuje na vzdáleném stroji.

Praktický dopad: spustíte deset agentů, jdete vyzvednout děti, po návratu se podíváte, jak to dopadlo, a rozdáte další úkoly. **Mac Mini k tomu potřeba není** – stejně dobře poslouží jakýkoli starý počítač, který může běžet furt. Přístup zvenčí se dá zavřít do [Tailscale](https://tailscale.com/) VPN, takže interní domény jsou dostupné jen po připojení.

### Nechte si nakreslit schéma vlastní infrastruktury

Během ukázky si jeden z nás nechal Claudem nakreslit **schéma vlastní automatizační infrastruktury**. Na tom schématu okamžitě viděl dvě věci: automatizace, kterou považoval za delegovanou do GitHub Actions, pořád běží na jeho notebooku. A jeden skript volá DataForSEO sériově po osmi sekundách, takže místo dvaceti minut jede osm hodin.

Nechat si jednou za čas vykreslit, jak vaše infrastruktura reálně funguje, je nejlevnější audit, jaký si můžete dát. Nikdo ho nehledal a vypadl z jedné ukázky.

## Co si z toho odnést

Delegování na agenty nekrachuje na schopnostech modelů. Krachuje na tom, že si nepostavíte místo, kde vidíte, co se děje – klientovi, sobě, ani systému. Tři věci, které z tohohle callu stojí za víkendové odpoledne:

1. **Zapněte si log činností** do `.claude/rules.md` a nechte ho někam tisknout. Vyplatí se dřív, než se z toho stane dashboard.
2. **Pusťte `/wayfinder`** na nejbližší projekt, který máte v hlavě jen mlhavě. Grilování je nepříjemné přesně tak, jak potřebujete.
3. **Nechte si nakreslit schéma vlastní infrastruktury.** Možná najdete kostlivce ve skříni, o kterém nevíte.

Předchozí zápis: [Co jsme si řekli na prvním AI callu v dílně](https://dilna.ai/cally/call-1/).

## Přidej se

Dílna.ai je česká komunita vývojářů, kteří AI reálně používají v práci a baví je si o tom povídat. Cally jsou jednou za čas, přihlásit se jde zdarma na [dilna.ai](https://dilna.ai/). Poslouchat se dá jen tak, ale nejlepší jsou ty cally, kde každý přinese jednu věc, kterou zkoušel. Máš svůj trik? Tím líp, těšíme se.

## Odkazy

**Skilly a workflow**

- [Matt Pocock: AI Skills for Real Engineers](https://www.aihero.dev/skills) – dokumentace všech skillů
- [The /wayfinder Skill](https://www.aihero.dev/skills-wayfinder) – včetně videa, jak flow funguje
- [mattpocock/skills na GitHubu](https://github.com/mattpocock/skills) – instalace `npx skills@latest add mattpocock/skills`
- [Plugin pro Claude Code](https://claude.com/plugins/mattpocock-skills) – varianta se samoaktualizací
- [obra/superpowers](https://github.com/obra/superpowers) – alternativní sada skillů

**Dashboardy a infrastruktura**

- [AI Kruh](https://aikruh.cz/) – komunita, pro kterou jeden z panelů vznikl
- [Cloudflare Workers](https://workers.cloudflare.com/) – 5 USD měsíčně, včetně e-mailů a cronů
- [Cloudflare Wrangler](https://developers.cloudflare.com/workers/wrangler/) – správa Cloudflare přes AI
- [GitHub MCP server](https://github.com/github/github-mcp-server)
- [DataForSEO](https://dataforseo.com/) – SEO data přes API, včetně map gridu
- [Rankshift](https://www.rankshift.ai/) – viditelnost v AI odpovědích
- [Apify](https://apify.com/) – scraping obsahu
- [Supabase](https://supabase.com/) – Postgres pod dashboardem

**Bezpečnost a provoz**

- [Patchstack](https://patchstack.com/) – vPatche dřív, než vyjde oficiální záplata
- [Wordfence CLI](https://www.wordfence.com/products/wordfence-cli/) – skenování z command line
- [WP Umbrella](https://wp-umbrella.com/) – monitoring a aktualizace webů na cizích serverech
- [herdr](https://herdr.dev/) – tmux náhrada pro agenty
- [Tailscale](https://tailscale.com/) – VPN k vlastnímu stroji