Communitygithub.com

Varnan-Tech/opendirectory

Use quando o usuário pedir para gerar ou atualizar o arquivo de contexto CLAUDE ou AGENTS de um projeto a partir de uma varredura do código. Escreve um arquivo focado com menos de 100 linhas contendo apenas os comandos de build, convenções e pegadinhas não óbvios que o Claude Code precisa.

O que é opendirectory?

Esta skill automatiza a criação e manutenção do arquivo CLAUDE.md (ou arquivos de contexto similares para agentes de IA, como AGENTS.md) para projetos de software. O objetivo é gerar um documento conciso, com menos de 100 linhas, que contenha exclusivamente informações que o Claude (ou outro agente) não consiga deduzir apenas lendo o código-fonte. A skill opera em três modos: `create` (cria um novo CLAUDE.md), `update` (melhora um existente sem descartar conteúdo personalizado) e `audit` (avalia a qualidade de todos os CLAUDE.md do projeto com notas de A a F). O fluxo de trabalho começa com a detecção do modo, seguida por uma varredura da estrutura do projeto, extração de comandos de build/teste, identificação de 'gotchas' (pegadinhas) como arquivos auto-gerados e variáveis de ambiente necessárias, e finalmente a geração de um rascunho usando a API Gemini. Uma etapa crucial é a auto-verificação de qualidade do rascunho e a exigência de aprovação do usuário antes de escrever o arquivo, garantindo que o conteúdo seja relevante, preciso e dentro do limite de tamanho. A skill é ideal para desenvolvedores que usam o Claude Code ou outros agentes e desejam mantê-los produtivos com um contexto de projeto enxuto e focado.

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

Perguntar na sua IA favorita

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

Documentação

Gerador de CLAUDE.md

Leia o código-fonte. Escreva um CLAUDE.md que diga exatamente o que o Claude precisa: nem mais, nem menos.


Regra crítica: Um bom CLAUDE.md tem menos de 100 linhas. Contém apenas informações que o Claude não consegue derivar da leitura do código em si. Não escreva o arquivo automaticamente: sempre mostre o rascunho e aguarde a aprovação do usuário primeiro.

Regra de snippets de código: Nunca inclua exemplos de código inline no CLAUDE.md. Em vez disso, use referências como arquivo.ts:42. Código no CLAUDE.md desperdiça tokens e fica desatualizado.


Etapa 1: Detectar Modo

Determine qual dos três modos executar:

create: Nenhum CLAUDE.md existe. Escreva um do zero. update: Um CLAUDE.md existe. Melhore-o sem descartar conteúdo personalizado. audit: Pontue todos os arquivos CLAUDE.md no projeto de A a F e gere um relatório de qualidade. Se o usuário disser "auditar", "verificar", "revisar" ou "avaliar" meu CLAUDE.md, execute o modo audit.

# Descubra TODOS os locais de CLAUDE.md
find . -name "CLAUDE.md" -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null
ls ~/.claude/CLAUDE.md 2>/dev/null && echo "CLAUDE.md global encontrado"
ls .claude.local.md 2>/dev/null && echo ".claude.local.md encontrado"

Se vários arquivos CLAUDE.md forem encontrados: liste-os. Pergunte: "Encontrei CLAUDE.md em [locais]. Devo atualizar todos ou apenas [raiz]?"


Etapa 2: Modo de Auditoria (pule para a Etapa 3 se for create/update)

Para cada CLAUDE.md encontrado, atribua uma nota de A a F usando esta rubrica:

CritérioO que verificar
ComandosComandos de build/teste/lint presentes e executáveis?
ArquiteturaEstrutura não óbvia explicada?
Padrões não óbviosPegadinhas, arquivos gerados, ordem de variáveis de ambiente documentada?
ConcisãoMenos de 100 linhas? Sem preenchimento óbvio?
AtualidadeComandos ainda correspondem ao package.json/Makefile atual?
AcionabilidadeUm novo contribuidor pode seguir isso sem fazer perguntas?

Pontuação: 90-100 = A, 70-89 = B, 50-69 = C, 30-49 = D, 0-29 = F

Apresente como uma tabela:

## Relatório de Auditoria do CLAUDE.md

| Arquivo | Pontuação | Nota | Principais Problemas |
|---------|-----------|------|----------------------|
| ./CLAUDE.md | 72 | B | Seção de pegadinhas ausente, comando de teste desatualizado |
| ./packages/api/CLAUDE.md | 45 | D | Nenhum comando, 340 linhas (muito longo), anotações de arquitetura obsoletas |

**Geral: B (72/100)**

Problemas encontrados:
- ./packages/api/CLAUDE.md: 340 linhas: muito acima do alvo de 100 linhas
- ./packages/api/CLAUDE.md: Comando de teste referencia `jest` mas package.json usa `vitest`
- ./CLAUDE.md: Nenhuma seção de Pegadinhas: a seção mais valiosa está faltando

Após o relatório, pergunte: "Quer que eu corrija algum destes? (todos / apenas raiz / especifique)"

Se o usuário disser sim, continue para a Etapa 3 para cada arquivo que ele deseja corrigir.


Etapa 3: Escanear Estrutura do Projeto

# Tipo de projeto e gerenciador de pacotes
ls package.json yarn.lock pnpm-lock.yaml bun.lockb requirements.txt pyproject.toml Cargo.toml go.mod 2>/dev/null

# Estrutura de diretórios de nível superior
find . -maxdepth 2 -type d \
  | grep -v node_modules | grep -v .git | grep -v __pycache__ \
  | grep -v ".next" | grep -v dist | grep -v build | sort

Etapa 4: Extrair Comandos de Build e Teste

