Communitygithub.com

Varnan-Tech/opendirectory

Analysiert eingefügte LinkedIn-Stellenanzeigen oder Stellenbeschreibungen und erstellt daraus eine strukturierte Buyer Pain Map mit abgeleiteten Schmerzpunkten, Capability Gaps, Buy-vs-Build-Signal, Account-Prioritäts-Scores und empfohlenen Outreach-Ansätzen.

Was ist opendirectory?

Dieses Skill analysiert LinkedIn-Stellenanzeigen oder andere Stellenbeschreibungen, um daraus eine strukturierte Buyer Pain Map zu erstellen. Es identifiziert betriebliche Schmerzpunkte, Capability Gaps und die Dringlichkeit eines Kaufsignals. Das Skill bewertet Accounts anhand von Signalstärke, Dringlichkeit und ICP-Fit, berechnet einen Gesamtscore und gibt eine fundierte Einschätzung ab, ob das Unternehmen eher selbst bauen oder kaufen wird. Es generiert außerdem konkrete Outreach-Ansätze und ein strukturiertes Handoff-Objekt, das direkt vom Skill 'outreach-sequence-builder' weiterverwendet werden kann. Das Skill ist über die Gemini 2.0 Flash API verfügbar und erfordert einen GEMINI_API_KEY. Es ist ideal für go-to-market Teams, Account-Based-Marketing und CRM-Priorisierung auf Basis von Einstellungssignalen.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-job-post-to-buyer-pain-map

In Ihrer bevorzugten KI fragen

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

Dokumentation

LinkedIn Stellenanzeige zu Buyer Pain Map

Analysiere LinkedIn-Stellenanzeigen. Erstelle daraus eine strukturierte Buyer Pain Map mit Scores, Schmerzpunkten und Outreach-Ansätzen.


Wichtige Regel: Jeder abgeleitete Schmerzpunkt muss mit einem spezifischen Zitat aus der Stellenbeschreibung belegt werden. Erfinde niemals Schmerzpunkte, die nicht im Text verankert sind. Wenn eine Anzeige zu allgemein ist, um Schmerzpunkte abzuleiten, sage dies explizit und weise eine niedrige Signalstärke zu.

Ethische Regel: Leite keine persönlichen Eigenschaften oder geschützten Merkmale über Kandidaten ab. Konzentriere dich ausschließlich auf operative Schmerzpunkte auf Unternehmensebene und organisatorische Bedürfnisse.


Schritt 1: Setup-Prüfung

Bestätige, dass die benötigten Umgebungsvariablen gesetzt sind:

echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+gesetzt}"

Wenn GEMINI_API_KEY fehlt: Stopp. Sag dem Benutzer: „GEMINI_API_KEY wird benötigt. Holen Sie ihn unter aistudio.google.com. Fügen Sie ihn Ihrer .env-Datei hinzu.“


Schritt 2: Eingaben sammeln

Das Skill benötigt 3 erforderliche Eingaben. Sammle sie, bevor du fortfährst.

2a: Produktbeschreibung

Frage: „Beschreibe dein Produkt in 2-5 Sätzen. Was machst du, was ist dein zentrales Wertversprechen und wen sprichst du an?“

Wenn der Benutzer dies bereits in seiner Eingabe erwähnt hat: Extrahiere es. Bestätige: „Produktbeschreibung erfasst: [Zusammenfassung].“

2b: ICP-Beschreibung

Frage: „Beschreibe dein ideales Kundenprofil in 2-6 Stichpunkten: Branchen, Unternehmensgrößen, Rollen, an die du verkaufst, Hinweise auf den Tech-Stack.“

Wenn der Benutzer dies bereits in seiner Eingabe erwähnt hat: Extrahiere es. Bestätige: „ICP erfasst: [Zusammenfassung].“

2c: Stellenanzeigen

Frage: „Füge die Stellenbeschreibungen ein, die du analysieren möchtest. Gib für jede Anzeige den Firmennamen, die Stellenbezeichnung und den vollständigen Beschreibungstext an. Du kannst 1-15 Anzeigen einfügen.“

Akzeptierte Formate:

  • Roh eingefügter Text mit klar gekennzeichnetem Firmennamen und Stellenbezeichnung
  • Strukturierte JSON-Objekte mit Feldern: company_name, job_title, location (optional), seniority (optional), team_or_function (optional), job_description_text, job_url (optional)
  • Mehrere Anzeigen getrennt durch klare Trennzeichen (--- oder Nummerierung)

