Communitygithub.com

Olexan-art/page-text-to-prompts

Zerlegt den Text einer Webseite in Blöcke (Hero, Vorteile, Funktionsweise, Testimonials, Preise, FAQ, CTA u. a.) und schreibt für jeden Block einen wiederverwendbaren Prompt. Jeder Prompt erstellt denselben Texttyp für ein anderes Produkt und enthält ein überprüftes Beispiel. Nur Text; das Design wird ignoriert. Verwenden Sie dies, wenn der Nutzer eine URL angibt und bittet, den Text einer Landingpage zu analysieren oder nachzubauen, Prompts pro Abschnitt zu erstellen oder zu sehen, wie ein Mitbewerber seinen Text aufbaut.

Was ist page-text-to-prompts?

Diese Fähigkeit (Skill) analysiert den Text öffentlicher Webseiten und erstellt daraus wiederverwendbare Prompts für einzelne Abschnitte wie Hero, Vorteile, Funktionsweise, Testimonials, Preise, FAQ und CTA. Der Fokus liegt ausschließlich auf dem Text; Design, Bilder oder Login-Wände werden ignoriert. Die Fähigkeit unterstützt Node 22, benötigt keine Installation, keinen API-Key und keine manuelle Texterstellung. Stattdessen bieten die Skripte `dist/read.mjs` (zum Lesen und Extrahieren der Textkandidaten) und `dist/build.mjs` (zum Erstellen der Prompts und Beispiele aus einer Analyse-Datei) eine automatisierte Pipeline. Entwickler und KI-Agenten-Nutzer können damit schnell die Textstruktur einer Konkurrenzseite verstehen oder eigene Textblöcke für ein fiktives Produkt generieren lassen – alles auf Basis strenger Regeln zur Vermeidung von Plagiaten (keine 6 aufeinanderfolgenden Wörter aus der Quelle) und ohne Marken- oder Domainnamen zu übernehmen. Die Ausgabe erfolgt als Markdown-, HTML- und JSON-Datei.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Olexan-art/page-text-to-prompts/tree/HEAD/skills/page-text-to-prompts

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Version 1.008.

Seitentext in Prompts umwandeln

Zweck

Die Skripte lesen eine Webseite und zerlegen ihren Text in Kandidatenblöcke. Sie schreiben eine kurze Bewertungsdatei; das Build-Tool wandelt diese in einen Prompt und ein gemessenes Beispiel pro Block um. Nur Text: eine öffentliche Seite, Desktop, kein Login, kein Captcha-Bypass, kein Text in Bildern.

Voraussetzungen

  • Node 22 oder neuer. Keine Installation, kein API-Key. Führen Sie die Skripte in dist/ aus dem Ordner dieser Fähigkeit aus.
  • Netzwerkzugriff von der Shell aus.

Regeln

  • R1. Fragen Sie den Benutzer zuerst nichts. Eine URL reicht aus.
  • R2. Eigene Worte. Keine Zeile, die Sie schreiben, darf 6 aufeinanderfolgende Wörter der Seite wiederholen, Groß-/Kleinschreibung und Interpunktion ignoriert (overlap). Dies gilt für jedes Feld und jedes Beispiel.
  • R3. Nennen Sie nicht die Marke der Seite: Domainname, og:site_name (brand). Verwenden Sie keinen Namen von der Seite.
  • R4. Schreiben Sie analysis.md und jede Eingabedatei mit dem Dateischreibwerkzeug, niemals mit einem Shell-Heredoc. Wenn das Werkzeug sich weigert (einige Umgebungen verweigern .md-Dateien von einem Unteragenten), schreiben Sie die Datei unter einem anderen Namen und kopieren Sie sie mit cp.
  • R5. Erstellen Sie die Arbeit der Skripte niemals von Hand nach. Zählen Sie keine Wörter oder Zeichen. Schreiben Sie keine Prompts.
  • R6. Erfinden Sie keine Fakten. Schreiben Sie keinen russischen Text. Die Skripte rufen kein Modell auf.

Vorgehen

