Communitygithub.com

Varnan-Tech/opendirectory

Erstellt professionell gestaltete HTML-Foliensätze aus einer kurzen Beschreibung oder Inhalten. Ausgabe als einzelne Präsentationsdatei + optional als PDF. Unterstützt 13 Layout-Typen und 8 Stilvorlagen.

Was ist opendirectory?

Diese Fähigkeit generiert vollständige, professionell gestaltete HTML-Foliensätze mit 13 Layout-Typen und 8 Stilvorlagen. Der gesamte Output ist eine einzelne, eigenständige HTML-Datei, die in jedem Browser ohne Build-Tools geöffnet werden kann. Sie unterstützt Investoren-Pitches, Verkaufsgespräche, Konferenzvorträge, interne Präsentationen und mehr. Die Fähigkeit umfasst eine Schritt-für-Schritt-Struktur: Briefing-Erfassung, Design-Festlegung, Layout-Zuweisung, Inhaltserstellung, HTML-Generierung, Selbstprüfung und Ausgabe als HTML + optional PDF, mit mindestens einer unübersehbaren Folie für maximale visuelle Wirkung. Sie ist für Claude Code optimiert, kann aber auch in anderen KI-Agenten-Umgebungen wie Cursor und Codex verwendet werden, die Shell-Befehle und Dateizugriff unterstützen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-slide-deck

In Ihrer bevorzugten KI fragen

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

Dokumentation

Grafik-Foliensatz

Generieren Sie einen professionell gestalteten HTML-Foliensatz aus einer kurzen Beschreibung, Inhaltsnotizen oder einer vorhandenen Datei. Die Ausgabe ist eine einzelne, eigenständige HTML-Datei – öffnet sich in jedem Browser, keine Build-Tools erforderlich.


Kritische Regeln – nicht verhandelbar:

  1. JEDE Folie MUSS innerhalb von 100vh passen. Kein Scrollen innerhalb von Folien. Überlaufender Inhalt → in zwei Folien aufteilen.
  2. ALLE Schriftgrößen und Abstände MÜSSEN clamp() verwenden. Niemals feste px/rem für skalierende Elemente.
  3. Einzelne eigenständige HTML-Datei: Alle CSS/JS inline. Keine externen Abhängigkeiten außer einem Font-CDN-Link.
  4. Niemals HTML im Chat ausgeben. In Datei speichern, nur Zusammenfassung anzeigen.
  5. Keine generische KI-Ästhetik – gegen die DO-NOT-USE-Liste in references/style-presets.md prüfen.

Schritt 1: Briefing-Erfassung

Drei Dinge sind erforderlich, um zu starten. Wenn alle drei in der Nachricht vorhanden sind: Springe zu Schritt 2.

Falls etwas fehlt, frage genau:

„Um zu starten, brauche ich drei Dinge:

  1. Zweck – wofür ist dieser Foliensatz? (Investoren-Pitch / Verkaufsgespräch / Konferenzvortrag / interne Präsentation / Onboarding / Sonstiges)
  2. Zielgruppe – wer wird ihn sehen? (VCs, Interessenten, Ihr Team, Führungskräfte, Konferenzraum, LinkedIn)
  3. Thema oder Inhalt – Notizen einfügen, eine URL, eine kurze Beschreibung oder eine Datei hochladen“

Warte auf alle drei, bevor du fortfährst.


Schritt 2: Vollständige Erfassung

Stelle alle Fragen in einer Nachricht, gruppiert nach Kategorie. Der Benutzer kann alle überspringen – Standardwerte gelten.

„Ein paar Fragen, bevor ich beginne:

Inhalt

  1. Kernbotschaft – ein einziger Satz, den das Publikum nach dem Verlassen behalten soll
  2. Folienanzahl – Kurz (5-10) / Mittel (10-20) / Lang (20+)?
  3. Inhaltsquelle – Alle Inhalte bereit / Grobe Notizen (ich strukturiere) / Nur Thema (ich entwerfe)?
  4. Vorhandene Assets – Gibt es Bilder, Screenshots oder Logos, die eingefügt werden sollen? (ja + Pfade / nein)

