Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Gerenciar docstrings e comentários multilíngue. Ativa com "atualizar docstrings", "gerenciar comentários".
.claude/skills/wasabeef-gerenciar-docstrings-e-comenta-rios-multili-ngue/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 145% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 334% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 136% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 460% | 0% |
Gerencia sistematicamente docstrings/comentários multilíngues e mantém documentação de alta qualidade.
bash# Executar com detecção automática de idioma "Adicione docstrings a classes e funções sem comentários e atualize comentários que não atendem aos critérios" # Executar especificando idioma /update-doc-string --lang python "Atualize docstrings de arquivos Python em conformidade com PEP 257" # Organizar documentação de diretório específico "Adicione JSDoc às funções em src/components/"
--lang <en|pt> : Idioma de descrição da documentação (padrão: detecção automática dos comentários existentes, pt se não houver)--style <estilo> : Especificar estilo de documentação (com padrões específicos por idioma)--marker <true|false> : Se deve adicionar marcadores Claude (padrão: true)bash# 1. Análise de arquivos alvo (detecção automática da linguagem de programação) find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.dart" -o -name "*.go" -o -name "*.rs" \) | grep -v test "Identifique elementos com docstring insuficiente (0 linhas de comentário ou menos de 30 caracteres)" # 2. Adição de documentação (detecção automática de idioma) "Adicione docstring com elementos essenciais específicos do idioma aos elementos identificados" # → Se houver japonês nos comentários existentes, escrever em japonês, senão em inglês # 3. Adição de documentação (especificação explícita de inglês) /update-doc-string --lang en "Add docstrings with required elements to the identified elements" # 4. Verificação de marcador "Confirme que todas as docstrings adicionadas/atualizadas possuem marcadores Claude"
Elementos alvo (comum a todas as linguagens):
Python (PEP 257):
python# Versão em português (padrão) def calculate_total(items: List[Item]) -> float: """Calcula o valor total de uma lista de itens. (30-60 caracteres) Multiplica o preço e quantidade de cada item e retorna o total com impostos. Retorna 0.0 para listas vazias. (50-200 caracteres) Args: items: Lista de itens para cálculo Returns: Valor total com impostos Generated by Claude 🤖 """ # Versão em inglês (--lang en) def calculate_total(items: List[Item]) -> float: """Calculate the total amount for a list of items. (30-60 chars) Multiplies the price and quantity of each item and returns the total with tax. Returns 0.0 for empty lists. (50-200 chars) Args: items: List of items to calculate Returns: Total amount with tax Generated by Claude 🤖 """
JavaScript/TypeScript (JSDoc):
javascript/** * Componente que exibe o perfil do usuário. (30-60 caracteres) * * Exibe imagem de avatar, nome de usuário e informações de status, * fazendo transição para tela de detalhes do perfil ao clicar. (50-200 caracteres) * * @param {Object} props - Propriedades do componente * @param {string} props.userId - ID do usuário * @param {boolean} [props.showStatus=true] - Flag de exibição de status * @returns {JSX.Element} Componente renderizado * * @generated by Claude 🤖 */ const UserProfile = ({ userId, showStatus = true }) => {
Go:
go// CalculateTotal calcula o valor total de uma lista de itens. (30-60 caracteres) // // Multiplica o preço e quantidade de cada item e retorna o total // com impostos. Retorna 0.0 para slices vazios. (50-200 caracteres) // // Generated by Claude 🤖 func CalculateTotal(items []Item) float64 {
Rust:
rust/// Calcula o valor total de uma lista de itens. (30-60 caracteres) /// /// Multiplica o preço e quantidade de cada item e retorna o total /// com impostos. Retorna 0.0 para vetores vazios. (50-200 caracteres) /// /// Generated by Claude 🤖 pub fn calculate_total(items: &[Item]) -> f64 {
Dart (DartDoc):
dart/// Widget que exibe o perfil do usuário. (30-60 caracteres) /// /// Organiza verticalmente imagem de avatar, nome de usuário e informações de status, /// fazendo transição para tela de detalhes do perfil ao tocar. (50-200 caracteres) /// /// Generated by Claude 🤖 class UserProfileWidget extends StatelessWidget {
Informações importantes a preservar:
See also:, @see, Veja também: etc.TODO:, FIXME:, XXX:Note:, Warning:, Atenção: etc.Example:, Exemplo:, # Examples etc.yaml# Configurações padrão por idioma languages: python: style: "google" # google, numpy, sphinx indent: 4 quotes: '"""' javascript: style: "jsdoc" indent: 2 prefix: "/**" suffix: "*/" typescript: style: "tsdoc" indent: 2 prefix: "/**" suffix: "*/" go: style: "godoc" indent: 0 prefix: "//" rust: style: "rustdoc" indent: 0 prefix: "///" dart: style: "dartdoc" indent: 0 prefix: "///"
🔴 Itens absolutamente proibidos:
Execução e verificação:
bash# Registro de resultados de execução ADDED_COMMENTS=0 UPDATED_COMMENTS=0 ERRORS=0 # Detecção automática de idioma dos comentários existentes # Se detectar padrões portugueses comuns → pt, senão en DOC_LANGUAGE="en" # padrão if grep -r 'ção\|ões\|agem\|ário\|ória\|ência\|português\|brasil' --include="*.py" --include="*.js" --include="*.ts" --include="*.dart" --include="*.go" --include="*.rs" . 2>/dev/null | head -n 1; then DOC_LANGUAGE="pt" fi # Detecção automática de linguagem de programação e análise estática if [ -f "*.py" ]; then pylint --disable=all --enable=missing-docstring . elif [ -f "*.js" ] || [ -f "*.ts" ]; then eslint . --rule 'jsdoc/require-jsdoc: error' elif [ -f "*.go" ]; then golint ./... elif [ -f "*.rs" ]; then cargo doc --no-deps elif [ -f "*.dart" ]; then melos analyze fi if [ $? -ne 0 ]; then echo "🔴 Erro: Análise estática falhou" exit 1 fi # Saída do resumo de execução echo "📊 Resultado da execução:" echo "- Idioma da documentação: $DOC_LANGUAGE" echo "- Comentários adicionados: $ADDED_COMMENTS itens" echo "- Comentários atualizados: $UPDATED_COMMENTS itens" echo "- Número de erros: $ERRORS itens"
bash# Análise de projeto inteiro (detecção automática de idioma) find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" \) /update-doc-string "Atualize as docstrings deste projeto seguindo as melhores práticas específicas de cada linguagem" # → Se houver japonês nos comentários existentes, executa em ja, senão en # Execução explícita em inglês /update-doc-string --lang en "Update docstrings following language-specific best practices" # Execução explícita em japonês /update-doc-string --lang pt "Atualize as docstrings deste projeto seguindo as melhores práticas específicas de cada linguagem" # Execução sem marcador (detecção automática de idioma) /update-doc-string --marker false "Improve existing docstrings without adding Claude markers" # Documentação em inglês, sem marcador /update-doc-string --lang en --marker false "Improve existing docstrings without adding Claude markers"
Other measured skills in the registry, with their headline benchmark lift.