Communitygithub.com

Varnan-Tech/opendirectory

Nimmt eine Startup-Produkt-URL oder -Beschreibung entgegen, erkennt die Branche und den Finanzierungsstatus, identifiziert 5 vergleichbare finanzierte Unternehmen, sucht nach Investoren dieser Unternehmen (Track A) sowie nach VCs, die Investmentthesen zu diesem Bereich veröffentlichen (Track B), und liefert eine priorisierte Liste relevanter Investoren mit Deep Dives und Kontaktaufnahme-Hinweisen.

Was ist opendirectory?

VC Finder ist ein KI-gestützter Skill, der automatisch relevante Investoren für Startups recherchiert. Er analysiert eine Produkt-URL oder -Beschreibung, bestimmt Branche und Finanzierungsphase, findet bis zu 5 vergleichbare finanzierte Unternehmen und führt zwei parallele Recherchepfade durch: Track A identifiziert die konkreten Investoren dieser Vergleichsunternehmen, Track B sucht nach VCs, die öffentliche Investmentthesen zum jeweiligen Bereich veröffentlichen. Das Ergebnis ist eine priorisierte Liste mit Quellenangaben und personalisierten Outreach-Hinweisen. Der Skill arbeitet nach einer strikten Null-Halluzinations-Richtlinie: Alle Fakten müssen auf konkreten Tavily-Suchergebnissen oder der Produktseite basieren. Er unterstützt die Phasen Pre-Seed bis Series B sowie die Märkte USA, Europa und global. Voraussetzung ist ein TAVILY_API_KEY (kostenloser Zugang bei app.tavily.com). Optional kann ein FIRECRAWL_API_KEY für das Scraping der Produktseite verwendet werden.

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

In Ihrer bevorzugten KI fragen

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

Dokumentation

VC Finder

Nimm eine Produkt-URL oder -Beschreibung. Erkenne Branche und Phase. Finde 5 vergleichbare finanzierte Unternehmen. Führe zwei Recherchepfade durch: Wer hat in diese Vergleichsunternehmen investiert (Track A) und welche VCs veröffentlichen Thesen zu diesem Bereich (Track B). Gib eine mit Quellen belegte, priorisierte Investorenliste mit Kontaktaufnahme-Hinweisen zurück.


Null-Halluzinations-Richtlinie: Jede Tatsache im Output muss auf ein bestimmtes Tavily-Suchergebnis oder die abgerufene Produktseite zurückführbar sein. Dies gilt für:

  • Namen vergleichbarer Unternehmen: müssen in Tavily-Suchergebnissen erscheinen, nicht in KI-Trainingswissen
  • Namen von VC-Fonds: müssen wörtlich in Tavily-Suchergebnissen erscheinen
  • Check-Größen, Phasenschwerpunkte, Portfoliounternehmen: müssen aus Suchergebnissen stammen, nicht aus KI-Wissen
  • Fondsübersichten und Thesen-Zusammenfassungen: nur aus Suchergebnissen extrahiert. Wenn ein Detail nicht in den Suchdaten enthalten ist, schreibe „nicht in Suchdaten gefunden“ – nicht aus Trainingswissen ergänzen.

Häufige Fehler