Design 5. Stil – midnight-editorial / matt-gray / clean-slate / brutalist / mint-pixel-corporate / product-minimal / magazine-red / soft-cloud / „Optionen anzeigen“ 6. Seitenverhältnis – 16:9 (1920×1080, Standard) / 1:1 (1080×1080, LinkedIn) 7. Inline-Bearbeitung – soll Text nach dem Export im Browser bearbeitbar sein? (Ja / Nein)

Ausgabe 8. Ausgabeformat – Nur HTML / HTML + PDF / HTML + PDF + auf URL bereitstellen 9. Foliensatz-Name – Slug für Datei-/Ordnerbenennung (z.B. „q2-investor-pitch“); Ich leite ab, wenn übersprungen“

Standardwerte, wenn übersprungen:

FrageStandard
Kernbotschaftaus Zweck + Thema abgeleitet
Folienanzahl12
InhaltsquelleNur Thema
Vorhandene Assetskeine
Stilclean-slate
Seitenverhältnis16:9
Inline-BearbeitungNein
AusgabeformatHTML + PDF
Foliensatz-Nameaus Themaslug abgeleitet

Wenn Stil = „Optionen anzeigen“: Generiere 3 Einzelfolien-HTML-Vorschauen (eine für jeden von 3 verschiedenen Stilvorlagen, die zum Zweck des Foliensatzes passen). Speichere unter .claude-design/previews/style-a.html, style-b.html, style-c.html. Öffne jede: open .claude-design/previews/style-a.html usw. Frage den Benutzer vor Schritt 3 nach der Auswahl.


Schritt 2.5: Interne Design-Richtung (wird dem Benutzer nicht angezeigt)

Basierend auf den Antworten von Schritt 2, ermittle vor Schritt 3:

Visueller Charakter (aus dem Stil abgeleitet oder falls nicht angegeben, erschlossen):

  • midnight-editorial oder magazine-red → dark-editorial
  • clean-slate oder product-minimal → light-minimal
  • matt-gray → neutral-professional
  • brutalist → bold-expressive
  • mint-pixel-corporate oder soft-cloud → fresh-corporate
  • Stil nicht angegeben: Investoren-Pitch → midnight-editorial; Verkauf → clean-slate; Konferenz → brutalist oder midnight-editorial; intern → matt-gray

EINE unübersehbare Folie – identifiziere vor Schritt 3:

  • Investoren-Pitch → stat-highlight (Traction/Metriken-Folie)
  • Verkaufsgespräch → stat-highlight (ROI/Ergebnisse-Folie)
  • Konferenzvortrag → quote-callout oder stat-highlight (wichtige Erkenntnis)
  • Interne Präsentation → closing-cta (Entscheidungs-/Empfehlungsfolie)

Layout-Auswahl-Bias – notiere die 2-3 relevantesten Layouts für diesen Foliensatz-Typ, um sie in Schritt 3 zu priorisieren.

Frage den Benutzer nie nach der Design-Richtung – leite sie vollständig aus seinen Antworten ab.


Schritt 3: Struktur-Design

Lies references/layout-library.md, bevor du planst.

Plane die gesamte Foliensequenz. Weise jeder Folie einen Layout-Typ aus den 13 in references/layout-library.md zu.

Foliensatz-Typ → typische Struktur:

Investoren-Pitch (12 Folien):

  1. [title-hero] Unternehmen + Slogan
  2. [section-divider] Das Problem
  3. [text-full] Problemdetail
  4. [text-left-image-right] Lösungsübersicht
  5. [image-full] Produkt-Screenshot
  6. [stat-highlight] Traction – unübersehbare Folie
  7. [comparison-table] vs. Wettbewerber
  8. [timeline] Roadmap
  9. [text-full] Team
  10. [stat-highlight] Marktgröße
  11. [text-left-image-right] Geschäftsmodell
  12. [closing-cta] Die Bitte

Verkaufsgespräch (8-10 Folien):

  1. [title-hero]
  2. [quote-callout] Schmerzpunkt des Interessenten
  3. [text-left-image-right] Lösung
  4. [image-grid] Produkt-Screenshots
  5. [stat-highlight] ROI/Ergebnisse – unübersehbar
  6. [comparison-table] vs. Alternativen
  7. [text-full] Implementierung / nächste Schritte
  8. [closing-cta]

