Communitygithub.com

Varnan-Tech/opendirectory

Schonungsloses Developer-Experience-Audit für ein GitHub-Repo. Bewertet 10 DX-Dimensionen, schreibt einen teilbaren ‚Roast‘ im gewünschten Ton und erstellt einen priorisierten Aktionsplan.

Was ist opendirectory?

Dieses Skill („dx-roaster“) führt ein ehrliches Developer-Experience-Audit für ein beliebiges GitHub-Repository durch. Es bewertet zehn genau definierte Dimensionen wie Time-to-First-Success, README-Klarheit, visuelle Belege, Installationsaufwand, Quick-Start-Tauglichkeit, Dokumentationstiefe, Beispiele, Community-Signale, Vertrauenssignale und Marketing-Signale – jeweils auf einer Skala von 0 bis 10. Das Ergebnis wird in einer „Roast“-Datei (im gewünschten Ton: brutal, ehrlich oder freundlich), einem priorisierten Aktionsplan (sortiert nach Impact/Aufwand), einem idealen README-Entwurf und einer JSON-Datei mit Rohwerten ausgegeben. Das Skill ist für OSS-Maintainer und Dev-Tool-Gründer gedacht, die vor einem Launch wie Show HN oder Product Hunt ihre Repräsentation optimieren möchten. Es unterstützt sowohl lokale Verzeichnisse als auch GitHub-URLs, arbeitet schreibgeschützt und erstellt vier Ausgabedateien im Verzeichnis `dx-roast/`. Die Referenzdateien (Bewertungsrubrik, Sprachleitfaden, README-Vorlage) müssen vor jeder Ausführung gelesen werden.

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

In Ihrer bevorzugten KI fragen

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

Dokumentation

dx-roaster

Roasted ein GitHub-Repo in Sachen Developer Experience. Erzeugt vier Dateien: roast.md, action-plan.md, ideal-readme.md, score.json. Entwickelt für OSS-Maintainer und Dev-Tool-Gründer, die sich auf Show HN, Product Hunt oder einen Launch vorbereiten, bei dem die ersten fünf Minuten entscheidend sind.


Wichtige Regeln (vor jedem Durchlauf lesen)

  1. Lies alle drei Referenzdateien VOR der Bewertung. references/scoring-rubric.md, references/roast-voice-guide.md, references/readme-template.md. Die Rubrik ist nicht verhandelbar – verwende die exakten 10 Dimensionen.

  2. Bewerte jede Dimension auf der Skala 0–10. Niemals überspringen. Fehlende Daten = Punktzahl 0, nicht „N/A".

  3. Der Roast muss konkrete Fundstellen zitieren. Zitiere schlechte Zeilen wörtlich. Referenziere Dateipfade. Nenne Zeilennummern, wenn möglich. Schreibe niemals allgemeine Floskeln wie „die Dokumentation könnte besser sein".

  4. Der Ton ist wichtig. Standard ist honest. Wechsle die Stimme gemäß references/roast-voice-guide.md. Brutal ist lustig, aber niemals persönlich. Freundlich ist ermutigend, aber dennoch konkret.

  5. Der Aktionsplan ist nach Impact sortiert, nicht nach Schweregrad. Verwende impact × (1 / effort). Ein 5-Minuten-Fix, der 10 Punkte bringt, steht über einem 2-Stunden-Fix, der 12 Punkte bringt.

  6. Erfinde niemals URLs. Schreibe in ideal-readme.md fehlende Links mit <placeholder>-Syntax. Der Roast sagt dem Maintainer, dass er sie ausfüllen soll.

  7. Nenne niemals Maintainer oder Beitragende. Roaste die Arbeit, nicht die Personen.

  8. Gib genau vier Dateien aus in dx-roast/. Schreibe nicht an andere Orte. Überspringe keine Dateien.


Schritt 1: Annahme

Erforderlich:

  • repo – lokaler Pfad (Standard .) ODER https://github.com/owner/repo-URL

Optional:

ParameterStandardBeschreibung
tonehonestbrutal / honest / kind
output_dirdx-roast/Wohin die 4 Ausgabedateien geschrieben werden
compare_tokeinerOptionale zweite Repo-URL für Benchmark-Vergleich

Falls repo eine URL ist: Klone in ein temporäres Verzeichnis mit git clone <url> /tmp/dx-roast-<short-hash>. Scanne von dort. Lösche das temporäre Verzeichnis nach dem Durchlauf.

Falls repo . oder ein lokaler Pfad ist: Scanne direkt vor Ort, verändere nichts.


Schritt 2: Erkunden