Der Agent wird versuchen …Warum das falsch ist
a16z oder Sequoia hinzufügen, weil sie berühmt sindEin berühmter VC ohne Nachweis ist Rauschen. Nimm nur VCs auf, die in Tavily-Suchergebnissen für dieses spezifische Produkt erscheinen. Namedropping verschwendet die Zeit des Gründers.
Vergleichbare Unternehmen aus Trainingswissen generierenVergleichsunternehmen müssen aus Tavily-Suchergebnissen stammen (Schritt 6). KI-Wissen über Unternehmen ist kein Beleg – ein aus dem Gedächtnis vorgeschlagenes Unternehmen könnte falschen Finanzierungsstatus haben oder kein echtes Vergleichsunternehmen sein.
Fortfahren, wenn alle 5 Track-A-Suchen 0 Ergebnisse liefernNull Track-A-Ergebnisse bedeuten, dass die Vergleichsunternehmen falsch oder zu obskur waren. Stopp, führe Schritt 6 mit breiteren Suchanfragen erneut aus und wiederhole es.
Einen Track-B-VC ohne Angabe des Artikels oder Beitrags aufnehmenEine These ohne Quelle ist nicht von Halluzination zu unterscheiden. Der Gründer kann sie nicht überprüfen und die Liste verliert jede Glaubwürdigkeit.
Fondsübersicht aus Trainingswissen ergänzenFondsübersichten müssen nur aus Tavily-Snippet-Text stammen. Wenn die Snippets den Fonds nicht beschreiben, schreibe „nicht in Suchdaten gefunden“.
Phase anhand der Website-Ästhetik erkennenDie Phase muss aus den in Schritt 4 erkannten spezifischen CTA-Signalen stammen.
Allgemeine Outreach-Hinweise schreibenJeder Outreach-Hinweis muss das Alleinstellungsmerkmal dieses spezifischen Produkts und ein bestimmtes VC-Portfolio-Signal oder These-Zitat aus den Suchdaten nennen.
URL-Abruf überspringen, wenn der Nutzer auch eine Beschreibung angibtRufe immer die URL ab. Die Live-Seite zeigt oft Phasensignale, die die Beschreibung des Nutzers auslässt.

Schritt 1: Setup-Prüfung

echo "TAVILY_API_KEY:    ${TAVILY_API_KEY:+set}"
echo "FIRECRAWL_API_KEY: ${FIRECRAWL_API_KEY:-nicht gesetzt, Tavily-Extraktion wird als Fallback verwendet}"

Fehlt TAVILY_API_KEY: Stopp. Teile dem Nutzer mit: „TAVILY_API_KEY ist erforderlich, um VC-Investitionen und Thesen zu recherchieren. Dafür gibt es keinen Fallback. Holen Sie ihn unter app.tavily.com – kostenlose Stufe: 1.000 Credits/Monat (ca. 125 vollständige Durchläufe). Fügen Sie ihn Ihrer .env-Datei hinzu.“

Fehlt nur FIRECRAWL_API_KEY: Fahre stillschweigend fort. Die Tavily-Extraktion wird für den URL-Abruf verwendet.


Schritt 2: Eingabe sammeln

Du brauchst:

  • Produkt-URL (erforderlich, es sei denn, der Nutzer fügt direkt eine Produktbeschreibung ein)
  • Optional: Hinweis zur Zielphase (pre-seed, seed, series-a, series-b) – falls angegeben, verwende sie und überspringe die Phasenerkennung
  • Optional: geografische Präferenz (US, Europa, global) – Standard: US, falls nicht angegeben

Stellt der Nutzer nur eine eingefügte Beschreibung (keine URL) zur Verfügung: Überspringe die Schritte 3-4. Gehe direkt zu Schritt 5 mit dem eingefügten Text als product_content. Setze stage_source auf user_description.

Weder URL noch Beschreibung angegeben: Frage: „Wie lautet die URL Ihres Produkts oder Startups? Oder fügen Sie eine kurze Beschreibung ein: Was es tut, für wen es ist und in welcher Phase Sie sich befinden (pre-seed, seed, Series A).“

Leite den Produkt-Slug aus der URL für den Ausgabedateinamen ab:

PRODUCT_SLUG=$(python3 -c "
from urllib.parse import urlparse
url = 'URL_HERE'
host = urlparse(url).netloc.replace('www.', '')
print(host.split('.')[0])
")

Schritt 3: Produktseite abrufen

Primär: Firecrawl (falls FIRECRAWL_API_KEY gesetzt ist)

curl -s -X POST https://api.firecrawl.dev/v1/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "URL_HERE", "formats": ["markdown"], "onlyMainContent": true}' \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
content = d.get('data', {}).get('markdown', '') or d.get('markdown', '')
print(f'Abgerufen: {len(content)} Zeichen')
open('/tmp/vc-product-raw.md', 'w').write(content)
"

Fallback: Tavily-Extraktion (falls FIRECRAWL_API_KEY nicht gesetzt ist)

curl -s -X POST https://api.tavily.com/extract \
  -H "Content-Type: application/json" \
  -d "{\"api_key\": \"$TAVILY_API_KEY\", \"urls\": [\"URL_HERE\"]}" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
content = d.get('results', [{}])[0].get('raw_content', '')
print(f'Über Tavily extrahiert: {len(content)} Zeichen')
open('/tmp/vc-product-raw.md', 'w').write(content)
"

Kontrollpunkt auf Schrittebene:

python3 -c "
content = open('/tmp/vc-product-raw.md').read()
if len(content) < 200:
    print('FEHLER: Seite enthielt weniger als 200 Zeichen.')
else:
    print(f'Inhalt OK: {len(content)} Zeichen')
"

Wenn Inhalt < 200 Zeichen: Stoppe das Abrufen. Teile dem Nutzer mit: „Die Produktseite hat keinen lesbaren Inhalt zurückgegeben. Das bedeutet normalerweise, dass die Seite JavaScript-gerendert ist und einen Browser erfordert. Bitte fügen Sie Ihre Produktbeschreibung direkt ein: Was es tut, für wen es ist und in welcher Phase Sie sich befinden.“

Fahre mit Schritt 5 fort, wobei die eingefügte Beschreibung als product_content verwendet wird.


Schritt 4: Phasensignale lokal erkennen (Keine API)

Analysiere das abgerufene Markdown mit Regex vor dem Analyseschritt.

python3 << 'PYEOF'
import re, json

content = open('/tmp/vc-product-raw.md').read().lower()
stage_signals = []

if re.search(r'join\s+(the\s+)?waitlist|sign\s+up\s+for\s+beta|early\s+access|request\s+(an?\s+)?invite|get\s+notified', content):
    stage_signals.append({'signal': 'Warteliste oder Beta-CTA', 'stage_hint': 'pre-seed'})

if re.search(r'start\s+(your\s+)?free\s+trial|try\s+(it\s+)?for\s+free|request\s+a?\s+demo|book\s+a?\s+demo|schedule\s+a?\s+demo', content):
    stage_signals.append({'signal': 'Kostenlose Testversion oder Demo-CTA', 'stage_hint': 'seed'})

if re.search(r'contact\s+sales|talk\s+to\s+(our\s+)?sales|see\s+pricing|view\s+pricing|plans\s+and\s+pricing', content):
    stage_signals.append({'signal': 'Preis- oder Vertriebs-CTA', 'stage_hint': 'series-a'})
if re.search(r'case\s+stud(y|ies)|customer\s+stor(y|ies)|trusted\s+by\s+[\d,]+|used\s+by\s+[\d,]+', content):
    stage_signals.append({'signal': 'Fallstudien oder Kundenzahlen', 'stage_hint': 'series-a'})

if re.search(r'enterprise\s+(plan|pricing|tier)|we.?re\s+hiring|join\s+our\s+team|open\s+positions', content):
    stage_signals.append({'signal': 'Enterprise-Tarif oder Stellenangebote', 'stage_hint': 'series-a-or-b'})

funding_match = re.search(
    r'raised\s+\$[\d,.]+\s*[mk]?|series\s+[abc]\s+round|seed\s+round|(\$[\d,.]+\s*[mk]?\s+(?:seed|series\s+[abc]))',
    content
)
if funding_match:
    stage_signals.append({'signal': f'Finanzierungstext: {funding_match.group(0).strip()}', 'stage_hint': 'announced'})

if not stage_signals:
    dominant = 'unknown'
elif any(s['stage_hint'] == 'announced' for s in stage_signals):
    dominant = 'announced'
elif any(s['stage_hint'] == 'series-a-or-b' for s in stage_signals):
    dominant = 'series-a'
elif any(s['stage_hint'] == 'series-a' for s in stage_signals):
    dominant = 'series-a'
elif any(s['stage_hint'] == 'seed' for s in stage_signals):
    dominant = 'seed'
else:
    dominant = 'pre-seed'

confidence = 'hoch' if len(stage_signals) >= 2 else ('mittel' if len(stage_signals) == 1 else 'niedrig')

result = {'signals': stage_signals, 'dominant_stage': dominant, 'confidence': confidence}
json.dump(result, open('/tmp/vc-stage-signals.json', 'w'), indent=2)
print(f'Phase: {dominant} ({confidence} Konfidenz) von {len(stage_signals)} Signal(en)')
for s in stage_signals:
    print(f'  - {s["signal"]} -> {s["stage_hint"]}')
PYEOF

Schritt 5: Produktanalyse (Taxonomie, Phase, ICP)

Gib den Produktinhalt und die Phasensignale aus:

python3 -c "
import json
content = open('/tmp/vc-product-raw.md').read()[:6000]
signals = json.load(open('/tmp/vc-stage-signals.json'))
print('=== PRODUKTSEITE (erste 6000 Zeichen) ===')
print(content)
print()
print('=== ERKANNTE PHASENSIGNALE ===')
print(json.dumps(signals, indent=2))
"

KI-Anweisungen: Analysiere den obigen Produktseiteninhalt. Generiere nur die Taxonomie, den ICP und die Phasenklassifizierung – generiere NOCH KEINE vergleichbaren Unternehmen (das erfolgt über die Live-Suche in Schritt 6).

Schreibe nach /tmp/vc-product-analysis.json:

  • product_name: von der Seite
  • one_line_description: Was es tut, für wen, zentrales Wertversprechen. Unter 20 Wörtern. Keine Marketingsprache.
  • industry_taxonomy: l1 (übergeordnet: fintech / healthtech / developer tools / consumer / etc.), l2 (Sektor: sales technology / logistics software / etc.), l3 (spezifische Nische: outbound prospecting / last-mile routing / etc.). Vage Bezeichnungen wie „Technologie“ oder „Software“ allein sind nicht akzeptabel.
  • icp: buyer_persona (Berufsbezeichnung), company_type, company_size
  • detected_stage: pre-seed / seed / series-a / series-b / unknown
  • stage_confidence: hoch / mittel / niedrig
  • stage_evidence: Ein Satz, der genau zitiert, welcher CTA oder Text auf der Seite dazu geführt hat. Schreibe „keine klaren Signale gefunden“, wenn unbekannt.
  • geography_bias: US / Europa / global / unklar
  • comparable_companies: leeres Array [] – wird in Schritt 6 gefüllt
python3 << 'PYEOF'
import json

analysis = {
    # FÜLLE basierend auf deiner obigen Analyse
    "comparable_companies": []
}

json.dump(analysis, open('/tmp/vc-product-analysis.json', 'w'), indent=2)
print('Produktanalyse geschrieben.')
PYEOF

Überprüfen:

python3 -c "
import json
a = json.load(open('/tmp/vc-product-analysis.json'))
print('Produkt:', a['product_name'])
print('Branche:', a['industry_taxonomy']['l1'], '>', a['industry_taxonomy']['l2'], '>', a['industry_taxonomy']['l3'])
print('Phase:', a['detected_stage'], '(' + a['stage_confidence'] + ' Konfidenz)')
"

Schritt 5b: Kuratierter Vorababgleich mit verifiziertem Fondsdatensatz

Führe die Produkttaxonomie mit einem kuratierten Datensatz von 25 verifizierten VC-Fonds (von Fonds-Websites bezogen) ab. Liefert null-halluzinierte Fondsübereinstimmungen und Saat-Vergleichsunternehmen für Track A – kein Tavily-Credits-Verbrauch.

Gib die Produktanalyse für das Tag-Mapping aus:

python3 -c "
import json
a = json.load(open('/tmp/vc-product-analysis.json'))
print('Taxonomie:', a['industry_taxonomy']['l1'], '>', a['industry_taxonomy']['l2'], '>', a['industry_taxonomy']['l3'])
print('Phase:', a['detected_stage'])
print('Geografie:', a['geography_bias'])
"

KI-Anweisungen: Ordne die Produkttaxonomie den im Fondsdatensatz verwendeten Standard-Tags zu. Verfügbare Tags: DevTools, Infrastructure, Open Source, B2B SaaS, AI, Data, FinTech, HealthTech, Enterprise, Consumer, Marketplaces, E-commerce, Crypto, DeepTech, Cybersecurity, Generalist

Wähle 2-4 Tags aus, die dieses Produkt beschreiben. Ordne detected_stage zu: Pre-seed, Seed, Series A oder Growth. Ordne geography_bias zu: US, Europe, India oder Global.

Schreibe den Produktkontext:

python3 << 'PYEOF'
import json

# FÜLLE basierend auf obiger Taxonomieanalyse
context = {
    "extracted_tags": ["TagA", "TagB"],  # 2-4 Tags aus der obigen Liste
    "stage_hint": "Seed",                 # Pre-seed / Seed / Series A / Growth
    "geography_hint": "US"                # US / Europe / India / Global
}
json.dump(context, open('/tmp/vc-product-context.json', 'w'), indent=2)
print('Produktkontext:', context)
PYEOF

Führe die Bewertung gegen den eingebetteten kuratierten Datensatz aus:

python3 << 'PYEOF'
import json

context = json.load(open('/tmp/vc-product-context.json'))

VC_FUNDS = [
  {"fund_name":"Y Combinator","thesis":"Wir bieten Startups Seed-Finanzierung. Wir investieren in tief technische Teams, die massive Unternehmen in allen Bereichen aufbauen.","check_size":"$500k","stage_focus":["Pre-seed","Seed"],"industry_tags":["Generalist","B2B SaaS","DevTools","AI"],"geography_focus":["Global"],"notable_portfolio":["Stripe","Airbnb","GitLab"],"website":"https://www.ycombinator.com"},
  {"fund_name":"boldstart ventures","thesis":"Der Partner von Tag eins für Developer-first-, Crypto- und SaaS-Gründer. Wir lieben tief technische Gründer, die schwierige Infrastrukturprobleme lösen.","check_size":"$1M - $3M","stage_focus":["Pre-seed","Seed"],"industry_tags":["DevTools","Infrastructure","Crypto"],"geography_focus":["Global","US"],"notable_portfolio":["Snyk","Blockdaemon","Superhuman"],"website":"https://boldstart.vc"},
  {"fund_name":"Heavybit","thesis":"Der führende Investor in Developer-first-Startups. Wir helfen technischen Gründern beim Launch, der Gewinnung von Traktion und dem Aufbau unternehmenstauglicher Unternehmen.","check_size":"$1M - $5M","stage_focus":["Seed","Series A"],"industry_tags":["DevTools","Infrastructure","Open Source"],"geography_focus":["Global","US"],"notable_portfolio":["PagerDuty","Sanity","Netlify"],"website":"https://www.heavybit.com"},
  {"fund_name":"Amplify Partners","thesis":"Wir investieren in technische Gründer, die die nächste Generation von IT-Infrastruktur, Entwicklertools und Datenplattformen aufbauen.","check_size":"$2M - $8M","stage_focus":["Seed","Series A"],"industry_tags":["DevTools","Infrastructure","AI","Data"],"geography_focus":["US"],"notable_portfolio":["Datadog","OCTO","dbt Labs"],"website":"https://www.amplifypartners.com"},
  {"fund_name":"OSS Capital","thesis":"Wir unterstützen ausschließlich frühe Gründer von Commercial Open Source Software (COSS)-Unternehmen.","check_size":"$500k - $2M","stage_focus":["Pre-seed","Seed","Series A"],"industry_tags":["Open Source","DevTools"],"geography_focus":["Global"],"notable_portfolio":["Cal.com","Appsmith","Hoppscotch"],"website":"https://oss.capital"},
  {"fund_name":"Se

…

[zur Übersetzung gekürzt]

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