Konferenzvortrag (15-20 Folien): title-hero → section-dividers → text-full-Folien → image-full → stat-highlight oder quote-callout (unübersehbar) → timeline → closing-cta

Interne Präsentation (8-12 Folien): title-hero → text-full (Kontext) → stat-highlight (aktueller Zustand) → two-column-text (Optionen) → comparison-table → text-full (Empfehlung) → closing-cta (die Entscheidung – unübersehbar)

Gib die vorgeschlagene Struktur als nummerierte Liste mit [Layout-Typ] in Klammern aus. Beispiel:

Vorgeschlagene Struktur (12 Folien, midnight-editorial-Stil):

1. [title-hero] DataPulse – Umsatzentscheidungen in 5 Minuten
2. [section-divider] Das Problem
...
12. [closing-cta] Die Bitte + [email protected]

Funktioniert diese Struktur, oder soll ich Folien anpassen?

Warte auf Bestätigung vor Schritt 4.


Schritt 4: Inhaltsentwurf

Schreibe den Text pro Folie der Reihe nach. Nur Klartext – noch kein HTML.

Kopier-Regeln pro Layout:

  • title-hero: Überschrift (max. 6 Wörter) + Untertitel (1 Satz) + optionaler Pill-Badge-Text
  • section-divider: Nur 2-4 Wörter Abschnittsbezeichnung
  • text-full: Überschrift (max. 5 Wörter) + 4-6 Aufzählungspunkte ODER 2 Absätze (niemals beides auf derselben Folie)
  • text-left-image-right / image-left-text-right: Überschrift + 3-4 Aufzählungspunkte + [IMAGE: Beschreibung]
  • two-column-text: 2 Spaltenüberschriften + max. 3 Aufzählungspunkte pro Spalte
  • image-full: [IMAGE: Beschreibung] + optionale Bildunterschrift (max. 10 Wörter)
  • image-grid: bis zu 6 [IMAGE: Beschreibung]-Platzhalter mit kurzen Bildunterschriften
  • stat-highlight: 2-4 Metriken geschrieben als ZAHL | Bezeichnung (z.B. 3× | schnellere Abschlüsse). NULL Fließtext.
  • quote-callout: Zitat (max. 30 Wörter) + Quellenangabe (Name, Titel)
  • comparison-table: Spaltenüberschriften (max. 3) + 4-6 Zeilenbezeichnungen + Zelleninhalt (je 1-3 Wörter)
  • timeline: 3-6 Meilensteine (Bezeichnung + Datum + 1-zeilige Beschreibung)
  • closing-cta: Überschrift (max. 5 Wörter) + CTA-Aktionstext + Kontaktinformationen (E-Mail + URL – beides erforderlich)

Verbotene Wörter (in allen Texten, keine Ausnahmen): „leistungsstark“, „nahtlos“, „bahnbrechend“, „nutzen“, „innovativ“, „revolutionär“, „transformieren“, „modernste“, „robust“, „freischalten“, „skalierbar“ (als Füll-Adjektiv).

Kopier-Philosophie: Fragmente sind in Ordnung. Zahlen schlagen Adjektive. Jedes Wort verdient seinen Platz.


Schritt 5: HTML-Generierung

Lies ALLES, bevor du HTML generierst:

Referenzen dieser Fähigkeit:

  • references/design-system.md
  • references/layout-library.md
  • references/style-presets.md
  • references/animation-guide.md

frontend-slides-Querverweise (lies diese genauen Dateien):

  • /Users/ksd/Desktop/Varnan_skills/frontend-slides/viewport-base.css – füge den VOLLSTÄNDIGEN Inhalt wörtlich innerhalb des <style>-Blocks ein
  • /Users/ksd/Desktop/Varnan_skills/frontend-slides/html-template.md – SlidePresentation-Klasse, Tastaturnavigation, Inline-Bearbeitungssystem
  • /Users/ksd/Desktop/Varnan_skills/frontend-slides/animation-patterns.md – Eingangsanimationen, Hintergrundeffekte, interaktive Effekte