Wenn ein Feld fehlt: Schließe, was du aus dem Beschreibungstext ableiten kannst. Wenn company_name oder job_description_text fehlt, frage vor dem Fortfahren danach.

2d: Optionale Eingaben

Wenn der Benutzer eine dieser Angaben macht, erfasse sie:

  • account_notes: zusätzlicher Kontext pro Firma (Finanzierung, Tech-Stack, bekannte Tools, Kontakte)
  • focus_dimension: „pipeline“ (Bevorzugung von Bewertung und Priorisierung), „positioning“ (Bevorzugung von Messaging-Ansätzen) oder „both“ (Standard)

Schritt 3: Signale extrahieren

Analysiere für jede Stellenanzeige und extrahiere:

  1. Team / Funktion: In welchem Team arbeitet diese Rolle? (GTM, Produkt, Infrastruktur, Daten, RevOps, CS, Engineering, etc.)
  2. Seniorität: IC, Senior IC, Manager, Director, VP, C-Level
  3. Fokus der Verantwortlichkeiten: Klassifiziere den dominierenden Modus:
    • Brandbekämpfung: „stabilisieren“, „reparieren“, „Ausfallzeiten reduzieren“, „entblocken“
    • Neuaufbau: „von Grund auf neu aufbauen“, „0→1“, „Grünfeld“, „entwerfen und implementieren“
    • Optimierung: „skalieren“, „optimieren“, „Effizienz verbessern“, „automatisieren“
    • Ersetzung: „Legacy ersetzen“, „migrieren von“, „modernisieren“
  4. Anforderungssprache: Notiere Schlüsselwörter, die Absicht signalisieren: „erster X-Mitarbeiter“, „kritische Rolle“, „sofort“, „muss haben“
  5. Tool-/Stack-Hinweise: Verweise auf bestimmte Tools, Plattformen oder Technologiekategorien, die mit dem Produktbereich des Benutzers überlappen

Nach Firma gruppieren. Wenn mehrere Anzeigen von derselben Firma stammen, gruppiere ihre Signale zusammen.

Gib an: „Signale aus X Anzeigen von Y Firmen extrahiert.“


Schritt 4: Mit dem LLM bewerten

Lies references/scoring-rubric.md für das vollständige Bewertungsmodell.

Erstelle die LLM-Anfrage:

cat > /tmp/pain-map-score-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "Du bist ein GTM-Analyst, der sich darauf spezialisiert hat, Einstellungssignale in Käuferabsichten zu dekodieren. Für jeden bereitgestellten Account bewertest du drei Dimensionen und leitest den Unternehmenskontext ab. Regeln: (1) Jede Bewertung muss eine einzeilige Erklärung in Klartext enthalten. (2) signal_strength misst, wie viele und wie spezifisch die Einstellungssignale im Verhältnis zum Produktbereich des Benutzers sind. (3) urgency misst, wie zeitkritisch der Einstellungsbedarf erscheint. (4) icp_fit misst, wie genau das Unternehmen der ICP-Beschreibung des Benutzers entspricht. (5) Jede Bewertung ist 1-10. (6) overall_score = rund((0.4 * signal_strength + 0.3 * urgency + 0.3 * icp_fit) * 10). (7) Leite buy_vs_build aus der Stellenanzeigensprache ab. Verwende GENAU EINES dieser Labels: 'Leaning build', 'Leaning buy', 'Hybrid (buy-and-build)', 'Unknown'. (8) Leite stage_guess aus Firmenhinweisen ab: Finanzierungsphase, Mitarbeiterzahl, Unternehmenstyp. (9) Gib nur gültiges JSON aus."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "SCORING_CONTEXT_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.2,
    "maxOutputTokens": 4096
  }
}
ENDJSON
curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/pain-map-score-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

Ersetze SCORING_CONTEXT_HERE durch:

  • Die Produktbeschreibung und ICP-Beschreibung aus Schritt 2
  • Die extrahierten Signale pro Firma aus Schritt 3
  • Die Bewertungsrubrik-Regeln aus references/scoring-rubric.md
  • Anweisungen, um JSON auszugeben mit: company_name, headline, overall_score, score_breakdown (signal_strength, urgency, icp_fit – jeweils mit Score und Erklärung), stage_guess, buy_vs_build_guess

Schritt 5: Pain Map erstellen

Verwende für jeden Account die extrahierten Signale und den LLM-Bewertungskontext, um die Buyer Pain Map zu erstellen.