Jeder Pfad unten kann auf ein beliebiges beschreibbares Verzeichnis zeigen; work/ ist der Standard, keine Regel.

  1. Lesen (Skript). node dist/read.mjs <url> --out work/page.json
    • Optionen: --no-render (nur Quell-HTML), --lang <code> (Entwurfssprache).
    • Ergebnis: in work/, brief.md (dies lesen), analysis.md (der Entwurf, 1 Überschrift pro Kandidat mit einem geschätzten Typ) und page.json (für den Build; nicht öffnen). Wenn analysis.md existiert, geht der Entwurf nach analysis.draft.md.
    • brief.md hat 1 Zeile pro Element: Typ, Wortanzahl, Status (js_only, collapsed, not_in_a11y, oder keiner für ok), Text, gruppiert nach Kandidat bNN. [g3#2] ist Karte 2 der Gruppe g3.
    • Zeit: 5 bis 30 Sekunden. Der Render-Vorgang stoppt nach 45 Sekunden und das Lesen wird mit dem HTML fortgesetzt.
    • Bei Fehler: REFUSED <code> (Exit 2): Stoppen und Benutzer informieren (siehe Verweigerungscodes). Wenn die Skripte nicht ausgeführt werden können (kein Node 22, keine Shell, kein Netzwerk), den Benutzer in 1 Zeile informieren und die Route für gespeicherte Seiten anbieten.
  2. work/analysis.md ausfüllen (Bewertung). Siehe nächsten Abschnitt. Schreiben Sie auf Englisch oder in der vom Benutzer gewünschten Sprache, mit deren Code in language:.
  3. Build (Skript). node dist/build.mjs work/page.json work/analysis.md --html work/report.html --md work/page-prompts.md --json work/page-prompts.json
    • Ergebnis: die 3 Dateien und checks: 5 of 5 passed. Beispiele außerhalb ihres Bereichs sind nur Warnungen.
    • Bei Fehler: REFUSED listet jedes Problem mit seiner Prüfung auf: overlap (R2), brand (R3), volume (kein Wortbereich), variables (nicht deklarierte {name}), blocks (fehlender, unbekannter oder doppelt verwendeter Kandidat), schema (fehlendes Feld oder unzulässiger Wert) oder eine Zeile, die nicht gelesen werden kann. Korrigieren Sie nur die aufgeführten Zeilen und führen Sie den Build erneut aus.

analysis.md

Übernehmen Sie die Wortanzahlen aus brief.md und schreiben Sie Bereiche darum. Lassen Sie Zeichenbereiche weg.

language: de
example_product: eine fiktive Buchungs-App für kleine Pilates-Studios
page_type: SaaS-Landingpage
audience: Inhaber kleiner Studios, die Buchungen per Chat entgegennehmen
awareness: comparing_solutions
tone: geschäftlich, warm; Formalität 2; Sie
promise: {product} gibt {audience} {main_benefit} ohne {pain}.
logic: Ergebnis und erster Schritt zuerst, dann Beweise, die Schritte vor den Preisen
threads:
- Das Versprechen, keine Anrufe mehr zu erhalten, taucht im Hero, in den Schritten und im abschließenden Call-to-Action wieder auf

## p01 hero | Hero | b01
role: Innerhalb von fünf Sekunden zeigen, was sich für den Leser ändert, und den ersten Schritt anbieten
- eyebrow | 3-5 | die wichtigste Änderung für den Leser | Keine Buchungsanrufe mehr
- h1 "Überschrift" | 7-11 | das Ergebnis für {audience}, ohne den Produktnamen | Kunden buchen einen Reformer, Sie bleiben bei der Klasse
- button | 2-4 | Verb + Objekt, die Aktion {cta_action} | Buchungen einrichten
- risk_line | 5-8 | {risk_remover} | Kostenlos starten, jederzeit kündbar
techniques:
- Lassen Sie den Namen von {product} aus der Überschrift; er taucht erst im Untertitel auf.
tone: geschäftlich, warm; Sie
avoid: "innovativ"; eine Frage als Überschrift

## p07 pricing | Preise | b07
role: Dem Leser helfen, einen Plan auszuwählen, und zeigen, dass der Preis zur Studiogröße passt
- h2 | 4-8 | der Preis, gebunden an die Größe des Lesers | Bezahlen Sie nach Ihrer Größe
- 3 x plan "Plan":
  - h3 | 1-3 | die Studiogröße | Einzelraum
  - price | 1-3 | {plan_n} | [Preis] / Mo.
  - items 3 | 2-6 | was enthalten ist, das Wichtigste zuerst | Selbstbedienungs-Reservierungen / Kunden-Erinnerungen / Karten-Checkout
techniken:
- Nennen Sie die Pläne nach der Studiogröße, nicht nach Stufen wie Basic oder Pro.

Zulässige Werte (der Build lehnt andere ab):

  • awareness: unaware, problem_aware, comparing_solutions, product_aware, ready_to_buy.
  • Blocktyp: hero, social_proof_logos, problem, solution, features, benefits, how_it_works, use_cases, testimonials, case_study, stats, comparison, pricing, faq, guarantee, about, team, cta, lead_form, newsletter, other. Für other ist eine Zeile reason: erforderlich.
  • formality: 1 Ziffer, 1 bis 5 (der Bericht zeigt „N von 5“; wird nicht abgelehnt).
  • language: ein ISO-Code; uk gibt ukrainische Prompts, jeder andere Code englische Prompts.
  • page_type: Freitext.
  • Variablen: product, category, audience, language, pain, pain_n, main_benefit, benefit_n, feature_n, step_n, use_case_n, alternative, objection_n, cta_action; Fakten risk_remover, outcome_number, customer_count, customer_n, testimonial_n, plan_n, guarantee, deadline. Deklarieren Sie eine neue unter vars: als - name: was hineinkommt, mit [fact] für eine Tatsache.

Erforderlich: language, example_product, page_type, audience, awareness, promise, logic; pro Block ein Typ, ein Name, role, 1 oder mehr Elemente, 1 oder mehr Techniken.

Zeilenformate:

  • Element: code "Beschriftung" | Wörter | muss | Beispiel. muss wird zu dieser Zeile des Prompts.
  • Gruppe: N x code "Beschriftung": mit eingerückten Kindern; das Beispiel ist 1 Karte. Gruppen verschachteln sich nicht.
  • Liste: items N; trennen Sie Beispiel-Elemente mit /.
  • Kandidaten zusammenführen: | b03 b04 in der Kopfzeile. Einen entfernen: drop: b10 <Grund> in der Nähe des Anfangs.

Am häufigsten gebrochene Regeln:

  • 1 Block, 1 Aufgabe. Lassen Sie dekorativen Text weg (Widget-Beschriftungen, Zähler).
  • Jeder Kandidat gehört in genau 1 Block oder wird entfernt. Ein Kandidat kann nicht aufgeteilt werden.
  • Ein sehr großer Kandidat (z. B. ein 1.400-Wörter-Artikel mit vielen Unterabschnitten) bleibt 1 Block: Schreiben Sie seine wiederholten Unterabschnitte als 1 Gruppe, z. B. 5 x section "Abschnitt": mit h3 und text. Verwenden Sie den nächstgelegenen Typ oder other.
  • Techniken sind Anweisungen, keine Beschriftungen: nicht „verwendet PAS“, sondern „nennen Sie das Problem in 1 Satz, seine Kosten im zweiten, {product} im dritten“. Nur was der Text tut.
  • Das Beispiel ist der Block für 1 fiktives Produkt. In der Nähe des Bereichs ist ausreichend.

Überprüfung

  • Jeder Kandidat ist in 1 Block oder entfernt.
  • Der finale Build hat kein REFUSED ausgegeben.
  • work/report.html existiert.

Bericht anzeigen

  • Wenn der Benutzer oder Aufrufer gesagt hat, nichts zu veröffentlichen oder zu öffnen, stoppen Sie, wenn report.html existiert, und geben Sie den Pfad an.
  • Andernfalls veröffentlichen Sie report.html, wenn diese Sitzung HTML veröffentlichen kann; wenn nicht, geben Sie den absoluten Pfad an.
  • Der Bericht öffnet sich auf Englisch mit einem EN / UK-Schalter; #lang=uk öffnet ihn auf Ukrainisch.

Chat-Zusammenfassung

  • Die Anzahl der Blöcke, das Grundgerüst, 1 oder 2 nützliche Techniken.
  • Wichtige Sichtbarkeitshinweise: Nur Text nach JavaScript, eingeklappte FAQ-Antworten.
  • Fügen Sie nicht jeden Prompt ein. Wenn der Benutzer nach 1 Block gefragt hat, zeigen Sie dessen Prompt und Beispiel.
  • Sagen Sie einmal: Die Blöcke und der Wortlaut sind Ihre Lesart; die Ebenen, Zählungen und Prüfungen stammen von den Skripten.

Verweigerungscodes

Route für gespeicherte Seiten: node dist/read.mjs --file saved.html --url <Adresse> --out work/page.json.

CodeBenutzer informieren
invalid_url, blocked_scheme, blocked_host, blocked_addressKeine öffentliche Webadresse.
unreachable, http_error, blockedDie Seite hat nicht geantwortet oder automatisierte Lesegeräte abgelehnt (blocked: HTTP 401, 403 oder 429). Bieten Sie die Route für gespeicherte Seiten an.
challengeEin Captcha oder Bot-Check. Nicht umgehen; bieten Sie die Route für gespeicherte Seiten an.
not_html, too_large, emptyKeine lesbare Webseite oder kein Text (wahrscheinlich Bilder).
refused_ru_domain, refused_ru_hosting, refused_ru_audience, refused_language_ruNicht analysiert: eine Seite auf Russisch oder eine Seite in der Domainzone Russlands, gehostet in Russland oder mit einer russischsprachigen Version. Entscheidung des Herausgebers.

Referenzen

DateiLesen, wenn
references/block-types.mdSie sich bei einem Blocktyp unsicher sind.
references/variables.mdSie eine {variable} benötigen oder eine hinzufügen.
references/analysis-schema.mdSie das vollständige Format oder die JSON-Form benötigen.

Verwandte Skills