CommunityCodierung & Entwicklunggithub.com

ummydev/ai-search

Optimiert eine Website, damit KI-Assistenten (ChatGPT, Claude, Perplexity, Gemini, Copilot, Google AI Overviews) das Produkt korrekt beschreiben und zitieren. Deckt llms.txt, robots.txt für KI-Crawler, Definitionssätze, Vergleichstabellen und FAQ, öffentliche Preise, strukturierte Daten für Organisation und Website sowie Markennamen ab.

Was ist ai-search?

Diese Fähigkeit optimiert Produktseiten für die Zitierung durch große Sprachmodelle und KI-Suchmaschinen. Sie stellt sicher, dass ein KI-Assistent bei einer Suchanfrage wie „Was ist X?“, „X Preise“ oder „bestes Tool für Y“ die richtigen Fakten in Klartext auf der Seite vorfindet. Der zentrale Grundsatz lautet: Jede Tatsache wird einmal geschrieben und automatisch auf allen Ausgabekanälen (Webseite, llms.txt, strukturierte Daten) gerendert. Die Fähigkeit unterstützt alle wichtigen KI-Plattformen wie ChatGPT, Claude, Perplexity, Gemini, Copilot und Google AI Overviews. Sie besteht aus einer Reihe von Schritten: Erstellen eines Faktenblatts, Generieren einer /llms.txt-Datei, Hinzufügen einer /llms-full.txt, Anpassen der robots.txt, Einfügen eines einleitenden Definitionssatzes auf jeder Schlüsselseite, Erstellen von datierten Vergleichstabellen und FAQs, Veröffentlichen der Preisgestaltung sowie Einfügen von strukturierten Daten (Organization, WebSite, SoftwareApplication), um Markennamenskollisionen zu vermeiden. Ein abschließender Check stellt sicher, dass die Antworten der Assistenten regelmäßig überprüft und fehlerhafte Fakten korrigiert werden. Die Fähigkeit ist nützlich, wenn ein Produkt von KI-Assistenten falsch beschrieben wird, nicht in den Suchergebnissen erscheint oder unter einer Namensverwechslung leidet.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/ummydev/marketing-team-skills/tree/HEAD/skills/ai-search

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

KI-Suche

Ein Assistent, der „Was ist X“, „X-Preise“ oder „bestes Tool für Y“ beantwortet, ruft eine Handvoll Seiten ab, entnimmt Sätze und Tabellenzeilen und zitiert sie. Wenn eine Tatsache nicht als Klartext auf der Seite steht, rät der Assistent oder zitiert denjenigen, der sie aufgeschrieben hat. Die Aufgabe: das Produkt so gestalten, dass es mit einem einzigen Abruf korrekt beschrieben werden kann.

Ein Prinzip zieht sich durch jeden Schritt: Schreibe jede Tatsache einmal und rendere sie überall. Die Definition, der Status (Beta, für Anmeldungen geöffnet, allgemein verfügbar), die Preisgestaltung, unterstützte Plattformen und wichtige URLs leben in einer Quelldatei; Seiten, llms.txt und strukturierte Daten lesen daraus. Von Hand kopierte Fakten driften auseinander.

Arbeitsablauf

1. Das Faktenblatt erstellen

Erstelle content/facts.ts (oder JSON/YAML) mit: Name und alternative Namen, die Ein-Satz-Definition, Zielgruppe, Status, Pläne und Preise, Plattformen oder Integrationen, wichtige Seiten-URLs und offizielle Profile (GitHub, X, LinkedIn, Product Hunt). Prüfe jeden Punkt am Live-Produkt, bevor du ihn schreibst.

2. /llms.txt veröffentlichen

Befolge llmstxt.org: Eine H1 mit dem Namen, ein Blockquote-Zusammenfassung, einige einfache Fakten, dann H2-Abschnitte mit Links, geschrieben als - [Titel](url): was abgedeckt wird. Ein Abschnitt mit dem Titel Optional markiert Links, die ein Assistent überspringen kann.