Lies diese Dateien (jede kann fehlen – notiere das Fehlen):

  • README.md – vollständiger Inhalt, Struktur (Überschriften), Codeblöcke, Bildreferenzen, Badge-URLs
  • CONTRIBUTING.md, CODE_OF_CONDUCT.md
  • .github/ISSUE_TEMPLATE/, .github/PULL_REQUEST_TEMPLATE.md, .github/CODEOWNERS
  • package.json (Beschreibung, Homepage, Repository, Lizenz, Skripte), pyproject.toml, Cargo.toml, go.mod
  • LICENSE (Existenz + Typ)
  • docs/-Ordner-Inhalt (nur Dateinamen + Größen)
  • examples/ oder samples/ oder cookbook/-Ordner
  • .github/workflows/*.yml (nur Namen + kurze CI-Prüfung)

Falls repo eine URL ist, rufe zusätzlich via gh ab:

g-h api repos/<owner>/<repo> --jq '{stars: .stargazers_count, forks: .forks_count, watchers: .subscribers_count, pushed_at, description, homepage, topics, default_branch}'
gh api repos/<owner>/<repo>/commits --jq '.[0].commit.author.date' | head -1
gh api repos/<owner>/<repo>/contributors --paginate --jq '[.[] | .login] | length'

Fange Fehler ab und fahre fort, falls ein GitHub-Aufruf fehlschlägt.


Schritt 3: 10 Dimensionen bewerten

Gib für jede der 10 Dimensionen in references/scoring-rubric.md aus: {score: 0–10, evidence: [...]} wobei evidence eine Liste mit 1–3 kurzen Zeichenketten ist, die deine Funde zitieren.

Beispiel:

"visual_proof": {
  "score": 4,
  "evidence": [
    "1 Screenshot gefunden in Zeile 89 (unter der Falz)",
    "Keine animierte Demo / kein GIF",
    "Kein Video"
  ]
}

Summiere die Punktzahlen → Gesamtpunktzahl (0–100) → Note (A/B/C/D/F gemäß Rubrik).

Speichere in dx-roast/score.json mit genau dieser Struktur:

{
  "repo": "<owner/repo or local path>",
  "scanned_at": "<ISO 8601 timestamp>",
  "dimensions": {
    "time_to_first_success": { "score": 7, "evidence": ["..."] },
    "what_is_this_clarity": { "score": 5, "evidence": ["..."] },
    "visual_proof": { "score": 4, "evidence": ["..."] },
    "install_simplicity": { "score": 9, "evidence": ["..."] },
    "runnable_quick_start": { "score": 8, "evidence": ["..."] },
    "documentation_depth": { "score": 6, "evidence": ["..."] },
    "examples": { "score": 5, "evidence": ["..."] },
    "community_signals": { "score": 3, "evidence": ["..."] },
    "trust_signals": { "score": 7, "evidence": ["..."] },
    "marketing_signals": { "score": 4, "evidence": ["..."] }
  },
  "total": 58,
  "grade": "D",
  "tone": "honest"
}

Schritt 4: Den Roast schreiben

Lies references/roast-voice-guide.md. Wende den gewünschten Ton an. Schreibe 250–500 Wörter in dx-roast/roast.md.

Erforderliche Struktur:

# DX Roast: <Repo-Name>

**Note: <Buchstabe> (<Gesamtpunktzahl>/100)** · Ton: <Ton>

<Absatz 1: das Urteil. Was funktioniert + die große Lücke.>

<Absatz 2: zitiere 2 konkrete Funde mit Dateireferenzen.>

<Absatz 3: zitiere 2 weitere Funde, verknüpft mit Dimensionspunktezahlen.>

<Absatz 4 (optional): eine letzte Wendung oder ein Vergleich mit einem bekannten guten Repo.>

<Schlussabsatz: verweise auf `action-plan.md` für den weiteren Weg.>

Jeder Roast muss mindestens 3 konkrete Funde aus den Evidence-Arrays von score.json referenzieren.


Schritt 5: Aktionsplan erstellen

Berechne priority = impact / effort_minutes für jeden Kandidaten-Fix. Nimm die Top 5–10. Sortiere absteigend nach Priorität.

Schreibe für jeden Fix in dx-roast/action-plan.md:

### N. <Fix im Imperativ, eine Zeile>

**Warum:** <Ein-Satz-Begründung. Referenziere die verbesserte Dimension.>

**Impact:** +<X> Punkte · **Aufwand:** <5min / 30min / 2h / half-day>

**So geht's:**

1. <Konkreter Schritt 1>
2. <Konkreter Schritt 2>
3. <Konkreter Schritt 3>

<Optionaler Code-/Markdown-Ausschnitt, der die exakte Änderung zeigt>

Eröffne action-plan.md mit:

# Aktionsplan — <Repo-Name>

Aktuelle Note: <Buchstabe> (<Gesamtpunktzahl>/100)
Top-Fixes, sortiert nach Impact × Aufwand. Führe sie in dieser Reihenfolge aus.

---

Schritt 6: Ideales README erstellen

Lies references/readme-template.md. Fülle die Vorlage gemäß dem Abschnitt „Ausfüllregeln". Schreibe in dx-roast/ideal-readme.md.

Verwende Platzhalter <homepage_url> usw. für fehlende Werte. Längenbegrenzung: 100 Zeilen.


Schritt 7: Terminal-Zusammenfassung

Gib dem Benutzer dieses exakte Format aus:

DX Roast abgeschlossen — Note: <Buchstabe> (<Gesamtpunktzahl>/100)

Top 3 Fixes (nach Impact sortiert):
  1. <Fix 1>                                +<X> Pkt.  · <Aufwand>
  2. <Fix 2>                                +<X> Pkt.  · <Aufwand>
  3. <Fix 3>                                +<X> Pkt.  · <Aufwand>

Dateien:
  → dx-roast/roast.md          (teilbares Urteil)
  → dx-roast/action-plan.md    (priorisierte Fixes)
  → dx-roast/ideal-readme.md   (Zielzustand)
  → dx-roast/score.json        (Rohpunkte)

Falls compare_to angegeben wurde, füge eine Vergleichszeile hinzu:

Benchmark: <anderes Repo> erzielt <X>/100 (Note <Y>) — Differenz von <Delta> Punkten.

Selbst-QA (jeder Durchlauf, vor dem Ausgeben der Terminal-Zusammenfassung)

  • Alle 10 Dimensionen in score.json haben Punktzahl + Belege
  • Gesamtpunktzahl entspricht der Summe der Dimensionen
  • Notenbuchstabe entspricht der Gesamtpunktzahl gemäß Rubrik-Schwellenwerten
  • Roast referenziert mindestens 3 Belegpunkte aus score.json
  • Roast nennt keinen Maintainer / Beitragenden
  • Aktionsplan enthält 5–10 Einträge, absteigend nach Priorität sortiert
  • Ideales README hat weniger als 100 Zeilen
  • Ideales README verwendet <placeholder> für jede nicht gefundene URL
  • Alle 4 Dateien existieren in output_dir
  • Keine <TBD> / <TODO>-Platzhalter in roast.md oder action-plan.md

Falls eine Prüfung fehlschlägt, korrigiere und führe den Schritt erneut aus.


Fehlerbehandlung

Diese vier Fehlerfälle werden explizit behandelt – lasse das Skill niemals stillschweigend eine teilweise Ausgabe produzieren, ohne die Ursache zu nennen.

FallVerhalten
repo existiert nicht ODER kann nicht geklont werden ODER kann nicht gelesen werdenSofort beenden mit der Meldung Repo nicht gefunden oder nicht zugänglich: <repo>. Keine Ausgabedateien schreiben.
README.md fehltTrotzdem ausführen. Bewerte what_is_this_clarity, visual_proof, runnable_quick_start und marketing_signals nahe 0. Nutze die Abwesenheit als Einstieg in den Roast („Kein README ist eine Aussage für sich").
Repo ist privat + keine GitHub-Authentifizierung verfügbarVersuche einen lokalen Clone (git clone <url>); falls fehlgeschlagen, beende mit Repo ist privat und keine Authentifizierung verfügbar. Schlage vor, dass der Benutzer GITHUB_TOKEN setzt oder einen lokalen Pfad übergibt.
compare_to-URL schlägt fehl (Netzwerk, 404, privat, usw.)Ohne Benchmark fortfahren. Füge dem Roast eine einzelne Zeile hinzu: Hinweis: Der angeforderte Benchmark gegen <compare_to> konnte nicht abgerufen werden. Lasse die Zeile Benchmark: aus der Terminal-Zusammenfassung weg.

Jeder GitHub-API-Fehler (Ratenlimit, vorübergehender 5xx) während des Metadatenabrufs in Schritt 2 wird abgefangen und in score.json unter trust_signals.evidence als "github-metadaten nicht verfügbar" protokolliert. Der Rest des Durchlaufs wird fortgesetzt.


Beispiele

Gute Aufforderung:

„Roaste mein Repo unter https://github.com/myorg/mytool – Ton: brutal."

→ Skill klont, scannt, bewertet, schreibt 4 Dateien nach dx-roast/, gibt Zusammenfassung aus. Gesamte Laufzeit <60s für ein typisches Repo.

Guter Vergleich:

„DX-Audit für das aktuelle Verzeichnis. Benchmark gegen https://github.com/vercel/next.js."

→ Scannt beide, bewertet das aktuelle, fügt Benchmark-Zeile in Roast und Zusammenfassung ein.


Was dieses Skill NICHT tut

  • Es verändert das Ziel-Repo nicht (schreibgeschützter Scan)
  • Es führt keine Sicherheitsaudits oder Abhängigkeitsscans durch
  • Es erstellt keine Marketingtexte (Aktionspunkte sind konkret, nicht „für den Ton umschreiben")
  • Es erzeugt keine Bilder oder Assets (nur Platzhalter)
  • Es postet nicht in sozialen Medien (schreibt nur teilbaren Text)

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

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

Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a nurture asset", or "make a PDF report".

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