polish-claw-project
Acerca de
Esta habilidad proporciona un flujo de trabajo estructurado de 9 pasos para contribuir con mejoras de seguridad y código a los proyectos del ecosistema OpenClaw. Se centra en la auditoría paralela de código, la verificación cruzada de hallazgos para evitar falsos positivos y la creación de solicitudes de extracción adecuadas. Úsela cuando necesite revisar sistemáticamente y contribuir a los repositorios de OpenClaw, NemoClaw o NanoClaw, respetando las convenciones del proyecto.
Instalación rápida
Claude Code
Recomendadonpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/polish-claw-projectCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Polish Claw Project
Flujo de trabajo estructurado para contribuir a proyectos del ecosistema OpenClaw. El valor novedoso está en los Pasos 5-7: auditoría paralela, prevención de falsos positivos y referencia cruzada de hallazgos contra issues abiertos para seleccionar contribuciones de alto impacto. Los pasos mecánicos (fork, creación de PR) delegan a habilidades existentes.
Cuándo Usar
- Contribuir a NVIDIA/OpenClaw, NVIDIA/NemoClaw, NVIDIA/NanoClaw o repos similares del ecosistema Claw
- Primeras contribuciones a un proyecto open-source desconocido con arquitectura sensible a la seguridad
- Cuando quieres un flujo de contribución repetible y auditable en lugar de fixes ad-hoc
- Después de identificar un proyecto Claw que acepta contribuciones externas (verificar CONTRIBUTING.md)
Entradas
- Requerido:
repo_url— URL de GitHub del proyecto Claw objetivo (p. ej.,https://github.com/NVIDIA/NemoClaw) - Opcional:
contribution_count— Número de contribuciones a apuntar (predeterminado: 1-3)focus— Tipo de contribución preferido:security,tests,docs,bugs,any(predeterminado:any)fork_org— Org/usuario de GitHub para hacer fork (predeterminado: usuario autenticado)
Procedimiento
Paso 1: Identificar y Verificar el Objetivo
Confirmar que el proyecto acepta contribuciones externas y está activamente mantenido.
- Abrir la URL del repositorio y leer
CONTRIBUTING.md,CODE_OF_CONDUCT.mdyLICENSE - Verificar la actividad reciente de commits (últimos 30 días) y la tasa de merge de PRs abiertos
- Verificar que el proyecto usa una licencia permisiva o amigable para contribuciones
- Leer
SECURITY.mdo política de seguridad si está presente — anotar reglas de divulgación responsable - Identificar el lenguaje primario, framework de tests y sistema de CI
Esperado: CONTRIBUTING.md existe, commits dentro de los últimos 30 días, pautas claras de contribución.
En caso de fallo: Si no hay CONTRIBUTING.md o no hay actividad reciente, documentar por qué y detenerse — los proyectos obsoletos raramente mergean PRs externos.
Paso 2: Hacer Fork y Clonar
Crear una copia de trabajo del repositorio.
- Fork:
gh repo fork <repo_url> --clone - Establecer remote upstream:
git remote add upstream <repo_url> - Verificar:
git remote -vmuestra ambosorigin(fork) yupstream - Sincronizar:
git fetch upstream && git checkout main && git merge upstream/main
Esperado: Clon local con ambos remotes configurados y actualizados.
En caso de fallo: Si el fork falla, verificar autenticación de GitHub (gh auth status). Si el clon es lento, probar --depth=1 para exploración inicial.
Paso 3: Explorar la Base de Código
Construir un modelo mental de la arquitectura del proyecto.
- Leer
README.mdpara resumen de arquitectura y objetivos del proyecto - Identificar puntos de entrada, módulos centrales y superficie de API pública
- Mapear la estructura de pruebas: dónde viven las pruebas, qué framework, nivel de cobertura
- Anotar convenciones de estilo de código: config de linter, patrones de nombrado, estilo de import
- Verificar configuración Docker/contenedor, configuración CI y patrones de despliegue
Esperado: Comprensión clara de la estructura del proyecto, convenciones y dónde encajarían las contribuciones.
En caso de fallo: Si la arquitectura no está clara, enfocarse en un subsistema específico en lugar del proyecto completo.
Paso 4: Leer Issues Abiertos
Encuestar issues existentes para entender las necesidades del proyecto y evitar trabajo duplicado.
- Listar issues abiertos:
gh issue list --state open --limit 50 - Categorizar por tipo: bugs, características, docs, seguridad, good-first-issue
- Anotar issues etiquetados como
help wanted,good first issueohacktoberfest - Verificar issues obsoletos (>90 días abiertos, sin comentarios recientes) — pueden estar abandonados
- Leer cualquier PR vinculado para entender soluciones intentadas
Esperado: Lista categorizada de issues no reclamados con etiquetas de tipo.
En caso de fallo: Si no existen issues abiertos, proceder al Paso 5 — la auditoría puede descubrir mejoras no listadas.
Paso 5: Auditoría Paralela
Ejecutar auditorías de seguridad y calidad de código en paralelo. Aquí es donde emergen hallazgos novedosos.
- Ejecutar la habilidad
security-audit-codebasecontra la raíz del proyecto - Simultáneamente ejecutar la habilidad
review-codebasecon scopequality - Crítico: verificar cada hallazgo contra el modelo de amenaza y arquitectura del proyecto
- Un "secreto hardcoded" en un script de bootstrap de sandbox no es una vulnerabilidad
- Una validación de entrada faltante en una función solo-interna es de severidad baja
- Una dependencia marcada como vulnerable puede ya estar mitigada por la arquitectura del proyecto
- Calificar los hallazgos verificados: CRITICAL, HIGH, MEDIUM, LOW
- Documentar falsos positivos con razonamiento — informan los Errores Comunes para futuras ejecuciones
Esperado: Lista de hallazgos verificados con calificaciones de severidad y anotaciones de falsos positivos.
En caso de fallo: Si no emergen hallazgos, cambiar el enfoque a brechas de cobertura de tests, mejoras de documentación o mejoras de experiencia del desarrollador.
Paso 6: Referencia Cruzada de Hallazgos
Mapear hallazgos verificados de auditoría a issues abiertos — el paso de juicio central.
- Para cada hallazgo verificado, buscar issues abiertos por discusiones relacionadas
- Categorizar cada hallazgo como:
- Coincide con issue abierto — vincular el hallazgo al issue
- Hallazgo nuevo — ningún issue existente cubre esto
- Ya arreglado en PR — verificar PRs abiertos por fixes en progreso
- Priorizar hallazgos que coinciden con issues existentes (mayor probabilidad de merge)
- Para hallazgos nuevos, evaluar si los mantenedores darían la bienvenida al fix basándose en las prioridades del proyecto
Esperado: Lista priorizada con mapeo hallazgo-a-issue y evaluación de probabilidad de merge.
En caso de fallo: Si todos los hallazgos ya están abordados, regresar al Paso 4 y buscar contribuciones de documentación, tests o experiencia del desarrollador.
Paso 7: Seleccionar Contribuciones
Elegir 1-3 contribuciones basándose en impacto, esfuerzo y experticia.
- Puntuar cada candidato en:
- Impacto: ¿Cuánto mejora esto al proyecto? (seguridad > bugs > tests > docs)
- Esfuerzo: ¿Se puede hacer bien en una sesión enfocada? (preferir PRs pequeños y completos)
- Experticia: ¿El contribuyente tiene conocimiento de dominio para este fix?
- Probabilidad de merge: ¿Esto coincide con las prioridades declaradas del proyecto?
- Seleccionar los candidatos top (predeterminado: 1-3)
- Para cada uno, definir: nombre de rama, límite de scope, criterios de aceptación, plan de pruebas
Esperado: 1-3 contribuciones seleccionadas con scope claro y criterios de aceptación.
En caso de fallo: Si ninguna contribución puntúa bien, considerar archivar issues bien escritos en lugar de PRs.
Paso 8: Implementar
Crear una rama por contribución e implementar el fix.
- Para cada contribución:
git checkout -b fix/<description> - Seguir las convenciones del proyecto exactamente (linter, nombrado, estilo de import)
- Añadir o actualizar pruebas cubriendo el cambio
- Ejecutar la suite de pruebas del proyecto: verificar que todas las pruebas pasan
- Ejecutar el linter del proyecto: verificar que no hay nuevas advertencias
- Mantener cada PR enfocado — un cambio lógico por rama
Esperado: Implementación limpia con pruebas pasando y sin advertencias del linter.
En caso de fallo: Si las pruebas fallan en problemas pre-existentes, documentarlas y asegurar que el PR no introduce nuevos fallos.
Paso 9: Crear Pull Requests
Enviar contribuciones siguiendo el CONTRIBUTING.md del proyecto.
- Push de la rama:
git push origin fix/<description> - Crear PR usando la habilidad
create-pull-request - Referenciar el issue relacionado en el cuerpo del PR (p. ej., "Fixes #123")
- Seguir la plantilla de PR del proyecto si existe
- Ser responsivo al feedback del revisor — iterar rápidamente
Esperado: PRs creados, vinculados a issues, siguiendo las convenciones del proyecto.
En caso de fallo: Si la creación de PR falla, verificar reglas de protección de rama y acuerdos de licencia de contribuyente.
Validación
- Todas las contribuciones seleccionadas han sido implementadas y enviadas como PRs
- Cada PR referencia el issue relacionado (si existe uno)
- Todas las pruebas del proyecto pasan en cada rama de PR
- No se enviaron hallazgos de falsos positivos como issues reales
- Las descripciones de PR siguen la plantilla del CONTRIBUTING.md del proyecto
Errores Comunes
- Sobre-reclamación de falsos positivos: Los proyectos Claw usan arquitecturas de sandbox — una "vulnerabilidad" dentro de un entorno sandboxed puede ser por diseño. Siempre verificar contra el modelo de amenaza del proyecto antes de reportar.
- Disrupción de la cadena de digest/firma: Los proyectos Claw a menudo usan cadenas de verificación para la integridad del modelo. Los cambios deben preservar estas cadenas o el PR será rechazado.
- Desajuste de convenciones: Los proyectos Claw aplican estilo estricto. Ejecutar el linter del proyecto, no uno genérico. Coincidir con el ordenamiento de imports, formato de docstrings y patrones de tests exactamente.
- Scope creep: 3 PRs enfocados se mergean más rápido que 1 PR extenso. Mantener cada contribución atómica.
- Fork obsoleto: Siempre sincronizar con upstream antes de comenzar el trabajo (
git fetch upstream && git merge upstream/main).
Habilidades Relacionadas
- security-audit-codebase — usado en el Paso 5 para hallazgos de seguridad
- review-codebase — usado en el Paso 5 para revisión de calidad de código
- create-pull-request — usado en el Paso 9 para creación de PR
- create-github-issues — para archivar issues de hallazgos no abordados como PRs
- manage-git-branches — gestión de ramas durante la implementación
- commit-changes — flujo de trabajo de commit
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