Generierungsregeln:

  1. Einzelne eigenständige HTML-Datei. Alle CSS und JS inline. Der Font-CDN-<link> ist der einzige externe Verweis.
  2. Füge den VOLLSTÄNDIGEN wörtlichen Inhalt von viewport-base.css innerhalb des <style>-Blocks ein – paraphrasiere oder kürze ihn nicht.
  3. Schriftarten nur von Google Fonts oder Fontshare. Die Schriftartwahl stammt aus der gewählten Vorlage in references/style-presets.md.
  4. Verwende die SlidePresentation-Klasse aus html-template.md. Implementiere die vollständige Tastaturnavigation (Pfeile, Leertaste, Bild auf/ab), Touch/Wischen, Fortschrittsbalken und Navigationspunkte. navDotsContainer.innerHTML = "" vor dem Erstellen der Navigationspunkte – überspringe dies nie.
  5. Falls Inline-Bearbeitung gewählt: Implementiere das vollständige Inline-Bearbeitungssystem aus html-template.md inklusive exportFile(). Die exportFile()-Funktion MUSS contenteditable, body.edit-active und .active/.show-Klassen entfernen, bevor outerHTML erfasst wird.
  6. Seitenverhältnis:
    • 16:9 (Standard): Folien sind width: 100vw; height: 100vh
    • 1:1 (LinkedIn): Füge die CSS-Custom-Property --slide-height: min(100vh, 100vw) hinzu und verwende sie auf .slide
  7. JEDER Folienabschnitt MUSS class="slide" verwenden – erforderlich für die Folien-Erkennung von export-pdf.sh.
  8. Füge vor jeder Folie einen Kommentar ein: /* === SLIDE N: LAYOUT-TYP === */
  9. Wende die EINE unübersehbare Folie aus Schritt 2.5 mit maximalem visuellen Gewicht an – größte Typografie, meiste Animation, das Signatur-Element der Stilvorlage in voller Intensität. Alle anderen Folien sind kompositorisch ruhiger.
  10. Keine Bilder bereitgestellt → verwende CSS-generierte Visualisierungen (Verlaufsnetze, geometrische Formen, Rastermuster aus animation-patterns.md). Dies ist ein erstklassiger Pfad, kein Fallback.

Typografie-Disziplin:

  • Stat-Zahlen: clamp(3.5rem, 12vw, 9rem) – eine Metrik, die ein Drittel der Folie einnimmt, wirkt autoritativ
  • Helden-Überschrift: clamp(2.5rem, 8vw, 6rem) mindestens. Niemals aus Sicherheitsgründen verkleinern.
  • Verwende niemals feste px/rem für Elemente, die der Benutzer sehen wird. Clampe alles.

CSS-Falle aus viewport-base.css: Schreibe nie -clamp(), -min(), -max() direkt in CSS. Ummantle mit calc(-1 * clamp(...)).


Schritt 6: Selbst-Qualitätssicherung

Prüfe jedes Element. Behebe jeden Fehler – überspringe nichts.

Viewport und Rendering:

  • Jedes .slide hat height:100vh; height:100dvh; overflow:hidden
  • ALLE Schriftgrößen und Abstände verwenden clamp() – keine festen px auf skalierenden Elementen
  • Keine Folie läuft bei 1280×720 Viewport über (gegen Dichte-Grenzen aus layout-library.md prüfen)
  • Bilder verwenden max-height: min(50vh, 400px)
  • Breakpoints für 700px, 600px, 500px Viewport-Höhen vorhanden (aus viewport-base.css)
  • prefers-reduced-motion-Media-Query vorhanden
  • Kein -clamp(), -min(), -max() in CSS – bei Bedarf negativ mit calc(-1 * ...) ummantelt

Struktur:

  • Folienanzahl stimmt mit Schritt-3-Plan überein
  • Jede Folie verwendet class="slide"
  • Jeder Layout-Typ korrekt gemäß references/layout-library.md implementiert
  • SlidePresentation-Klasse vorhanden mit Tastaturnavigation, Touch, Fortschrittsbalken, Navigationspunkten
  • navDotsContainer.innerHTML = "" vor dem Erstellen der Navigationspunkte
  • Falls Inline-Bearbeitung gewählt: exportFile() entfernt Bearbeitungszustand, bevor outerHTML erfasst wird

