Prawo pl eli
Skill jamarpl21/prawo-pl-eli/plugins/prawo-pl-eli/skills/prawo-pl-eli
Odpytuje OFICJALNE API ELI Sejmu (api.sejm.gov.pl/eli) — źródło pierwotne prawa polskiego (Dziennik Ustaw, Monitor Polski): wyszukiwanie aktów, TEKST JEDNOLITY, pojedyncze artykuły, metadane, nowelizacje, podstawa prawna, sygnatury Dz.U./M.P. Używaj przy KAŻDYM pytaniu z prawa polskiego — TAKŻE gdy przepis nie jest jeszcze znany (ustalenie podstawy prawnej: właściwość sądu, wyłączenie sędziego, przekazanie sprawy, przesłanki wniosku lub pozwu, terminy) — oraz ZAWSZE przy TWORZENIU lub ANALIZIE UMÓW i PISM PROCESOWYCH. Wywołuj PRZED wyszukiwaniem w internecie: treść polskiego przepisu cytuj WYŁĄCZNIE z ELI, nigdy z pamięci ani z portali (arslege, lexlege, infor, LEX); internet służy tylko do orzecznictwa i doktryny. Wyzwalaj też przy: „co mówi ustawa o…", „art. X ustawy…", „Dz.U. {rok} poz. {nr}", „tekst jednolity", „czy przepis obowiązuje", „czy był nowelizowany". Polish primary law (statutes, codes, regulations) from the official Sejm ELI API — always use for Polish law questions BEFORE web search.From its SKILL.md
npx -y skills add jamarpl21/prawo-pl-eli --skill prawo-pl-eliAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `python3 "$ELI" <komenda> [...]` and 7 more.
- fetches URLsInstructs the agent to fetch 1 URL, including https://raw.githubusercontent.com/jamarpl21/prawo-pl-eli/main/plugins/prawo-pl-eli/skills/prawo-pl-eli/scripts/eli.py.
SKILL.md
11.8 KB, ~4.2k tokens by cl100k_base, as published. Nobody here has run it
Prawo polskie z oficjalnego API ELI Sejmu
Skill do pracy z prawem polskim — przy każdym pytaniu prawnym oraz przy tworzeniu i analizie umów
i pism procesowych: wszędzie tam, gdzie trzeba przywołać przepis, zweryfikować podstawę prawną, termin
lub procedurę. Cytowanie przepisów z pamięci albo z nieoficjalnych portali jest zawodne (zmiany,
nowelizacje, błędne sygnatury) — ten skill sięga do źródła pierwotnego: oficjalnego API ELI Sejmu
(https://api.sejm.gov.pl/eli), czyli Dziennika Ustaw (DU) i Monitora Polskiego (MP).
Używaj go, zanim podasz brzmienie przepisu, sygnaturę albo stwierdzisz, że coś „obowiązuje".
Kolejność źródeł (przepis ≠ internet)
- Treść przepisu — wyłącznie z ELI. Nigdy nie cytuj brzmienia polskiego przepisu z pamięci ani
z portali (arslege.pl, lexlege.pl, infor.pl, LEX itp.). Jeśli wynik wyszukiwania internetowego
podał brzmienie przepisu — zweryfikuj je przez
eli.py, zanim go użyjesz w odpowiedzi. - Internet — tylko do orzecznictwa, doktryny i identyfikacji aktów. Komentarze, wyroki, nazwy ustaw — tak; po identyfikacji wróć do ELI po tekst przepisu.
- Pytanie bez wskazanego przepisu („czy jest podstawa, by…", „czy mogę wnieść o…", „jaki mam
termin na…") to też zadanie dla tego skilla — nie zaczynaj od wyszukiwarki. Najpierw ustal
WŁAŚCIWĄ PROCEDURĘ z rodzaju sprawy (pozew/pozwany → k.p.c.; oskarżony/akt oskarżenia → k.p.k.;
decyzja organu → k.p.a.; podatki → Ordynacja podatkowa), pobierz kandydackie przepisy z ELI
(
struktura --filtr,tekst --fragment), dopiero potem ewentualnie internet po orzecznictwo. Pomylenie procedury (np. art. 37 k.p.k. w sprawie cywilnej zamiast art. 44¹ k.p.c.) to typowy skutek zaczynania od wyszukiwarki — portale rankują pod hasła, nie pod rodzaj sprawy. - Delegując research subagentowi, wpisz do jego promptu: „treść polskich przepisów pobieraj
wyłącznie przez
scripts/eli.py(skill prawo-pl-eli); internet tylko do orzecznictwa i doktryny".
Narzędzie
Wszystko robi helper scripts/eli.py (tylko biblioteka standardowa Pythona — bez instalacji).
Skrypt leży obok tego pliku SKILL.md (<katalog skilla>/scripts/eli.py) — NIE zakładaj, że to
~/.claude/skills/prawo-pl-eli (skill zainstalowany jako plugin leży w katalogu pluginów; w Claude
Code: ${CLAUDE_PLUGIN_ROOT}/skills/prawo-pl-eli). Gdy nie znasz ścieżki, najpierw ją ustal:
ELI=$(find "$HOME/.claude" "$HOME/.agents" /mnt /sessions -maxdepth 10 -name eli.py -path "*prawo-pl-eli*" 2>/dev/null | head -1)
[ -n "$ELI" ] || { curl -fsSL https://raw.githubusercontent.com/jamarpl21/prawo-pl-eli/main/plugins/prawo-pl-eli/skills/prawo-pl-eli/scripts/eli.py -o /tmp/eli.py && ELI=/tmp/eli.py; }
python3 "$ELI" <komenda> [...]
(W przykładach niżej python3 scripts/eli.py oznacza python3 "$ELI", jeśli nie jesteś w katalogu skilla.)
Sygnaturę można podać w wielu formach: DU 2000 1037, DU/2024/18, "Dz.U. 2024 poz. 18",
"Dz.U. 1997 nr 78 poz. 483", WDU20240000018, albo DU/2000/1037 (ELI).
Komendy
- szukaj — znajdź akt po tytule/typie/roku/haśle:
python3 scripts/eli.py szukaj "Kodeks spółek handlowych" --typ Ustawa --limit 5(opcje:--typ,--rok,--wyd DU|MP,--haslo,--obowiazujace,--limit,--offset) - meta — metadane aktu (tytuł, typ, status, wejście w życie, czy obowiązuje, hasła, ELI, pliki tekstu):
python3 scripts/eli.py meta DU 2000 1037 - tj — znajdź AKTUALNY TEKST JEDNOLITY dla aktu (posortowane, najnowszy oznaczony; na starym t.j. ostrzega o nowszym):
python3 scripts/eli.py tj DU 2000 1037 - tekst — treść aktu (z
text.html→ czysty tekst). Do pojedynczego przepisu używaj--fragment(wycina tylko jednostki z frazą — pełny kodeks to setki tysięcy znaków):python3 scripts/eli.py tekst DU 2024 18 --fragment "art. 299"(trafia w nagłówek artykułu, nie w odesłania)python3 scripts/eli.py tekst DU 2024 18 --fragment "przedawnienie"(wyszukiwanie pełnotekstowe)--pdf ŚCIEŻKAzapisuje urzędowy PDF (preferuje tekst jednolity). Indeks górny podawaj w nawiasie albo unicodem: art. 299¹ →--fragment "art. 299(1)"lub"art. 299¹"; sufiks literowy normalnie:"art. 66c". Nagłówki przepisów niedawno dodanych lub zmienionych mają w tekście jednolitym odsyłacz do przypisu („Art. 66c 6)Dodany przez…") —--fragmentto obsługuje. „Nie znaleziono frazy" NIE znaczy, że przepisu nie ma w akcie (zwłaszcza przy nietypowym oznaczeniu jednostki): sprawdź jeszcze samym numerem (--fragment "66c") albo słowem z treści, zanim napiszesz, że przepis nie istnieje. Gdy nagłówka nie ma, narzędzie samo pokazuje trafienia pełnotekstowe z ostrzeżeniem — mogą to być odesłania z innych przepisów, nie sam przepis. - struktura — spis jednostek redakcyjnych (tytuły/działy/rozdziały/artykuły):
python3 scripts/eli.py struktura DU 2024 18 --filtr "Art. 299"(opcje:--filtr,--poziom N) - odniesienia — powiązania: nowelizacje, podstawa prawna, tekst jednolity, akty wykonawcze:
python3 scripts/eli.py odniesienia DU 2024 18 - każda komenda przyjmuje
--json(surowa odpowiedź API do dalszego przetwarzania).
Narzędzie samo ostrzega: tekst na akcie, który ma tekst jednolity, każe cytować z najnowszego t.j.;
na tekście jednolitym wypisuje „Nowelizacje po tekście jednolitym". Gdy text.html świeżego t.j. jest
jeszcze puste w API, narzędzie automatycznie czyta poprzedni t.j. i każe nałożyć zmiany pomiędzy nimi.
Nie ignoruj tych ostrzeżeń.
Akty bazowe głównych kodeksów (pomiń szukaj)
Sygnatury aktów bazowych są niezmienne — dla poniższych zaczynaj od razu od tj <sygnatura>,
potem tekst <t.j.> --fragment "art. N" (dwie komendy zamiast trzech):
| Akt | Sygnatura bazowa |
|---|---|
Konstytucja RP (tekst wprost, bez tj) | DU 1997 483 |
| Kodeks cywilny (k.c.) | DU 1964 93 |
| Kodeks postępowania cywilnego (k.p.c.) | DU 1964 296 |
| Kodeks rodzinny i opiekuńczy (k.r.o.) | DU 1964 59 |
| Kodeks karny (k.k.) | DU 1997 553 |
| Kodeks postępowania karnego (k.p.k.) | DU 1997 555 |
| Kodeks wykroczeń (k.w.) | DU 1971 114 |
| Kodeks postępowania administracyjnego (k.p.a.) | DU 1960 168 |
| Kodeks pracy (k.p.) | DU 1974 141 |
| Kodeks spółek handlowych (k.s.h.) | DU 2000 1037 |
| Ordynacja podatkowa | DU 1997 926 |
Zasady (ważne — dlaczego)
- Najpierw znajdź właściwy akt, potem cytuj. Typowy przepływ:
szukaj→ ustal sygnaturę →tj(aktualny tekst jednolity) →tekst <t.j.> --fragment "art. N". Dla kodeksów z tabeli wyżej pomińszukaji zacznij odtj. Cytowanie starej wersji to częsty błąd. - Sprawdź NOWELIZACJE i ich WEJŚCIE W ŻYCIE (najczęstsze źródło błędu).
metapokazuje datę wejścia w życie,odniesienia— zmiany; „Nowelizacje po tekście jednolitym" oznacza, że nawet t.j. bywa już nieaktualny. Zanim powiesz „przepis brzmi…":- Akt OGŁOSZONY ≠ OBOWIĄZUJĄCY. W nowelizacji sprawdź artykuł „wchodzi w życie" — możliwe vacatio
legis oraz RÓŻNE daty dla różnych jednostek redakcyjnych — i odnieś do DATY zdarzenia/sprawy
(przepis sprzed/po zmianie). Tekst jednolity oddaje stan na
legalStatusDate; nowsze zmiany trzeba nałożyć ręcznie i sprawdzić, czy już obowiązują. - Baza może NIE mieć najświeższej zmiany. Brak nowelizacji w API ≠ pewność, że jej nie ma
(indeksacja bywa opóźniona). Przy sprawie na konkretną datę zweryfikuj dodatkowo (np. najnowsze
pozycje
dziennikustaw.gov.pl, proces legislacyjny), a w odpowiedzi zaznacz: „stan prawny na dzień X wg ELI — do potwierdzenia".
- Akt OGŁOSZONY ≠ OBOWIĄZUJĄCY. W nowelizacji sprawdź artykuł „wchodzi w życie" — możliwe vacatio
legis oraz RÓŻNE daty dla różnych jednostek redakcyjnych — i odnieś do DATY zdarzenia/sprawy
(przepis sprzed/po zmianie). Tekst jednolity oddaje stan na
- NIGDY nie twierdź, że przepisu nie ma, na podstawie pustego
--fragment. Pusty wynik to brak dopasowania frazy, nie dowód nieistnienia przepisu — a najczęściej zawodzi przy przepisach ŚWIEŻO dodanych lub zmienionych (nietypowe oznaczenie jednostki, odsyłacz do przypisu, indeks górny). Zanim postawisz twierdzenie negatywne o prawie, przeszukaj pełny tekst aktu liniowo:python3 scripts/eli.py tekst <akt> | grep -n -i "<fraza>"— i dopiero zero trafień tam jest podstawą do „brak takiego przepisu w tym akcie". Sprawdź też, czy pytasz o WŁAŚCIWY akt: sankcja za naruszenie obowiązku zwykle stoi w k.w./k.k., a nie w ustawie, która ten obowiązek nakłada. - Do DOSŁOWNEGO cytatu w umowie/piśmie/sądzie używaj urzędowego PDF (
tekst … --pdf), botext.htmlpo konwersji bywa zlepiony;--fragmentjest świetny do szybkiego odczytu i analizy. Linia zaczynająca się od[przypis]to komentarz redakcyjny tekstu jednolitego (kiedy przepis dodano lub zmieniono), a NIE treść normy — nigdy jej nie cytuj jako przepisu. - Zawsze podawaj sygnaturę Dz.U./M.P. i ELI przy cytacie (np. „art. 299 § 1 k.s.h., Dz.U. 2024 poz. 18"). To pozwala odbiorcy zweryfikować źródło.
- Pełna lista endpointów i parametrów:
references/api.md(czytaj przy zapytaniach spoza powyższych komend — np. słowniki typów/haseł, listowanie roczników, akty zmieniające w okresie).
Czego ten skill NIE obejmuje
- prawa UE (rozporządzenia, dyrektywy — użyj skilla prawo-eu-eurlex, EUR-Lex/CELLAR), prawa MIEJSCOWEGO (uchwały gmin/powiatów, dzienniki wojewódzkie → skill prawo-pl-edzienniki) i dzienników resortowych,
- orzecznictwa sądów (SN/TK/sądy powszechne/KIO → skill prawo-pl-saos; sądy administracyjne NSA/WSA → skill prawo-pl-cbosa; decyzje UODO → prawo-pl-uodo; TSUE → prawo-eu-eurlex; w Dz.U. są tylko wyroki TK i to jako pozycje dziennika),
- projektów ustaw w toku procesu legislacyjnego (to inne API Sejmu),
- treści umów stron, KRS, ksiąg wieczystych. Jeśli zagadnienie wymaga tych źródeł — powiedz to wprost, nie udawaj, że ELI je pokryje.
Przykładowy przepływ
Pytanie (np. przy analizie pozwu przeciwko członkowi zarządu sp. z o.o.): „co dokładnie mówi art. 299 § 1 Kodeksu spółek handlowych i czy to aktualne?" (przykład — stan na czerwiec 2026):
szukaj "Kodeks spółek handlowych" --typ Ustawa→ akt bazowy ELIDU/2000/1037.tj DU 2000 1037→ najnowszy tekst jednolityDU/2024/18(Dz.U. 2024 poz. 18), oznaczony „AKTUALNY".tekst DU 2024 18 --fragment "art. 299"→ treść artykułu + automatyczne ostrzeżenie o nowelizacjach po t.j. (tu: Dz.U. 2024 poz. 96 — wyrok TK K 29/23). Nowsze zmiany kodeksu (np. Dz.U. 2026 poz. 176) mogą nie być jeszcze wpięte pod t.j. — dopytajszukajiem i odnieś do daty sprawy.- W odpowiedzi: zacytuj przepis, podaj sygnaturę i datę stanu prawnego.
What ships with it: 2 files
31.5 KB alongside SKILL.md, 1 of them executable
references/
- api.md5.9 KB
scripts/
- eli.pyruns25.6 KB