Communitygithub.com

Varnan-Tech/opendirectory

Auditoria brutalmente honesta de experiência do desenvolvedor (DX) para repositórios GitHub. Avalia 10 dimensões de DX, gera um 'roast' compartilhável no tom solicitado, um plano de ação priorizado por impacto × esforço e um README ideal.

O que é opendirectory?

Esta skill realiza uma auditoria completa da experiência do desenvolvedor (Developer Experience - DX) de um repositório GitHub. Ela analisa 10 dimensões críticas (como clareza do README, instalação, exemplos e sinais de confiança), atribui notas de 0 a 10 para cada uma e calcula uma nota final (A-F). O resultado é um conjunto de quatro arquivos: um 'roast' (crítica) no tom escolhido (brutal, honesto ou gentil), um plano de ação priorizado por impacto dividido pelo esforço, um README ideal seguindo um modelo pré-definido e um arquivo JSON com as pontuações brutas. A skill é executada sob regras rigorosas, como não inventar URLs, não nomear mantenedores, citar evidências específicas e garantir que todos os 10 dimensões sejam pontuados. Suporta comparação com outro repositório para benchmarking. É ideal para mantenedores de OSS e fundadores de ferramentas dev que se preparam para lançamentos como Show HN ou Product Hunt, onde os primeiros cinco minutos de interação são cruciais. A skill opera de forma somente leitura, nunca modifica o repositório alvo e lida explicitamente com erros como repositório não encontrado, README ausente ou falta de autenticação.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

dx-roaster

Analisa e critica a experiência do desenvolvedor (DX) de um repositório GitHub. Produz quatro arquivos: roast.md, action-plan.md, ideal-readme.md, score.json. Criado para mantenedores de OSS e fundadores de ferramentas dev que se preparam para Show HN, Product Hunt ou qualquer lançamento onde os primeiros cinco minutos importam.


Regras críticas (leia antes de cada execução)

  1. Leia todos os três arquivos de referência ANTES de pontuar. references/scoring-rubric.md, references/roast-voice-guide.md, references/readme-template.md. A rubrica é inegociável — use as 10 dimensões exatas.

  2. Pontue cada dimensão na escala de 0–10. Nunca pule. Dados ausentes = nota 0, não "N/A".

  3. A crítica deve citar descobertas específicas. Cite linhas ruins textualmente. Referencie caminhos de arquivos. Cite números de linha quando possível. Nunca escreva lugares-comuns genéricos como "a documentação poderia ser melhor".

  4. O tom importa. Padrão honest. Mude a voz conforme references/roast-voice-guide.md. O tom brutal é engraçado, mas nunca pessoal. O tom gentil é encorajador, mas ainda específico.

  5. O plano de ação é ordenado por impacto, não por severidade. Use impacto × (1 / esforço). Uma correção de 5 minutos que adiciona 10 pontos fica acima de uma correção de 2 horas que adiciona 12 pontos.

  6. Nunca invente URLs. Ao escrever ideal-readme.md, use a sintaxe <placeholder> para links ausentes. A crítica dirá ao mantenedor para preencher.

  7. Nunca nomeie mantenedores ou contribuidores. Critique o trabalho, não as pessoas.

  8. Produza exatamente quatro arquivos em dx-roast/. Não escreva em outros locais. Não pule arquivos.


Etapa 1: Entrada

Obrigatório:

  • repo — caminho local (padrão .) OU URL https://github.com/owner/repo

Opcional:

ParâmetroPadrãoDescrição
tonehonestbrutal / honest / kind
output_dirdx-roast/Onde escrever os 4 arquivos de saída
compare_tonenhumURL opcional de um segundo repositório para comparação de benchmark

Se repo for uma URL: clone para um diretório temporário usando git clone <url> /tmp/dx-roast-<hash-curto>. Escaneie a partir daí. Exclua o diretório temporário após a execução.

Se repo for . ou um caminho local: escaneie no local, não modifique nada.


Etapa 2: Descoberta