Designqualität:

  • EINE unübersehbare Folie visuell dominant – nicht unter gleichgewichtigen Folien vergraben
  • Typografie-Hierarchie klar: Display >> Überschrift >> Fließtext (mindestens 2:1 Größenverhältnis zwischen den Ebenen)
  • Stilvorlagen-Tokens konsistent angewendet (Farben, Schriftarten aus references/style-presets.md)
  • Keine Schludrigkeitsmuster (gegen DO-NOT-USE-Liste in references/style-presets.md prüfen)

Inhalt:

  • Keine verbotenen Wörter in Folientexten
  • title-hero-Überschrift hat 6 Wörter oder weniger
  • stat-highlight hat NULL Fließtext, der mit den Zahlen konkurriert
  • closing-cta hat spezifische Aktion + Kontaktinformationen (nicht nur „Danke“)

Wenn ein Check fehlschlägt: Korrigiere inline, führe dann die Checkliste mental erneut aus, bevor du fortfährst.


Schritt 7: Ausgabe

Speichere zuerst das Haupt-HTML:

mkdir -p deck/[name]-slides

Schreibe nach: deck/[name]-slides/index.html

Öffne es: open deck/[name]-slides/index.html

Einzelfolien-HTML-Dateien (immer generieren):

Extrahiere jedes <section class="slide"> aus dem Haupt-HTML. Erstelle für jede eine eigenständige Datei mit:

  • Dem vollständigen <style>-Block aus dem Haupt-HTML (wörtlich kopiert)
  • Dem einzelnen <section class="slide">, verpackt in einer minimalen HTML-Hülle
  • Kein SlidePresentation-JS (statische Einzelfolienansicht, keine Navigation erforderlich)

Schreibe nach: deck/[name]-slides/slide-001.html, slide-002.html usw. (null-aufgefüllt auf 3 Ziffern).

Wenn PDF angefordert:

bash /Users/ksd/Desktop/Varnan_skills/frontend-slides/scripts/export-pdf.sh \
  deck/[name]-slides/index.html \
  deck/[name].pdf

Hinweis: Beim ersten Ausführen wird Playwright automatisch installiert (~30-60 Sekunden). Informiere den Benutzer.

Wenn Bereitstellung angefordert:

bash /Users/ksd/Desktop/Varnan_skills/frontend-slides/scripts/deploy.sh \
  deck/[name]-slides/

Aufräumen: Lösche .claude-design/previews/, falls Stilvorschau-Dateien in Schritt 2 generiert wurden.


Schritt 8: Zusammenfassung (kein HTML im Chat)

Präsentiere im Chat:

## Foliensatz: [Foliensatz-Name]
Datum: [heute] | Stil: [Stil] | Folien: [N] | Seitenverhältnis: [16:9 oder 1:1]
Zweck: [Zweck] | Zielgruppe: [Zielgruppe]

---

### Dateien
Hauptdatei:      deck/[name]-slides/index.html
Pro Folie: deck/[name]-slides/slide-001.html → slide-0NN.html
PDF:       deck/[name].pdf  [falls generiert]
Live-URL:  [url]  [falls bereitgestellt]

---

### Navigation
Pfeiltasten / Leertaste / Bild Auf/Ab – Folien vorwärts bewegen
Navigationspunkte anklicken – zu jeder Folie springen
Touch / Wischen – funktioniert auf Mobilgeräten

---

### Anpassung
CSS-Variablen in :root am Anfang der Datei bearbeiten, um Farben zu ändern
Die @import-Schriftart-URL austauschen, um die Typografie zu ändern
.reveal-Klasse von Elementen entfernen, um Eingangsanimationen zu deaktivieren

---

### Checkliste für den Foliensatz
- [ ] [IMAGE: Beschreibung]-Platzhalter durch echte Bilder ersetzen
- [ ] Die Metrik/das Zitat auf Folie [N] auf Richtigkeit prüfen (die unübersehbare Folie)
- [ ] Auf der Zielbildschirmgröße testen ([1920×1080 oder 1080×1080])
- [ ] Bei Live-Präsentation: Tastaturnavigation im Vollbildmodus testen
- [ ] Falls bereitgestellt: Live-Link mit allen Beteiligten teilen

End-to-End-Beispielablauf

(Siehe Beispielablauf in der Original-SKILL.md)

Individual skills in this repo

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

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

Verwandte Skills