cat > /tmp/pain-map-analysis-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "Du bist ein B2B-Schmerzpunkte-Analyst, der Stellenbeschreibungen liest und die operativen Schmerzpunkte identifiziert, die ein Unternehmen erlebt. Regeln: (1) Jeder Schmerzpunkt muss ein kurzes Label, eine 1-3-Satz-Beschreibung und spezifische Zitate aus der Stellenanzeige als Belege enthalten. (2) Klassifiziere Schmerzpunkte als primär (direkt relevant für das Produkt des Benutzers) oder sekundär (echter Schmerz, aber tangential zum Produkt). (3) Wenn eine Anzeige zu allgemein ist, um spezifische Schmerzpunkte abzuleiten, sage dies explizit – erfinde keine. (4) Erstelle für jeden Account auch 1-3 empfohlene Outreach-Ansätze. Jeder Ansatz hat: angle_name (kurz), narrative (1-2 Sätze, wie man führt) und talk_track_bullets (2-4 konkrete Gesprächspunkte). (5) Outreach-Ansätze müssen auf bestimmte Schmerzpunkte und Belege verweisen, nicht auf allgemeine Wertversprechen. Keine verbotenen Wörter: Synergie, Hebelwirkung, innovativ, hochmodern, erstklassig, weltklasse, bahnbrechend, disruptiv, nahtlos, robust, umfassend, revolutionieren, transformieren, optimieren. (6) Gib nur gültiges JSON aus."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "ANALYSIS_CONTEXT_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.4,
    "maxOutputTokens": 8192
  }
}
ENDJSON
curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/pain-map-analysis-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

Ersetze ANALYSIS_CONTEXT_HERE durch:

  • Die Produktbeschreibung und ICP-Beschreibung
  • Die Stellenanzeigen jeder Firma (vollständiger Text)
  • Die Bewertungen und Kontext aus Schritt 4
  • Account-Notizen, falls vorhanden
  • Die focus_dimension-Präferenz (pipeline / positioning / both)
  • Anweisungen, um pro Account auszugeben: buyer_pain_map (primary_pains, secondary_pains) und recommended_outreach_angles

Lies references/examples.md, um die erwartete Ausgabequalität und -tiefe zu kalibrieren.


Schritt 6: Handoff-Objekt erstellen

Erstelle für jeden Account einen strukturierten Handoff-Block, den outreach-sequence-builder direkt verwenden kann:

handoff:
  for_outreach_sequence_builder:
    account_summary: 2-3 Sätze Zusammenfassung der Situation und des Einstellungskontextes des Unternehmens
    key_pain: Der am besten umsetzbare Schmerzpunkt in einem Satz
    suggested_personas: 2-4 Stellenbezeichnungen der Personen, die diesen Schmerzpunkt am ehesten betreuen
    tone: Ein Satz, der den empfohlenen Outreach-Ton beschreibt

Der Handoff muss konkret genug sein, dass jemand ihn in die Eingabeaufforderung des Outreach-Sequence-Builders einfügen und eine nutzbare Sequenz erhalten könnte, ohne den Account erneut zu recherchieren.


Schritt 7: Selbst-QA

Führe jede Prüfung durch und behebe Verstöße, bevor du präsentierst:

  • Jeder abgeleitete Schmerzpunkt zitiert mindestens einen spezifischen Ausdruck aus der Stellenbeschreibung
  • Keine erfundenen Schmerzpunkte für allgemeine / schwache Signale (überprüfe Anzeigen mit signal_strength ≤ 3)
  • Alle drei Bewertungen (signal_strength, urgency, icp_fit) haben eine einzeilige Erklärung
  • Gesamtscore entspricht der Formel: rund((0.4 × Signalstärke + 0.3 × Dringlichkeit + 0.3 × ICP-Fit) × 10)
  • Buy-vs-Build-Label ist eines von: „Leaning build“, „Leaning buy“, „Hybrid (buy-and-build)“, „Unknown“
  • Keine verbotenen Wörter in Outreach-Ansätzen: Synergie, Hebelwirkung, innovativ, hochmodern, erstklassig, weltklasse, bahnbrechend, disruptiv, nahtlos, robust, umfassend, revolutionieren, transformieren, optimieren
  • Jeder Outreach-Ansatz hat 2-4 Gesprächspunkte, keine allgemeinen Wertaussagen
  • Accounts außerhalb des ICP werden mit einer klaren Empfehlung, sie zu depriorisieren, gekennzeichnet
  • Handoff-Objekte sind vollständig mit allen 4 Feldern (account_summary, key_pain, suggested_personas, tone)
  • Keine persönlichen Eigenschaften oder geschützten Merkmale über Kandidaten abgeleitet
  • Anzeigen nach Firma gruppiert, wenn mehrere Anzeigen von derselben Firma stammen