Leia estes arquivos (cada um pode estar ausente — anote a ausência):

  • README.md — conteúdo completo, estrutura (cabeçalhos), blocos de código, referências de imagem, URLs de badges
  • CONTRIBUTING.md, CODE_OF_CONDUCT.md
  • .github/ISSUE_TEMPLATE/, .github/PULL_REQUEST_TEMPLATE.md, .github/CODEOWNERS
  • package.json (descrição, homepage, repositório, licença, scripts), pyproject.toml, Cargo.toml, go.mod
  • LICENSE (existência + tipo)
  • Conteúdo da pasta docs/ (apenas nomes de arquivos + tamanhos)
  • Pasta examples/ ou samples/ ou cookbook/
  • .github/workflows/*.yml (apenas nomes + verificação breve da presença de CI)

Se repo for uma URL, também busque via gh:

gh 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'

Capture e continue se alguma chamada ao GitHub falhar.


Etapa 3: Pontuar 10 dimensões

Para cada uma das 10 dimensões em references/scoring-rubric.md, produza {score: 0–10, evidence: [...]} onde evidence é uma lista de 1–3 strings curtas citando o que você encontrou.

Exemplo:

"visual_proof": {
  "score": 4,
  "evidence": [
    "Encontrei 1 captura de tela na linha 89 (abaixo da dobra)",
    "Nenhuma demonstração animada / gif",
    "Nenhum vídeo"
  ]
}

Some as notas → total (0–100) → nota (A/B/C/D/F conforme rubrica).

Salve em dx-roast/score.json com este formato exato:

{
  "repo": "<owner/repo ou caminho local>",
  "scanned_at": "<carimbo de data/hora ISO 8601>",
  "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"
}

Etapa 4: Escrever a crítica

Leia references/roast-voice-guide.md. Aplique o tom solicitado. Escreva 250–500 palavras em dx-roast/roast.md.

Estrutura obrigatória:

# DX Roast: <nome do repositório>

**Nota: <letra> (<total>/100)** · Tom: <tone>

<Parágrafo 1: o veredito. O que funciona + a grande lacuna.>

<Parágrafo 2: cite 2 descobertas específicas com referências a arquivos.>

<Parágrafo 3: cite mais 2 descobertas, relacione às notas das dimensões.>

<Parágrafo 4 (opcional): um toque final ou comparação com um repositório conhecido e bom.>

<Parágrafo de encerramento: aponte para `action-plan.md` para o caminho a seguir.>

Toda crítica deve referenciar pelo menos 3 descobertas específicas dos arrays de evidências de score.json.


Etapa 5: Gerar plano de ação

Calcule prioridade = impacto / minutos_de_esforço para cada correção candidata. Pegue as 5–10 principais. Ordene decrescente por prioridade.

Para cada correção, escreva em dx-roast/action-plan.md:

### N. <Correção no modo imperativo, uma linha>

**Por quê:** <Justificativa de uma frase. Referencie qual dimensão melhora.>

**Impacto:** +<X> pontos · **Esforço:** <5min / 30min / 2h / meio-dia>

**Como:**

1. <Passo concreto 1>
2. <Passo concreto 2>
3. <Passo concreto 3>

<Snippet opcional de código/markdown mostrando a alteração exata>

Abra action-plan.md com:

# Plano de Ação — <nome do repositório>

Nota atual: <letra> (<total>/100)
Principais correções classificadas por impacto × esforço. Faça estas em ordem.

---

Etapa 6: Gerar README ideal

Leia references/readme-template.md. Preencha o modelo conforme a seção "Regras de preenchimento". Escreva em dx-roast/ideal-readme.md.

Use placeholders <homepage_url> etc. para valores ausentes. Limite de comprimento: 100 linhas.


Etapa 7: Resumo no terminal

Imprima este formato exato para o usuário:

DX Roast concluído — Nota: <letra> (<total>/100)

Top 3 correções (classificadas por impacto):
  1. <correção 1>                                +<X> pts  · <esforço>
  2. <correção 2>                                +<X> pts  · <esforço>
  3. <correção 3>                                +<X> pts  · <esforço>

Arquivos:
  → dx-roast/roast.md          (veredito compartilhável)
  → dx-roast/action-plan.md    (correções priorizadas)
  → dx-roast/ideal-readme.md   (estado desejado)
  → dx-roast/score.json        (notas brutas)

Se compare_to foi fornecido, adicione uma linha de comparação:

Benchmark: <outro repositório> pontua <X>/100 (nota <Y>) — diferença de <delta> pontos.

Auto-QA (toda execução, antes de imprimir o resumo no terminal)

  • Todas as 10 dimensões em score.json têm nota + evidências
  • Total é igual à soma das dimensões
  • A letra da nota corresponde aos limites da rubrica
  • A crítica referencia pelo menos 3 itens de evidência de score.json
  • A crítica não nomeia nenhum mantenedor / contribuidor
  • O plano de ação tem 5–10 itens, ordenados decrescente por prioridade
  • O README ideal tem < 100 linhas
  • O README ideal usa <placeholder> para qualquer URL não encontrada na varredura
  • Todos os 4 arquivos existem em output_dir
  • Nenhum placeholder <TBD> / <TODO> em roast.md ou action-plan.md

Se alguma verificação falhar, corrija e reexecute essa etapa.


Tratamento de erros

Estes quatro modos de falha têm tratamento explícito — nunca deixe a skill produzir uma saída parcial silenciosamente sem revelar a causa.

CasoComportamento
repo não existe OU não pode ser clonado OU não pode ser lidoSaia imediatamente com a mensagem Repositório não encontrado ou inacessível: <repo>. Não escreva nenhum arquivo de saída.
README.md está ausenteExecute mesmo assim. Pontue what_is_this_clarity, visual_proof, runnable_quick_start e marketing_signals perto de 0. Use a ausência como abertura da crítica ("Nenhum README é uma declaração por si só").
Repositório é privado e nenhuma autenticação GitHub disponívelTente um clone local (git clone <url>); se falhar, saia com O repositório é privado e nenhuma autenticação está disponível. Sugira que o usuário defina GITHUB_TOKEN ou passe um caminho local.
URL de compare_to falha (rede, 404, privado, etc.)Continue sem o benchmark. Adicione uma única linha à crítica: Nota: o benchmark solicitado contra <compare_to> não pôde ser obtido. Omita a linha Benchmark: do resumo no terminal.

Qualquer erro da API do GitHub (limite de taxa, 5xx transitório) durante a busca de metadados da Etapa 2 é capturado e registrado em score.json sob trust_signals.evidence como "metadados do github indisponíveis". O restante da execução prossegue.


Exemplos

Invocação boa:

"Critique meu repositório em https://github.com/minhaorg/minhaferramenta — tom: brutal."

→ Skill clona, escaneia, pontua, escreve 4 arquivos em dx-roast/, imprime resumo. Tempo total de execução <60s para um repositório típico.

Comparação boa:

"Auditoria DX no diretório atual. Benchmark contra https://github.com/vercel/next.js."

→ Escaneia ambos, pontua o atual, inclui linha de benchmark na crítica e no resumo.


O que esta skill NÃO faz

  • Não modifica o repositório alvo (varredura somente leitura)
  • Não executa auditorias de segurança ou varreduras de dependências
  • Não gera copy de marketing (itens de ação são concretos, não "reescreva para tom")
  • Não produz imagens ou ativos (apenas placeholders)
  • Não publica em mídias sociais (escreve apenas texto compartilhável)

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.

Habilidades Relacionadas