polish-claw-project
À propos
Cette compétence propose un processus structuré en 9 étapes pour contribuer à l'amélioration de la sécurité et du code des projets de l'écosystème OpenClaw. Elle se concentre sur l'audit parallèle du code, la vérification croisée des résultats pour éviter les faux positifs, et la création de demandes de fusion appropriées. Utilisez-la lorsque vous devez examiner et contribuer de manière systématique aux dépôts OpenClaw, NemoClaw ou NanoClaw, tout en respectant les conventions des projets.
Installation rapide
Claude Code
Recommandénpx 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-projectCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
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
Dépôt GitHub
Compétences associées
content-collections
MétaCette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.
polymarket
MétaCette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.
creating-opencode-plugins
MétaCette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.
sglang
MétaSGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.
