{
  "schemaVersion": 1,
  "publishedAt": "2026-07-31",
  "method": "independent-synthesis",
  "conceptCount": 40,
  "concepts": [
    {
      "id": "THINK-001-threat-first",
      "title": "Najpierw groźba przeciwnika",
      "area": "Proces decyzji",
      "claim": "Przed wyborem ruchu gracz nazywa bezpośrednią groźbę przeciwnika.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/najpierw-grozba-przeciwnika/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice",
          "https://szachmaty.pl/?practice=free-material#/practice"
        ],
        "lessons": [],
        "errors": [
          "https://szachmaty.pl/pojecia/wiszaca-figura/"
        ]
      }
    },
    {
      "id": "THINK-002-forcing-moves",
      "title": "Szachy, bicia i groźby",
      "area": "Proces decyzji",
      "claim": "Szachy, bicia i groźby są generowane jako pierwsza lista kandydatów, ale nie jako automatyczny wybór.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/szachy-bicia-i-grozby/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=tempting-check#/practice"
        ],
        "lessons": [],
        "errors": [
          "https://szachmaty.pl/pojecia/szach-bez-celu/"
        ]
      }
    },
    {
      "id": "THINK-003-candidate-moves",
      "title": "Dwa ruchy kandydujące",
      "area": "Proces decyzji",
      "claim": "Gracz wskazuje co najmniej dwa ruchy kandydujące przed rozpoczęciem głębokiej kalkulacji.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/dwa-ruchy-kandydujace/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "THINK-004-opponent-best-reply",
      "title": "Najlepsza odpowiedź przeciwnika",
      "area": "Proces decyzji",
      "claim": "Każdy wariant jest sprawdzany przeciwko najsilniejszej odpowiedzi przeciwnika.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/najlepsza-odpowiedz-przeciwnika/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": [
          "https://szachmaty.pl/pojecia/zatruty-material/"
        ]
      }
    },
    {
      "id": "THINK-005-final-blunder-check",
      "title": "Ostatnia kontrola przed ruchem",
      "area": "Proces decyzji",
      "claim": "Przed wykonaniem ruchu gracz ponownie sprawdza pole docelowe, wiszące figury i odpowiedź wymuszającą.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/ostatnia-kontrola-przed-ruchem/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice",
          "https://szachmaty.pl/?practice=free-material#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch8-l2#/lessons"
        ],
        "errors": [
          "https://szachmaty.pl/pojecia/wiszaca-figura/",
          "https://szachmaty.pl/pojecia/pozwala-na-mata/"
        ]
      }
    },
    {
      "id": "THINK-006-stop-after-blunder",
      "title": "Zatrzymaj serię strat",
      "area": "Odporność po błędzie",
      "claim": "Po gafie celem następnego ruchu jest zatrzymanie serii strat, a nie natychmiastowe odrobienie materiału.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/zatrzymaj-serie-strat/",
      "productLinks": {
        "practice": [],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch8-l1#/lessons"
        ],
        "errors": [
          "https://szachmaty.pl/pojecia/seria-bledow-po-gafie/"
        ]
      }
    },
    {
      "id": "THINK-007-error-to-recipe",
      "title": "Błąd zamień w receptę",
      "area": "Diagnoza błędów",
      "claim": "Diagnoza błędu jest użyteczna tylko wtedy, gdy prowadzi do jednej mierzalnej recepty.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/blad-zamien-w-recepte/",
      "productLinks": {
        "practice": [],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "THINK-008-process-score",
      "title": "Oceniaj także proces",
      "area": "Proces decyzji",
      "claim": "System ocenia osobno jakość procesu i poprawność końcowego ruchu.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/oceniaj-takze-proces/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "CALC-001-one-branch-at-time",
      "title": "Jeden wariant naraz",
      "area": "Kalkulacja",
      "claim": "Gracz kończy jeden wariant przed przejściem do kolejnego kandydata.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/jeden-wariant-naraz/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "CALC-002-visualize-final-position",
      "title": "Zobacz pozycję końcową",
      "area": "Kalkulacja",
      "claim": "Po policzeniu wariantu gracz opisuje końcową pozycję bez przesuwania figur.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/zobacz-pozycje-koncowa/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "CALC-003-recapture-sequence",
      "title": "Dolicz wymianę do końca",
      "area": "Kalkulacja",
      "claim": "Wymiana jest liczona do chwili ustabilizowania materiału, nie tylko przez pierwsze bicie.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/dolicz-wymiane-do-konca/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=exchange-count#/practice"
        ],
        "lessons": [],
        "errors": [
          "https://szachmaty.pl/pojecia/niekorzystna-wymiana/"
        ]
      }
    },
    {
      "id": "CALC-004-quiet-reply",
      "title": "Szukaj spokojnej obrony",
      "area": "Kalkulacja",
      "claim": "Kalkulacja uwzględnia spokojne odpowiedzi obronne, nie tylko ruchy wymuszające.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/szukaj-spokojnej-obrony/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "CALC-005-comparison",
      "title": "Porównaj pozycje końcowe",
      "area": "Kalkulacja",
      "claim": "Kandydat wygrywa dopiero po porównaniu końcowych pozycji wszystkich policzonych wariantów.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/porownaj-pozycje-koncowe/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "CALC-006-branch-budget",
      "title": "Dopasuj głębokość liczenia",
      "area": "Kalkulacja",
      "claim": "Długość kalkulacji jest dopasowana do wymuszającego charakteru pozycji.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/dopasuj-glebokosc-liczenia/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "CALC-007-hidden-defender",
      "title": "Policz ukrytych obrońców",
      "area": "Kalkulacja",
      "claim": "Przed kombinacją gracz liczy obrońców, przesłony i figury rentgenowskie.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/policz-ukrytych-obroncow/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=pin#/practice",
          "https://szachmaty.pl/?practice=xray#/practice"
        ],
        "lessons": [],
        "errors": [
          "https://szachmaty.pl/pojecia/przeoczone-zwiazanie/"
        ]
      }
    },
    {
      "id": "CALC-008-transfer-position",
      "title": "Sprawdź motyw w nowej pozycji",
      "area": "Kalkulacja",
      "claim": "Opanowanie motywu sprawdza się w nowej geometrii, nie przez powtórzenie tego samego diagramu.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/sprawdz-motyw-w-nowej-pozycji/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "END-001-active-king",
      "title": "Aktywny król w końcówce",
      "area": "Końcówki",
      "claim": "Aktywność króla jest pierwszą ocenianą cechą po znacznym uproszczeniu pozycji.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/aktywny-krol-w-koncowce/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-king-activity#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch6-l7#/lessons"
        ],
        "errors": [
          "https://szachmaty.pl/pojecia/slabosc-w-koncowce/"
        ]
      }
    },
    {
      "id": "END-002-pawn-square",
      "title": "Kwadrat pionka bez liczenia",
      "area": "Końcówki",
      "claim": "Reguła kwadratu jest ćwiczona w rodzinie pozycji z różnym tempem i stroną na ruchu.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/kwadrat-pionka-bez-liczenia/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-square-rule#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch6-l2#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "END-003-key-squares",
      "title": "Kluczowe pola pionka",
      "area": "Końcówki",
      "claim": "Kluczowe pola pionka są rozpoznawane niezależnie od orientacji planszy.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/kluczowe-pola-pionka/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-key-squares#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "END-004-opposition",
      "title": "Opozycja służy celowi",
      "area": "Końcówki",
      "claim": "Opozycja jest środkiem realizacji celu, a nie celem samym w sobie.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/opozycja-sluzy-celowi/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-direct-opposition#/practice",
          "https://szachmaty.pl/?practice=zugzwang#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch6-l1#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "END-005-rook-activity",
      "title": "Aktywna wieża zamiast biernej",
      "area": "Końcówki",
      "claim": "Aktywna wieża i odcięcie króla mają pierwszeństwo przed pasywną obroną pionka.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/aktywna-wieza-zamiast-biernej/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-active-rook#/practice",
          "https://szachmaty.pl/?practice=endgame-cut-off-king#/practice",
          "https://szachmaty.pl/?practice=endgame-rook#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "END-006-rook-behind-pawn",
      "title": "Wieża za wolnym pionem",
      "area": "Końcówki",
      "claim": "Wieża za pionem wolnym jest punktem startu oceny, który trzeba potwierdzić konkretną pozycją.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/wieza-za-wolnym-pionem/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-rook-behind-pawn#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "END-007-lucena-philidor",
      "title": "Rozpoznaj Lucenę i Philidora",
      "area": "Końcówki",
      "claim": "Lucena i Philidor są ćwiczone jako rozpoznanie warunków, a nie zapamiętanie pojedynczego ustawienia.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/rozpoznaj-lucene-i-philidora/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-rook#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch6-l5#/lessons",
          "https://szachmaty.pl/?lesson=ch6-l6#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "END-008-tablebase-proof",
      "title": "Wynik końcówki sprawdzony tablebase",
      "area": "Końcówki",
      "claim": "Każda pozycja końcówkowa z maksymalnie siedmioma figurami otrzymuje niezależnie sprawdzony wynik.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/wynik-koncowki-sprawdzony-tablebase/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=endgame-rook#/practice",
          "https://szachmaty.pl/?practice=endgame-queen#/practice",
          "https://szachmaty.pl/?practice=endgame-knight#/practice",
          "https://szachmaty.pl/?practice=endgame-bishop#/practice",
          "https://szachmaty.pl/?practice=endgame-king-activity#/practice",
          "https://szachmaty.pl/?practice=endgame-direct-opposition#/practice",
          "https://szachmaty.pl/?practice=endgame-key-squares#/practice",
          "https://szachmaty.pl/?practice=endgame-square-rule#/practice",
          "https://szachmaty.pl/?practice=endgame-passed-pawn#/practice",
          "https://szachmaty.pl/?practice=endgame-pawn-race#/practice",
          "https://szachmaty.pl/?practice=endgame-pawn-promotion#/practice",
          "https://szachmaty.pl/?practice=endgame-protected-passer#/practice",
          "https://szachmaty.pl/?practice=endgame-rook-behind-pawn#/practice",
          "https://szachmaty.pl/?practice=endgame-active-rook#/practice",
          "https://szachmaty.pl/?practice=endgame-cut-off-king#/practice",
          "https://szachmaty.pl/?practice=endgame-queen-technique#/practice",
          "https://szachmaty.pl/?practice=endgame-knight-blockade#/practice",
          "https://szachmaty.pl/?practice=endgame-bishop-stops-pawn#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "STRAT-001-imbalances",
      "title": "Plan zaczyna się od różnic",
      "area": "Strategia",
      "claim": "Plan zaczyna się od nazwanych różnic pozycji, nie od ogólnej chęci ataku.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/plan-zaczyna-sie-od-roznic/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "STRAT-002-pawn-structure-plan",
      "title": "Struktura pionków podpowiada plan",
      "area": "Strategia",
      "claim": "Struktura pionkowa ogranicza listę sensownych planów i przełamań.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/struktura-pionkow-podpowiada-plan/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch7-l2#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "STRAT-003-worst-piece",
      "title": "Popraw najgorszą figurę",
      "area": "Strategia",
      "claim": "Najpierw poprawiana jest figura o najmniejszym wpływie na grę.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/popraw-najgorsza-figure/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch7-l6#/lessons"
        ],
        "errors": [
          "https://szachmaty.pl/pojecia/figura-bez-ruchu/"
        ]
      }
    },
    {
      "id": "STRAT-004-open-lines",
      "title": "Ciężkie figury na otwartych liniach",
      "area": "Strategia",
      "claim": "Ciężkie figury są kierowane na otwarte i półotwarte linie zgodnie z konkretnym celem wejścia.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/ciezkie-figury-na-otwartych-liniach/",
      "productLinks": {
        "practice": [],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch7-l4#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "STRAT-005-prophylaxis",
      "title": "Profilaktyka przed własnym planem",
      "area": "Strategia",
      "claim": "Przed realizacją planu gracz nazywa najlepsze ulepszenie pozycji przeciwnika.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/profilaktyka-przed-wlasnym-planem/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch7-l7#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "STRAT-006-good-bad-bishop",
      "title": "Dobry i zły goniec w kontekście",
      "area": "Strategia",
      "claim": "Ocena gońca uwzględnia strukturę pionków i dostępne cele, nie sam kolor pól.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/dobry-i-zly-goniec-w-kontekscie/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch7-l2#/lessons",
          "https://szachmaty.pl/?lesson=ch7-l6#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "STRAT-007-break-timing",
      "title": "Moment przełamania pionowego",
      "area": "Strategia",
      "claim": "Przełamanie pionowe jest oceniane przez przygotowanie figur i zmianę struktury po wymianach.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/moment-przelamania-pionowego/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [
          "https://szachmaty.pl/?lesson=ch7-l2#/lessons",
          "https://szachmaty.pl/?lesson=ch7-l7#/lessons"
        ],
        "errors": []
      }
    },
    {
      "id": "STRAT-008-plan-choice-drill",
      "title": "Wybór planu z uzasadnieniem",
      "area": "Strategia",
      "claim": "Ćwiczenie planu przedstawia kilka wiarygodnych decyzji i wymaga wskazania cech pozycji.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/wybor-planu-z-uzasadnieniem/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "TEACH-001-diagnostic-first",
      "title": "Najpierw krótka diagnoza",
      "area": "Nauczanie",
      "claim": "Ścieżka zaczyna się od krótkiej diagnozy, a nie od tej samej pierwszej lekcji dla wszystkich.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/najpierw-krotka-diagnoza/",
      "productLinks": {
        "practice": [],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "TEACH-002-gated-mastery",
      "title": "Przejście po opanowaniu podstawy",
      "area": "Nauczanie",
      "claim": "Kolejny blok otwiera się po wykonaniu lekcji i minimalnej liczbie poprawnych prób.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/przejscie-po-opanowaniu-podstawy/",
      "productLinks": {
        "practice": [],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "TEACH-003-coach-questions",
      "title": "Pytanie trenera przed odpowiedzią",
      "area": "Nauczanie",
      "claim": "Wyjaśnienie częściej prowadzi pytaniem do odkrycia cechy pozycji, niż podaje gotową odpowiedź.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/pytanie-trenera-przed-odpowiedzia/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice",
          "https://szachmaty.pl/?practice=plan-choice#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "TEACH-004-delayed-check",
      "title": "Powtórka po czasie",
      "area": "Nauczanie",
      "claim": "Zrozumienie jest ponownie sprawdzane po czasie i w zmienionej pozycji.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/powtorka-po-czasie/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=calculation-process#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "GAME-001-decision-stops",
      "title": "Zatrzymuj partię przed decyzją",
      "area": "Partie modelowe",
      "claim": "Partia modelowa zatrzymuje się w kilku momentach, w których gracz wybiera plan lub ruch.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/zatrzymuj-partie-przed-decyzja/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=model-games#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "GAME-002-own-commentary",
      "title": "Własny komentarz do partii",
      "area": "Partie modelowe",
      "claim": "Sekwencja ruchów jest faktem, a komentarz i pytania są tworzone od nowa dla platformy.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/wlasny-komentarz-do-partii/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=model-games#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "GAME-003-theme-over-result",
      "title": "Wybieraj partię pod umiejętność",
      "area": "Partie modelowe",
      "claim": "Partia jest dobierana pod jedną umiejętność, nie wyłącznie pod sławę zawodników.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/wybieraj-partie-pod-umiejetnosc/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=model-games#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    },
    {
      "id": "GAME-004-replay-transfer",
      "title": "Transfer po partii modelowej",
      "area": "Partie modelowe",
      "claim": "Po partii modelowej gracz rozwiązuje nową pozycję opartą na tym samym mechanizmie.",
      "url": "https://szachmaty.pl/biblioteka-wiedzy/transfer-po-partii-modelowej/",
      "productLinks": {
        "practice": [
          "https://szachmaty.pl/?practice=model-games#/practice"
        ],
        "lessons": [],
        "errors": []
      }
    }
  ]
}
