Install
$ agentstack add skill-szewowsky-skille-marketera-poranny-radar ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Poranny radar
Brief, nie raport. Rano czyta dane, które marketer i tak ma (eksport z narzędzia mailingowego, sprzedaż, skrzynka), i mówi, co robić dziś. Dwie rzeczy, których czat nie zrobi: odpala się sam i pamięta. Każdy wniosek żyje w pliku z licznikiem obserwacji, a kolejny brief cytuje go z powrotem.
Folder
Jeden folder = jeden zestaw źródeł (agencja: radar-/).
radar/
├── config.md # źródła, kadencja, stan konfiguracji
├── zrodla/ # mailing.csv (rdzeń) + klocki: sprzedaz.csv, skrzynka.md, youtube.csv ...
├── wnioski.md # pamięć: jedna linia na wniosek, licznik obserwacji, przykład
├── policzone/ # wynik skryptu z każdego briefu (JSON)
└── briefy/ # YYYY-MM-DD_brief.md
Która gałąź
/poranny-radarbez treści, "skonfiguruj radar", brak folderu → Konfiguracja (references/konfiguracja.md): pięć kroków, jedno pytanie naraz, stan wconfig.md.- "Zrób brief", "co dziś", "poranny radar" → Brief.
- "Dołóż klocek", "podpiąłem sklep", "dodaj skrzynkę" → Klocek: zapytaj, gdzie jest plik albo źródło, sprawdź, że da się go odczytać, dopisz do sekcji Źródła w
config.mdz rolą jednym zdaniem ("sprzedaż: czy po kampanii coś wpadło"). Następny brief go uwzględnia. - "Co pamiętasz", "jakie masz wnioski" → przeczytaj
wnioski.mdi odpowiedz z liczbami obserwacji, bez liczenia od nowa. - "Załóż rutynę", "co poniedziałek" → Rutyna.
Brief
Format i reguły: references/brief.md. Przeczytaj przed pierwszym briefem w sesji.
- Przeczytaj
config.md: źródła, ich role, kadencja, data ostatniego briefu. Gdy folder ze źródłami istnieje, aconfig.mdnie: wywnioskuj role z nazw plików (mailing = rdzeń, sprzedaz = sklep, skrzynka = zobowiązania), zrób brief i zaproponuj dopisanieconfig.mdjednym zdaniem. - Uruchom skrypt na eksporcie mailingowym z klockami, które są plikami:
``bash python3 .claude/skills/poranny-radar/scripts/policz.py radar/zrodla/mailing.csv \ --wnioski radar/wnioski.md --sprzedaz radar/zrodla/sprzedaz.csv \ --wyjscie radar/policzone/YYYY-MM-DD.json ` Skrypt zwraca: kampanie z procentami (kropka dziesiętna, w tekście briefu zamieniasz na przecinek, w tabeli możesz zostawić), średnie i mediany, sygnały (otwarcia poniżej 80% mediany, kliknięcia powyżej 150% mediany, wypisy powyżej 250% mediany), hipotezy wbudowane (temat z liczbą, dzień wysyłki) i wnioski wczytane z pliku. Domyślnie ostatnie 12 kampanii: napisz to w nagłówku briefu ("okno: ostatnie 12 kampanii"). Ścieżka skryptu w poleceniu jest względna do projektu użytkownika; uruchamiaj z korzenia projektu albo podaj ścieżkę bezwzględną. brak_kolumn = powiedz użytkownikowi, których kolumn brakuje, i poproś o eksport na poziomie kampanii. W Codex ścieżka to .agents/skills/poranny-radar/scripts/policz.py`.
- Klocki, które nie są CSV (skrzynka jako notatka, źródło przez narzędzie w Twoim zestawie): odczytaj je osobno. Skrzynka: wyciągnij zobowiązania z terminem, bez adresów nadawców i bez cytowania treści maili. Źródło niedostępne = jedna linia "nie udało się odczytać: " w briefie, reszta powstaje normalnie.
- Wnioski: dla każdego wpisu z
wnioski.mdsprawdź tylko na kampaniach nowszych niż data ostatniego briefu (zconfig.md; gdy jej nie ma, nowsze niż data "od" wniosku i nieobecne w jego przykładach), czy potwierdza, zaprzecza, czy nie dotyczy. Dzięki temu ta sama kampania nie podnosi licznika dwa razy. Potwierdza = podnieś licznik obserwacji o 1 i dopisz przykład. Zaprzecza = dopisz "(zaprzeczenie: )" i nie podnoś. Nie dotyczy = dopisz albo zaktualizuj "(sprawdzono: )", żeby było widać, jak długo hipoteza czeka. Nowy wzorzec widoczny w sygnałach albo hipotezach skryptu, którego nie ma w pliku = dopisz jako nowy wniosek z obserwacjami równymi liczbie kampanii, które go pokazują. Nie kasujesz wpisów, to robi człowiek. - Napisz brief według szablonu: trzy rzeczy do zrobienia dziś (każda z liczbą, z której wynika), co traci i co zaskoczyło (po jednym zdaniu, z sygnałów skryptu), co pamiętam (najwyżej 5 wniosków: te, które dotyczą dzisiejszych zadań, potem najwyższe liczniki; reszta zostaje w pliku), z innych klocków (jedna linia na klocek), tabela kampanii na końcu.
- Zapisz
briefy/YYYY-MM-DD_brief.md, zaktualizujwnioski.md, wpisz datę briefu doconfig.md("Ostatni brief"), pokaż brief w całości. Przejdźeval.md.
Tryb "tydzień później" (demo, porównanie dwóch briefów): --do w skrypcie ogranicza okno do kampanii do tej daty. Pierwszy brief na oknie starszym, drugi na pełnym, obok siebie.
Rutyna
Po pierwszym briefie zaproponuj jednym zdaniem: "mam odpalać to sam w poniedziałek o 7:30?". Zapisz wybór w config.md. Claude Code: scheduled task z poleceniem "zrób brief"; Codex: cron. Jedno uczciwe zdanie: skill jest ten sam, harmonogram jest per narzędzie. Eksport mailingowy musi być odświeżony przed rutyną (ręcznie albo przez narzędzie, które użytkownik ma; skill sam nie loguje się do narzędzia mailingowego).
Prywatność
Dane wchodzą na poziomie kampanii: nazwa, temat, data, liczby. Żadnych adresów e-mail, nazwisk subskrybentów, list odbiorców, treści maili. Gdy eksport zawiera kolumny z adresami (eksport subskrybentów zamiast kampanii), zatrzymaj się i poproś o eksport kampanii. Skrzynka: zobowiązania i terminy tak, nadawcy i treść nie.
Po robocie
Cała odpowiedź krótkim myślnikiem "-". Brief po polsku, bez żargonu (bez CTR, OR, CSV w tekście briefu: pisz "kliknięcia", "otwarcia", "eksport"). Zawsze eval.md przed pokazaniem.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Szewowsky
- Source: Szewowsky/skille-marketera
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.