# Acme AI

> Acme AI ist ein Rechnungsabgleichstool, das Stripe-Auszahlungen mit Bankeinzahlungen für kleine Finanzteams abgleicht. Es läuft im Browser und verbindet sich mit Stripe und Plaid.

- Für wen: Finanzverantwortliche in Unternehmen mit 1–50 Personen, die Auszahlungen manuell abgleichen.
- Status: Für Anmeldungen geöffnet (seit 2026-11).
- Preise (https://acme.example/pricing): Kostenlos, 0 $, bis zu 50 Rechnungen pro Monat; Pro, 29 $/Monat, unbegrenzte Rechnungen; Team, 79 $/Monat, bis zu 10 Sitze. Preise in USD.
- Nicht zu verwechseln mit: Acme Anvil, einem nicht verwandten Hardware-Unternehmen.

## Wichtige Seiten
- [Preise](https://acme.example/pricing): Pläne, Limits und was enthalten ist.
- [Acme AI vs. Konkurrenz](https://acme.example/vs/rival): Funktions- und Preisvergleich, geprüft am 2026-11-06.

## FAQ
- Ist Acme AI kostenlos? Ja, bis zu 50 Rechnungen pro Monat. Pro und Team sind kostenpflichtig.

## Optional
- [Blog](https://acme.example/blog): Produktupdates und Anleitungen.

Generiere es aus dem Faktenblatt und den Seitendaten (ein Routen-Handler oder Build-Skript), damit eine neue Seite erscheint, ohne dass manuell eingegriffen werden muss. Serviere es mit Status 200, als text/plain oder text/markdown; charset=utf-8, ohne Login, Weiterleitung oder JavaScript. Prüfe:

curl -sI https://acme.example/llms.txt | head -5        # 200 und ein text content type
curl -s  https://acme.example/llms.txt | head -30

3. Optional /llms-full.txt hinzufügen

Der vollständige Markdown-Text der Seiten, die am meisten zitiert werden sollen (Produkt, Preise, Vergleiche, Dokumentation), jede unter einer eigenen # Überschrift mit einer Source: <url>-Zeile. Generiere es zur Build-Zeit. Lasse das Blog-Archiv und alles Veraltete weg.

4. Darauf verlinken

Setze einen einfachen llms.txt-Link in die Fußzeile und optional <link rel="alternate" type="text/markdown" href="/llms.txt"> in den <head>. Eine Datei, auf die nichts verlinkt, wird nur von Crawlern gefunden, die den Pfad erraten.

5. KI-Crawler hereinlassen (robots.txt und das CDN)

User-AgentBesitzerVerwendung
OAI-SearchBotOpenAIChatGPT-Suchindex
ChatGPT-UserOpenAIAbrufen einer Seite, nach der ein Benutzer gefragt hat
GPTBotOpenAIModelltraining
Claude-SearchBot / Claude-User / ClaudeBotAnthropicSuchindex / Benutzerabrufe / Training
PerplexityBot / Perplexity-UserPerplexitySuchindex / Benutzerabrufe
Google-ExtendedGoogleToken für Gemini-Training und Grounding; hat keinen Einfluss auf Google Suche oder KI-Übersichten
BingbotMicrosoftBing-Index, aus dem Copilot Antworten bezieht

Die Such- und Benutzerabruf-Agenten entscheiden, ob du zitiert werden kannst. Trainingsagenten sind eine geschäftliche Entscheidung; ein Produkt, das empfohlen werden soll, erlaubt sie normalerweise auch.

User-agent: *
Allow: /
Disallow: /api/
Disallow: /app/

User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: GPTBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: ClaudeBot
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
Allow: /
Disallow: /api/
Disallow: /app/

Sitemap: https://acme.example/sitemap.xml

Ein Crawler gehorcht nur der Gruppe, die ihn benennt, daher muss eine benannte Gruppe jede Disallow-Anweisung wiederholen, sonst öffnest du deine privaten Pfade. robots.txt kann auch das CDN nicht überschreiben: Einige bieten einen Schalter „KI-Bots blockieren“, der unabhängig von robots.txt einen 403 zurückgibt. Prüfe stichprobenartig und bestätige dann echte Crawler-Treffer im Bot-Bericht des CDN oder in den Server-Logs (CDNs, die Bot-IPs verifizieren, können einen gefälschten User-Agent anders behandeln):

curl -s -o /dev/null -w '%{http_code}\n' -A 'Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)' https://acme.example/pricing

6. Setze einen Ein-Satz-Definition an den Anfang jeder Schlüsselseite

Direkt unter der H1, im serverseitig gerenderten HTML: „ ist eine , die für durchführt.“ Der zweite Satz nennt das Unterscheidungsmerkmal. Verwende denselben Satz auf der Startseite, in der llms.txt, in Organization.description, in Branchenverzeichnissen und in Social-Bios. Ein Slogan („Finanzen, neu gedacht“) gibt einem Assistenten nichts zum Zitieren. Viele KI-Fetcher führen kein JavaScript aus, überprüfe daher das rohe HTML:

curl -s https://acme.example/ | grep -c "is an invoice-matching tool"     # Erwarte 1 oder mehr

7. Vergleichstabellen und FAQ

  • Tabellen: eine echte HTML <table>, eine Zeile pro Produkt, Spalten mit den Fragen der Käufer (Preis, Plattformen, Open Source, Hauptlimit). Datieren („Geprüft am 2026-11-06“). Nimm jede Tatsache von der eigenen Website des Anbieters, der Dokumentation, der Preisseite oder der GitHub-API. Schreibe „Nicht veröffentlicht“, wenn ein Anbieter etwas nicht veröffentlicht; schätze niemals.
  • FAQ: die Frage als Überschrift, in den Worten des Suchenden; eine Antwort von 2–4 Sätzen, die für sich allein steht, wobei der erste Satz die Frage beantwortet. Deck die Fragen ab, die Assistenten falsch beantworten: Preis, „ist es kostenlos“, „funktioniert es mit X“, „ist es dasselbe wie “. FAQPage-Markup ist optional; das sichtbare Q&A wird zitiert.

8. Preise öffentlich machen

Eine /pricing-Seite mit Plannamen, Preisen, Währung, Abrechnungszeitraum und Limits als Text, nicht nur in einem Bild oder Rechner. Spiegele es in llms.txt und in SoftwareApplication.offers wider. Antworten und Branchenverzeichnisse benötigen einen Preis oder ein Preismodell (kostenlos, Freemium, kostenpflichtig); ohne einen raten sie oder überspringen dich. Wenn kostenpflichtige Pläne noch nicht live sind, sag es („Pro: bald verfügbar; bis dahin ist alles kostenlos“).

{ "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "Acme AI",
  "applicationCategory": "BusinessApplication", "operatingSystem": "Web",
  "offers": [ { "@type": "Offer", "name": "Kostenlos", "price": "0", "priceCurrency": "USD" },
              { "@type": "Offer", "name": "Pro", "price": "29", "priceCurrency": "USD" } ] }

9. Organisations- und Websitedaten bei Namenskollisionen

Wenn die Suche nach deinem reinen Markennamen zuerst ein anderes Produkt ausgibt, wähle eine eindeutige Form („Acme AI“) und verwende sie überall, mit strukturierten Daten, die die Varianten mit einer Entität verknüpfen:

{ "@context": "https://schema.org", "@type": "Organization",
  "name": "Acme AI", "alternateName": ["Acme", "acme.example"],
  "url": "https://acme.example/", "logo": "https://acme.example/logo.png",
  "description": "Acme AI ist ein Rechnungsabgleichstool, das Stripe-Auszahlungen mit Bankeinzahlungen für kleine Finanzteams abgleicht.",
  "sameAs": ["https://github.com/acme-ai", "https://x.com/acmeai", "https://www.linkedin.com/company/acme-ai"] }

Füge ein WebSite-Objekt mit demselben name und alternateName hinzu; Google verwendet es für den Site-Namen in den Ergebnissen. Gib in sameAs nur Profile an, die du kontrollierst und die zurück zur Website verlinken.

10. Das Marken-Suffix konsistent halten

Ein Suffix überall: | Acme AI in Titeln, derselbe String in og:site_name, der H1 von llms.txt, Social-Bios und der GitHub-Organisation. Halte Titel innerhalb von 60 Zeichen (etwa 30 für Chinesisch, Japanisch und Koreanisch), das Keyword zuerst; füge das Suffix nur hinzu, wenn es passt.

11. Prüfen, was Assistenten tatsächlich sagen

Monatlich und nach großen Änderungen frage 5–10 Prompts manuell in ChatGPT (Suche eingeschaltet), Perplexity, Claude, Gemini und Copilot: „Was ist Acme AI?“, „Acme AI Preise“, „bestes für “, „ Alternativen“, „Acme AI vs. ". Ein Prompt nach dem anderen in der normalen Oberfläche; skripte keine Chat-UIs. Protokolliere Datum, Assistent, Prompt, ob du erwähnt wirst, welche URL zitiert wird und alle falschen Fakten in docs/seo/ai-answers.md. Korrigiere die Quellseite hinter jeder falschen Tatsache und überprüfe erneut. Für den Traffic segmentiere die Analysen nach Referrer: chatgpt.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com.

Checkliste

  • Faktenblatt existiert; Seiten, llms.txt und JSON-LD lesen daraus
  • /llms.txt gibt 200 als Text zurück, wird generiert und ist in der Fußzeile verlinkt
  • robots.txt erlaubt die KI-Agenten und wiederholt die Disallows; CDN blockiert sie nicht
  • Jede Schlüsselseite beginnt mit einem Ein-Satz-Definition im rohen HTML
  • Vergleichstabellen sind datiert und mit Quellenangaben versehen; Unbekanntes sagt „Nicht veröffentlicht“
  • FAQ-Antworten stehen allein und decken Preis, „ist es kostenlos“ und Namensverwirrung ab
  • /pricing ist öffentlich; llms.txt und offers stimmen damit überein
  • Organization und WebSite tragen Name, alternateName, description und sameAs
  • Ein Marken-Suffix überall; Titel innerhalb von 60 Zeichen
  • Assistentenantworten werden protokolliert; falsche Fakten werden auf eine Seite zurückverfolgt und korrigiert

Fallstricke, auf die wir gestoßen sind

  • Keine öffentlichen Preise. /pricing gab 404 zurück, llms.txt und SoftwareApplication hatten keine Angebote, und unsere eigene Vergleichstabelle musste für uns „Nicht veröffentlicht“ sagen. Eine /pricing-Seite mit drei Plänen in Textform, gespiegelt in llms.txt und offers, hat das behoben; kostenpflichtige Stufen sind mit „bald verfügbar“ gekennzeichnet.
  • Statusdrift. Nachdem die Anmeldungen geöffnet wurden, hieß es in etwa 300 Dateien in 9 Sprachen, einschließlich llms.txt, immer noch „Early Access“. Der Status kommt jetzt aus einer Konstante.
  • Eine Datei, auf die niemand verlinkt. Ein Audit ergab, dass keine Seite auf llms.txt verlinkt, keine llms-full.txt existiert und kein lastmod in der Sitemap vorhanden ist.
  • Überschreibung der robots.txt-Gruppe. Wenn man KI-Crawlern eine eigene Gruppe gibt, ohne die Disallows zu wiederholen, wären ihnen die API- und Anmeldepfade geöffnet worden.
  • Markenkollision. Die Suche nach unserem reinen Markennamen ergab zuerst eine gleichnamige Personalplanungs-App. Wir haben in Titeln, alternateName und sameAs auf „ AI“ umgestellt.
  • Abgeschnittene, inkonsistente Titel. 49 englische Titel waren 57–88 Zeichen lang mit gemischten Suffixen. Wir haben sie auf 60 oder weniger gekürzt, das Keyword zuerst, Suffix nur, wenn es passt.
  • Unzuverlässige Abrufe von Wettbewerberseiten. Der Abruf einer Wettbewerber-Preisseite durch einen Recherche-Subagenten lieferte etwas, das manipuliert aussah; wir haben es in einem echten Browser bestätigt, bevor wir es veröffentlicht haben. Die Preisseite eines anderen Anbieters gab 403 für den Fetcher zurück, also haben wir die Preise aus deren Dokumentation entnommen und angegeben, woher sie stammen.
  • Zu frühes Schreiben von „kostenlos“. Bis die Preise veröffentlicht waren, haben wir „nicht veröffentlicht“ geschrieben, nicht „kostenlos“. Ein Assistent wiederholt, was auf der Seite steht.

Verwandte Fähigkeiten

  • seo-page: die Seitenvorlage, in der die Definition, Tabelle und FAQ leben.
  • competitor-pages: Vergleichs- und Alternativseiten, die Assistenten stark zitieren.
  • programmatic-pages: Generieren von llms.txt-Abschnitten und strukturierten Daten in großem Maßstab.
  • multilingual-seo: Lokalisierte Definitionen, Titel und Suffixlänge pro Sprache.
  • keyword-research, trend-keywords: die zu beantwortenden Fragen und die zu testenden Prompts.
  • index-push: die Seiten crawlen lassen; der Bing-Index speist Copilot.
  • seo-daily-report: KI-vermittelte Besuche als eigene Zeile im Bericht.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

ummydev/index-push

When the user wants to get new or changed pages crawled and indexed by Google and Bing quickly, instead of waiting weeks for the sitemap to be read. Use after any deploy that adds or updates pages, and when the user says "get this indexed", "request indexing", "submit to Google", "submit URLs to Bing", "IndexNow", "ping search engines", "resubmit the sitemap", "why isn't my page indexed", "Discovered – currently not indexed", "URL is unknown to Google", "Quota Exceeded in Search Console" or "indexing queue". Covers IndexNow, Search Console URL Inspection and sitemaps, Bing Webmaster URL submission, a prioritized queue file, and diagnosing pages that stay out of the index.

ummydev/remotion-video

When the user wants to make a vertical promo video of their own software product in code with Remotion, rebuilding the product's real UI instead of screen-recording it, with a TTS voice-over, captions timed to the voice and camera moves that zoom into details. Use when the user says "Remotion", "make a product video", "faceless demo video", "UI motion video", "programmatic video", "product reel", "animate our UI", "render the video", or wants a TikTok or Reels video about their app that an agent can re-render after every change.

ummydev/short-video-formats

When the user wants to choose or plan the format of a promo short video for TikTok, Instagram Reels, YouTube Shorts or Xiaohongshu, especially for a software product, dev tool or AI agent. Covers the four formats that carry this category (talking head over a demo, phone filming the screen, faceless UI demo, talking-head open into full-screen demo), screen layout rules, hooks and endings like "comment X and I'll send it", and how to make an AI presenter. Use when the user says "what kind of video should we make", "video format", "talking head", "faceless video", "AI presenter", "AI avatar", "UGC style", "hook ideas", "how should the first frame look", "comment to get the link", or "视频形式".

ummydev/video-retro

When the user wants to review how their short videos performed on TikTok, Instagram Reels or other platforms and decide what to make next. Covers reading views, likes, comments, saves and follows without scraping, the stats log, 24-hour and 72-hour checks, comparing topics, formats and hooks, the daily report and recording what to change. Use when the user says "how did the video do", "video stats", "复盘", "retro", "which videos worked", "why did this flop", "weekly video report", "update the stats", or at the start or end of a short-video working day.

Verwandte Skills