Behebe jeden Verstoß, bevor du präsentierst.


Schritt 8: Ausgabe und Speicherung

Für Menschen lesbare Ausgabe

Präsentiere die vollständige Analyse in diesem Format:

## Buyer Pain Map — [YYYY-MM-DD]

**Produkt:** [Produktname aus der Beschreibung]
**Analysierte Anzeigen:** X Anzeigen von Y Firmen
**Fokus:** [pipeline / positioning / both]

---

### [Firmenname] — Score: [N]/100

**Überschrift:** [einzeilige Zusammenfassung, was die Einstellung enthüllt]

| Dimension | Score | Erklärung |
|-----------|-------|-------------|
| Signalstärke | N/10 | [ein Satz] |
| Dringlichkeit | N/10 | [ein Satz] |
| ICP-Fit | N/10 | [ein Satz] |

**Phase:** [Phasen-Schätzung] | **Buy-vs-Build:** [Haltungs-Label]

#### Primäre Schmerzpunkte
- **[Schmerzpunkt-Label]:** [1-3 Sätze Beschreibung]
  - Beleg: „[zitierte Phrase aus Stellenanzeige]“

#### Sekundäre Schmerzpunkte
- **[Schmerzpunkt-Label]:** [1-3 Sätze Beschreibung]
  - Beleg: „[zitierte Phrase aus Stellenanzeige]“

#### Empfohlene Outreach-Ansätze
1. **[Ansatzname]:** [Erzählung]
   - [Aufzählungspunkt 1]
   - [Aufzählungspunkt 2]
   - [Aufzählungspunkt 3]

#### Handoff → Outreach-Sequence-Builder
> **Zusammenfassung:** [2-3 Sätze]
> **Schlüsselschmerz:** [ein Satz]
> **Vorgeschlagene Personas:** [Liste]
> **Ton:** [ein Satz]

---

[wiederhole für jede Firma, sortiert nach overall_score absteigend]

In Datei speichern

mkdir -p docs/pain-maps
OUTFILE="docs/pain-maps/$(date +%Y-%m-%d).md"
cat > "$OUTFILE" << 'EOF'
REPORT_CONTENT_HERE
EOF
echo "Pain Map gespeichert unter $OUTFILE"

Wenn mehrere Firmen analysiert werden, speichere auch einzelne Dateien mit slugifizierten Firmennamen (Kleinbuchstaben, ersetze Leerzeichen und Sonderzeichen durch Bindestriche, entferne abschließende Bindestriche):

z.B. „ACME, Inc.“ → acme-inc.md, „CoolStartup Inc“ → coolstartup-inc.md

SLUG=$(echo "COMPANY_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/-$//')
cat > "docs/pain-maps/${SLUG}.md" << 'EOF'
INDIVIDUAL_ACCOUNT_CONTENT_HERE
EOF

Wann verwenden

  • Du hast 1-15 eingefügte Stellenbeschreibungen und möchtest wissen, welchen Schmerz jedes Unternehmen hat
  • Du planst Account-basierten Outreach und benötigst eine strukturierte Schmerzanalyse, bevor du Sequenzen schreibst
  • Du möchtest priorisieren, welche Accounts auf Basis von Einstellungssignalen zuerst angesprochen werden sollen
  • Ein PMM möchte echte Schmerzsprache aus Stellenanzeigen nutzen, um die Positionierung zu verfeinern

Wann NICHT verwenden

  • Du musst finden, welche Unternehmen einstellen (verwende stattdessen linkedin-hiring-intent-scanner oder yc-intent-radar-skill)
  • Du musst Outreach-Nachrichten schreiben (verwende stattdessen outreach-sequence-builder – füttere es mit dem Handoff aus diesem Skill)
  • Du möchtest eine Plattform auf Signale überwachen (verwende stattdessen reddit-icp-monitor oder twitter-GTM-find-skill)
  • Du benötigst Kontaktinformationen oder E-Mail-Anreicherung (dieses Skill bietet das nicht)

Funktioniert gut mit

  • outreach-sequence-builder: Übergib den handoff.for_outreach_sequence_builder-Block direkt als Kontext, wenn du eine Sequenz erstellst.
  • noise-to-linkedin-carousel: Verwende die primären Schmerzpunkte und Belegzitate als Quellenmaterial für eine Karussell über Käuferprobleme.
  • reddit-icp-monitor: Vergleiche Schmerzthemen aus Stellenanzeigen mit Schmerzthemen, die in Reddit-Diskussionen auftauchen.

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