BeClaude

feedback-page

New
6GitHub TrendingDocumentationby simplybychris

Generuje interaktywną stronę HTML do zbierania feedbacku na treści: artykuł, wpis blogowy, newsletter, landing page albo dowolną stronę wygenerowaną przez AI. Użytkownik zaznacza fragmenty myszką, dopisuje komentarze w dymkach i klika "Wyślij", a feedback wraca prosto do Claude (przez lokalny serwer) gotowy do naniesienia poprawek. Użyj ZAWSZE, gdy użytkownik chce "nanieść uwagi", "dać feedback do tekstu/strony", "zaznaczyć i skomentować fragmenty", "podejrzeć jak markdown wygląda na blogu i go poprawić", "zrobić stronę do recenzji treści", albo poprosi o interaktywny podgląd artykułu/strony do komentowania - nawet jeśli nie powie wprost "feedback-page". Działa na plikach .md (renderuje jak na blogu) i .html (wstrzykuje warstwę komentarzy do istniejącej strony).

Community PluginView Source

Overview

Feedback Page

Zamienia dowolną treść w interaktywną stronę do zbierania uwag. Użytkownik zaznacza tekst, komentuje w dymku, a komplet uwag wraca do Ciebie gotowy do wdrożenia. Eliminuje rundy "w trzecim akapicie zmień X, a w tabeli Y" - widzisz dokładnie który fragment i jaką ma mieć poprawkę.

Kiedy używać

  • Użytkownik napisał/wygenerował treść (artykuł, mail, wpis, landing, stronę z AI) i chce ją zrecenzować zaznaczając fragmenty.
  • Chce zobaczyć, jak markdown wyrenderuje się na blogu, i przy okazji nanieść poprawki.
  • Mówi "daj mi nanieść uwagi", "chcę skomentować fragmenty", "zrób podgląd do feedbacku".

Jak to działa (architektura)

Dwa kawałki:

  1. scripts/build_feedback_page.py - bierze plik wejściowy i produkuje samodzielną stronę HTML

z wbudowaną warstwą komentarzy (assets/feedback_layer.html). - Wejście .md → renderuje markdown przez marked.js w neutralnym szablonie blogowym (jasne tło, GitHub-style code blocki — bez branding-u, działa na każdej treści). - Wejście .html → wstrzykuje warstwę komentarzy przed </body> istniejącej strony, nie ruszając jej wyglądu. Tak komentuje się strony wygenerowane przez AI.

  1. scripts/feedback_server.py - serwuje stronę pod http://localhost:PORT/ i nasłuchuje na

POST /__fp_submit__. Gdy użytkownik klika "Wyślij", zapisuje feedback do pliku JSON i kończy pracę. Zakończenie procesu w tle automatycznie wznawia Claude Code - czytasz JSON i nanosisz poprawki. Bez kopiuj-wklej.

