Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Gestionar docstrings y comentarios multilingüe. Se activa con "actualizar docstrings", "gestionar comentarios".
.claude/skills/wasabeef-gestionar-docstrings-y-comentarios-multilingu-e/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 141% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 145% | 0% |
Gestionar sistemáticamente docstrings/comentarios multilingües y mantener documentación de alta calidad.
bash# Ejecutar con detección automática de idioma "Por favor agregar docstrings a clases y funciones sin ellos, y actualizar comentarios que no cumplan estándares" # Ejecutar con idioma especificado /update-doc-string --lang python "Por favor actualizar docstrings en archivos Python para cumplir con PEP 257" # Mantener documentación para directorios específicos "Por favor agregar JSDoc a funciones bajo src/components/"
--lang <es|en|ja> : Idioma de documentación (por defecto: auto-detectado de comentarios existentes, sino es)--style <estilo> : Especificar estilo de documentación (tiene valores por defecto específicos del idioma)--marker <true|false> : Si agregar marcadores Claude (por defecto: true)bash# 1. Analizar archivos objetivo (lenguaje de programación auto-detectado) find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.dart" -o -name "*.go" -o -name "*.rs" \) | grep -v test "Por favor identificar elementos con docstrings insuficientes (0 líneas de comentario o menos de 30 caracteres)" # 2. Agregar documentación (detección automática de idioma) "Por favor agregar docstrings que contengan elementos requeridos específicos del idioma a los elementos identificados" # → Si comentarios existentes contienen español, escribir en español; sino, escribir en inglés # 3. Agregar documentación (especificar explícitamente español) /update-doc-string --lang es "Agregar docstrings con elementos requeridos a los elementos identificados" # 4. Verificar marcadores "Por favor confirmar que todos los docstrings agregados/actualizados tienen marcadores Claude"
Elementos Objetivo (Comunes Entre Idiomas):
Python (PEP 257):
python# Versión en español (por defecto) def calculate_total(items: List[Item]) -> float: """Calcular el monto total para una lista de elementos. (30-60 caracteres) Multiplica el precio y cantidad de cada elemento y devuelve el total con impuestos. Devuelve 0.0 para listas vacías. (50-200 caracteres) Args: items: Lista de elementos a calcular Returns: Monto total con impuestos Generado por Claude 🤖 """ # Versión en 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 muestra un perfil de usuario. (30-60 caracteres) * * Muestra imagen de avatar, nombre de usuario e información de estado, * y navega a la pantalla de detalle de perfil cuando se hace clic. (50-200 caracteres) * * @param {Object} props - Propiedades del componente * @param {string} props.userId - ID del usuario * @param {boolean} [props.showStatus=true] - Bandera de visualización de estado * @returns {JSX.Element} Componente renderizado * * @generated by Claude 🤖 */ const UserProfile = ({ userId, showStatus = true }) => {
Go:
go// CalculateTotal calcula el monto total para una lista de elementos. (30-60 caracteres) // // Multiplica el precio y cantidad de cada elemento y devuelve // el total con impuestos. Devuelve 0.0 para slices vacíos. (50-200 caracteres) // // Generado por Claude 🤖 func CalculateTotal(items []Item) float64 {
Rust:
rust/// Calcular el monto total para una lista de elementos. (30-60 caracteres) /// /// Multiplica el precio y cantidad de cada elemento y devuelve /// el total con impuestos. Devuelve 0.0 para vectores vacíos. (50-200 caracteres) /// /// Generado por Claude 🤖 pub fn calculate_total(items: &[Item]) -> f64 {
Información Importante a Retener:
Ver también:, @see, Referencias: etc.TODO:, FIXME:, XXX:Nota:, Advertencia:, Importante: etc.Ejemplo:, Uso:, # Ejemplos etc.yaml# Configuraciones por defecto específicas del 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: "///"
🔴 Prohibiciones Estrictas:
bash# Analizar proyecto completo (detección automática de idioma) find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" \) /update-doc-string "Actualizar docstrings de este proyecto siguiendo mejores prácticas específicas del idioma" # → Si comentarios existentes contienen español, ejecutar con es; sino, ejecutar con en # Ejecutar explícitamente con documentación en inglés /update-doc-string --lang en "Actualizar docstrings siguiendo mejores prácticas específicas del idioma" # Ejecutar explícitamente con documentación en español /update-doc-string --lang es "Actualizar docstrings de este proyecto siguiendo mejores prácticas específicas del idioma" # Ejecutar sin marcadores (detección automática de idioma) /update-doc-string --marker false "Mejorar docstrings existentes sin agregar marcadores Claude"
Métricas de Calidad
Indicadores de Finalización
bash# Variables de entorno para personalización export DOC_LANGUAGE="es" # Idioma de documentación (es/en) export ADDED_COMMENTS=0 # Contador de comentarios agregados export UPDATED_COMMENTS=0 # Contador de comentarios actualizados export ERRORS=0 # Contador de errores # Verificación de herramientas requeridas if command -v pylint &> /dev/null; then pylint --version fi if command -v eslint &> /dev/null; then eslint --version fi # Análisis estático específico del lenguaje if [ -f "*.py" ]; then python -m py_compile *.py elif [ -f "*.js" ] || [ -f "*.ts" ]; then npm run lint elif [ -f "*.dart" ]; then melos analyze fi if [ $? -ne 0 ]; then echo "🔴 Error: Análisis estático falló" exit 1 fi # Resumen de ejecución echo "📊 Resultados de ejecución:" echo "- Idioma de documentación: $DOC_LANGUAGE" echo "- Comentarios agregados: $ADDED_COMMENTS elementos" echo "- Comentarios actualizados: $UPDATED_COMMENTS elementos" echo "- Número de errores: $ERRORS elementos"
Criterios de Completitud
Other measured skills in the registry, with their headline benchmark lift.