# Scripts npm/yarn/pnpm/bun
cat package.json 2>/dev/null \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
for name, cmd in d.get('scripts', {}).items():
    print(f'{name}: {cmd}')
"

# Makefiles Python, Go, Rust
cat Makefile 2>/dev/null | grep -E "^[a-z].*:" | head -20

# Go
cat go.mod 2>/dev/null | head -5

# Rust
cat Cargo.toml 2>/dev/null | grep -E "^\[" | head -10

Identifique os comandos exatos para: build, teste (todos), teste (arquivo/nome único), servidor de desenvolvimento, lint/typecheck. Anote quaisquer variáveis de ambiente necessárias para executá-los.


Etapa 5: Encontrar Estilo de Código e Pegadinhas

# Aliases de importação (mais comumente esquecidos)
python3 -c "
import json, sys
try:
    d = json.load(open('tsconfig.json'))
    paths = d.get('compilerOptions', {}).get('paths', {})
    if paths: print('Aliases de importação:', json.dumps(paths, indent=2))
except: pass
" 2>/dev/null

# Variáveis de ambiente necessárias
cat .env.example 2>/dev/null | grep -v "^#" | grep -v "^$" | head -20

# Arquivos gerados automaticamente (não devem ser editados)
find . -path "*/node_modules" -prune -o -name "*.ts" -print \
  | xargs grep -l "DO NOT EDIT\|@generated\|Generated by" 2>/dev/null | head -5

# Requisitos de configuração de teste
cat jest.config.js jest.config.ts vitest.config.ts 2>/dev/null | head -30

# Configuração de banco de dados/migração
ls migrations/ prisma/ drizzle/ db/ 2>/dev/null

O que conta como Pegadinha (inclua estas, pule todo o resto):

  • Arquivos que são gerados automaticamente (não devem ser editados)
  • Variáveis de ambiente necessárias ANTES da execução dos testes
  • Mapeamentos de aliases de importação não padrão
  • Comandos de teste que exigem um serviço em execução
  • Peculiaridades intencionais conhecidas (soluções alternativas, não bugs)

Etapa 6: Gerar Rascunho do CLAUDE.md com Gemini

Compile todas as descobertas e gere o rascunho:

cat > /tmp/claude-md-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "Escreva um arquivo CLAUDE.md para um projeto de software. Regras: (1) Menos de 100 linhas no total. (2) Inclua apenas o que o Claude não pode derivar da leitura do código. (3) Sem exemplos de código inline: use referências como arquivo.ts:42. (4) Seções: Comandos, Estilo de Código (apenas não padrões), Testes (apenas se for necessária configuração), Pegadinhas (obrigatório: o que pega as pessoas). Pule qualquer seção que não tenha nada de não óbvio para dizer. (5) Todos os comandos em blocos de código. (6) Ordem preferida: Breve Visão Geral do Projeto (1-2 frases, apenas se não óbvia), Comandos, Arquitetura (apenas estrutura não óbvia), Estilo de Código, Testes, Pegadinhas. (7) Não use travessões. (8) Produza apenas o conteúdo do CLAUDE.md, sem comentários."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "ANALISE_DO_PROJETO_AQUI"
    }]
  }],
  "generationConfig": {
    "temperature": 0.3,
    "maxOutputTokens": 2048
  }
}
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/claude-md-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

Substitua ANALISE_DO_PROJETO_AQUI pelas descobertas das Etapas 3-5.

Para projetos grandes (50+ arquivos): Adicione um ponteiro @path no final do CLAUDE.md em vez de detalhes inline:

## Referência Estendida
Veja @docs/ai-context/architecture.md para o mapa completo do módulo.
Veja @docs/ai-context/testing.md para detalhes da configuração de teste de integração.

Escreva os arquivos referenciados em docs/ai-context/ com os detalhes que não caberiam em 100 linhas.


Etapa 7: Auto-Verificação

Antes de apresentar o rascunho, verifique:

  • Menos de 100 linhas (conte: echo "$CONTEUDO" | wc -l)
  • Sem exemplos de código inline (apenas referências arquivo.ts:42 ou comandos shell)
  • Todos os comandos em blocos de código e executáveis como estão
  • Seção de Pegadinhas presente com pelo menos uma entrada real
  • Nenhuma seção que diz apenas coisas óbvias a partir dos arquivos
  • Sem travessões
  • Sem palavras de marketing ou frases de preenchimento ("Este projeto usa React para...")
  • Aliases de importação documentados se existirem
  • Arquivos gerados automaticamente marcados como "não editar" se existirem

Se alguma verificação falhar, revise antes de apresentar.


Etapa 8: Apresentar Rascunho e Aguardar Aprovação

Nunca escreva o arquivo sem a aprovação do usuário.

Apresente o rascunho em um bloco de código:

## Rascunho do CLAUDE.md ([N] linhas)

[conteúdo completo do rascunho aqui]

---
Escrever isso no CLAUDE.md? (sim / editar primeiro / cancelar)

Se o usuário disser sim: escreva o arquivo e confirme: "CLAUDE.md escrito ([N] linhas). Seções: [lista de ## cabeçalhos]."

Se o usuário disser editar primeiro: aplique as edições e mostre o rascunho novamente.

Se o usuário disser cancelar: pare.


O que NÃO Incluir

  • Versão da linguagem/framework ("Este é um projeto TypeScript")
  • Como o framework funciona (o Claude já conhece React, FastAPI, etc.)
  • Lista de todas as dependências
  • Regras de estilo que o linter já aplica (tamanho da indentação, estilo de aspas)
  • Conteúdo que duplica o README.md
  • Exemplos de código inline ou snippets de várias linhas
  • Qualquer coisa que seria idêntica para qualquer projeto usando a mesma pilha

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

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