Strona ma fallback: jeśli serwer nie działa (np. ktoś otworzył sam plik file://), "Wyślij" pobiera feedback.json do Pobranych i kopiuje do schowka. Wtedy czytasz plik z ~/Downloads albo użytkownik wkleja treść.

Procedura

Krok 1: zbuduj stronę

bash
python ~/.claude/skills/feedback-page/scripts/build_feedback_page.py \
  --input /ścieżka/do/tresci.md \
  --title "Tytuł (opcjonalnie, tryb md)"

Skrypt wypisuje ścieżkę wygenerowanej strony (domyślnie <nazwa>_feedback.html obok wejścia).

Krok 2: uruchom serwer w tle i otwórz przeglądarkę

Uruchom serwer przez Bash z run_in_background: true. Plik wyjściowy feedback.json umieść obok treści (łatwo go potem znaleźć):

bash
python ~/.claude/skills/feedback-page/scripts/feedback_server.py \
  --page /ścieżka/do/tresci_feedback.html \
  --out /ścieżka/do/feedback.json \
  --open

Serwer wypisze FEEDBACK_URL http://localhost:PORT/ i otworzy przeglądarkę. Powiedz użytkownikowi krótko jak korzystać: zaznacz tekst → "💬 Skomentuj" → wpisz uwagę → na końcu "Wyślij feedback". Zakończ swoją turę - gdy użytkownik kliknie "Wyślij", proces serwera zakończy się i zostaniesz automatycznie wznowiony.

Krok 3: odczytaj feedback i nanieś poprawki do nowej wersji

Po wznowieniu (proces serwera wypisał FEEDBACK_RECEIVED ... i zakończył się) przeczytaj feedback.json:

json
{
  "source": "tresci.md",
  "created": "2026-...",
  "comments": [
    {"id": 1, "quote": "zaznaczony fragment", "comment": "co zmienić"},
    {"id": 2, "quote": "inny fragment", "comment": "uwaga"}
  ],
  "general": "uwaga ogólna do całości"
}

Każdy quote to dokładny fragment, którego dotyczy comment. general to uwaga do całości.

WAŻNE — DOMYŚLNE WERSJONOWANIE (nie nadpisuj oryginału):

Każda runda feedbacku produkuje nową wersję pliku, oryginał zostaje nietknięty. To pozwala porównywać iteracje, cofnąć się o jedną wersję i mieć czysty audit trail rund poprawek.

Konwencja nazw (auto-bump):

Plik wejściowyNowa wersja
scenariusz.mdscenariusz-v2.md (przyjmujemy że bazowy to v1)
scenariusz-v2.mdscenariusz-v3.md
scenariusz-v3.mdscenariusz-v4.md
tresc.htmltresc-v2.html

Procedura:

  1. Sprawdź nazwę pliku źródłowego — jeśli kończy się na -vN.<ext>, nowa wersja to -v(N+1).<ext>.

Jeśli nie ma sufiksu wersji, nowa to -v2.<ext> (zakładamy że oryginał to v1).

  1. Skopiuj plik źródłowy do nowej nazwy, dopiero potem nanieś wszystkie poprawki z feedback.json

na kopię. Oryginał zostaje bez zmian.

  1. Jeśli plik docelowy już istnieje (np. -v2.md jest już zajęty), bumpuj dalej (-v3.md itd.).
  2. Na końcu powiedz krótko użytkownikowi co powstało: scenariusz.md → scenariusz-v2.md (12 zmian).

Nadpisz oryginał TYLKO gdy użytkownik wprost o to poprosi („nadpisz", „bez wersji", „zmodyfikuj plik źródłowy"). W przeciwnym razie zawsze nowa wersja.

Jeśli serwer zakończył się z TIMEOUT albo użytkownik mówi, że użył fallbacku, poszukaj ~/Downloads/feedback.json (lub poproś o wklejenie).

Wskazówki

  • Strona jest samodzielna (CSS i JS w środku). Jedyna zależność zewnętrzna to marked.js z CDN

w trybie markdown - wymaga internetu do renderowania. Tryb HTML nie potrzebuje CDN.

  • Warstwa komentarzy ma prefiks fp- na klasach/id, żeby nie kolidować ze stylami strony.

Selekcja jest ograniczona do treści ([data-feedback-root], #fp-content, albo body przy stronach HTML) i pomija własne UI feedbacku.

  • Highlight działa też dla zaznaczeń przez wiele elementów. Gdyby gdzieś "nie chwycił" wizualnie,

cytat i tak trafia do panelu - feedback nigdy nie przepada.

  • Po naniesieniu poprawek warto wygenerować stronę ponownie, żeby użytkownik zrobił kolejną rundę.
  • Nie czytaj pliku transkryptu serwera przez shell jeśli działa w tle; czekaj na notyfikację o

zakończeniu procesu, a wtedy czytaj feedback.json.

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/feedback-page.md https://raw.githubusercontent.com/simplybychris/feedback-page/main/SKILL.md
3
Invoke in Claude Code
/feedback-page
View source on GitHub

Frequently Asked Questions

What is feedback-page?

Generuje interaktywną stronę HTML do zbierania feedbacku na treści: artykuł, wpis blogowy, newsletter, landing page albo dowolną stronę wygenerowaną przez AI. Użytkownik zaznacza fragmenty myszką, dopisuje komentarze w dymkach i klika "Wyślij", a feedback wraca prosto do Claude (przez lokalny serwer) gotowy do naniesienia poprawek. Użyj ZAWSZE, gdy użytkownik chce "nanieść uwagi", "dać feedback do tekstu/strony", "zaznaczyć i skomentować fragmenty", "podejrzeć jak markdown wygląda na blogu i go poprawić", "zrobić stronę do recenzji treści", albo poprosi o interaktywny podgląd artykułu/strony do komentowania - nawet jeśli nie powie wprost "feedback-page". Działa na plikach .md (renderuje jak na blogu) i .html (wstrzykuje warstwę komentarzy do istniejącej strony).

How to install feedback-page?

To install feedback-page, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /feedback-page.

What is feedback-page best for?

feedback-page is a community categorized under Documentation. Created by simplybychris.