返回技能列表

review-pull-request

pjt222
更新于 Yesterday
5 次查看
17
2
17
在 GitHub 上查看
其他general

关于

This skill performs comprehensive GitHub pull request reviews using GitHub CLI, analyzing diffs, commit history, and CI/CD checks. It provides structured feedback with severity levels (blocking/suggestion/detail/praise) and submits reviews via `gh pr review`. Use it when assigned to review a PR, for self-review before seeking feedback, for follow-up reviews after changes, or for post-merge quality audits.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-pull-request

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档


name: review-pull-request description: > Revisar una pull request de principio a fin usando GitHub CLI. Cubre el análisis del diff, la revisión del historial de commits, la verificación de comprobaciones CI/CD, la retroalimentación con niveles de gravedad (bloqueante/sugerencia/detalle/elogio) y el envío con gh pr review. Usar cuando se asigne una pull request para revisión, al realizar una autorrevisión antes de pedir la opinión de otros, al realizar una segunda revisión tras abordar la retroalimentación, o al auditar una PR fusionada para una evaluación de calidad posterior a la fusión. locale: es source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Grep Glob Bash WebFetch metadata: author: Philipp Thoss version: "1.0" domain: review complexity: intermediate language: multi tags: review, pull-request, github, code-review, gh-cli, feedback, pr

Revisar Pull Request

Revisar una pull request de GitHub de principio a fin — desde comprender el cambio hasta enviar retroalimentación estructurada. Usa el CLI gh para todas las interacciones con GitHub y produce comentarios de revisión con niveles de gravedad.

Cuándo Usar

  • Una pull request está lista para revisión y se le ha asignado
  • Realizar una segunda revisión después de que el autor aborda la retroalimentación
  • Revisar su propia PR antes de solicitar la revisión de otros (autorrevisión)
  • Auditar una PR fusionada para una evaluación de calidad posterior a la fusión
  • Cuando desea un proceso de revisión estructurado en lugar de un escaneo ad-hoc

Entradas

  • Obligatorio: Identificador de PR (número, URL o owner/repo#number)
  • Opcional: Enfoque de revisión (seguridad, rendimiento, corrección, estilo)
  • Opcional: Nivel de familiaridad con la base de código (familiar, algo, desconocido)
  • Opcional: Presupuesto de tiempo para la revisión (escaneo rápido, estándar, exhaustivo)

Procedimiento

Paso 1: Comprender el Contexto

Leer la descripción de la PR y entender qué trata de lograr el cambio.

  1. Obtener los metadatos de la PR:
    gh pr view <number> --json title,body,author,baseRefName,headRefName,labels,additions,deletions,changedFiles,reviewDecision
    
  2. Leer el título y la descripción de la PR:
    • ¿Qué problema resuelve esta PR?
    • ¿Qué enfoque adoptó el autor?
    • ¿Hay áreas específicas que el autor quiere que se revisen?
  3. Verificar el tamaño de la PR y evaluar el tiempo requerido:
Guía de Tamaño de PR:
+----------+-----------+---------+---------------------------------------+
| Tamaño   | Archivos  | Líneas  | Enfoque de Revisión                   |
+----------+-----------+---------+---------------------------------------+
| Pequeño  | 1-5       | <100    | Leer cada línea, revisión rápida      |
| Mediano  | 5-15      | 100-500 | Enfocarse en cambios lógicos, revisar |
|          |           |         | superficialmente la configuración     |
| Grande   | 15-30     | 500-    | Revisar por commit, centrarse en      |
|          |           | 1000    | archivos críticos, señalar si debe   |
|          |           |         | dividirse                             |
| XL       | 30+       | 1000+   | Señalar para división. Revisar solo  |
|          |           |         | los archivos más críticos.            |
+----------+-----------+---------+---------------------------------------+
  1. Revisar el historial de commits:
    gh pr view <number> --json commits --jq '.commits[].messageHeadline'
    
    • ¿Son los commits lógicos y bien estructurados?
    • ¿Cuenta el historial una historia (cada commit un paso coherente)?
  2. Verificar el estado de CI/CD:
    gh pr checks <number>
    
    • ¿Están pasando todas las comprobaciones?
    • Si las comprobaciones fallan, anote cuáles — esto afecta la revisión

Esperado: Una comprensión clara de qué hace la PR, por qué existe, qué tamaño tiene y si CI está en verde. Este contexto da forma al enfoque de revisión.

En caso de fallo: Si la descripción de la PR está vacía o es poco clara, anote esto como la primera retroalimentación. Una PR sin contexto es un antipatrón de revisión. Si los comandos gh fallan, verifique que está autenticado (gh auth status) y tiene acceso al repositorio.

Paso 2: Analizar el Diff

Leer los cambios de código reales de manera sistemática.

  1. Obtener el diff completo:
    gh pr diff <number>
    
  2. Para PRs pequeñas/medianas, leer el diff completo secuencialmente
  3. Para PRs grandes, revisar por commit:
    gh pr diff <number> --patch  # formato de parche completo
    
  4. Para cada archivo modificado, evaluar:
    • Corrección: ¿Hace el código lo que dice la PR que hace?
    • Casos extremos: ¿Se manejan las condiciones de borde?
    • Manejo de errores: ¿Los errores se capturan y gestionan apropiadamente?
    • Seguridad: ¿Hay riesgos de inyección, autenticación o exposición de datos?
    • Rendimiento: ¿Hay bucles O(n²) obvios, índices faltantes o problemas de memoria?
    • Nomenclatura: ¿Las nuevas variables/funciones/clases tienen nombres claros?
    • Pruebas: ¿Los nuevos comportamientos están cubiertos por pruebas?
  5. Tomar notas mientras lee, clasificando cada observación por gravedad

Esperado: Un conjunto de observaciones que cubra la corrección, seguridad, rendimiento y calidad para cada cambio significativo en el diff. Cada observación tiene un nivel de gravedad.

En caso de fallo: Si el diff es demasiado grande para revisarlo eficazmente, señálelo: "Esta PR modifica {N} archivos y {M} líneas. Recomiendo dividirla en PRs más pequeñas para una revisión más efectiva." De todos modos, revise los archivos de mayor riesgo.

Paso 3: Clasificar la Retroalimentación

Organizar las observaciones en niveles de gravedad.

  1. Clasificar cada observación:
Niveles de Gravedad de Retroalimentación:
+-----------+------+----------------------------------------------------+
| Nivel     | Icono| Descripción                                        |
+-----------+------+----------------------------------------------------+
| Bloqueante| [B]  | Debe corregirse antes de fusionar. Errores,        |
|           |      | problemas de seguridad, riesgos de pérdida de      |
|           |      | datos, funcionalidad rota.                         |
| Sugerencia| [S]  | Debería corregirse, pero no bloqueará la fusión.   |
|           |      | Mejores enfoques, casos extremos faltantes,        |
|           |      | problemas de estilo que afectan la mantenibilidad. |
| Detalle   | [N]  | Mejora opcional. Preferencias de estilo,           |
|           |      | sugerencias menores de nomenclatura, formato.      |
| Elogio    | [P]  | Buen trabajo que merece mención. Soluciones        |
|           |      | inteligentes, pruebas exhaustivas, abstracciones   |
|           |      | limpias.                                           |
+-----------+------+----------------------------------------------------+
  1. Para cada elemento Bloqueante, explicar:
    • Qué está mal (el problema específico)
    • Por qué importa (el impacto)
    • Cómo corregirlo (una sugerencia concreta)
  2. Para cada elemento Sugerencia, explicar la alternativa y por qué es mejor
  3. Mantener los Detalles breves — una oración es suficiente
  4. Incluir al menos un Elogio si algo positivo destaca

Esperado: Una lista ordenada de elementos de retroalimentación con niveles de gravedad claros. Los elementos Bloqueantes tienen sugerencias de corrección. La proporción debería ser generalmente: pocos Bloqueantes, algunos Sugerencia, mínimos Detalles, al menos un Elogio.

En caso de fallo: Si todo parece bloqueante, puede que la PR necesite rehacerse en lugar de parchearse. Considere solicitar cambios a nivel de PR en lugar de comentarios línea por línea. Si nada parece incorrecto, dígalo — "LGTM" es una retroalimentación válida cuando el código es bueno.

Paso 4: Redactar los Comentarios de Revisión

Componer la revisión con retroalimentación estructurada y accionable.

  1. Redactar el resumen de la revisión (comentario de nivel superior):
    • Una oración: qué hace la PR (confirmar la comprensión)
    • Evaluación general: aprobar, solicitar cambios o comentar
    • Elementos clave: listar los problemas Bloqueantes (si los hay) y los principales Sugerencia
    • Elogio: destacar el buen trabajo
  2. Redactar comentarios en línea para ubicaciones específicas del código:
    # Publicar comentarios en línea mediante la API de gh
    gh api repos/{owner}/{repo}/pulls/{number}/comments \
      -f body="[B] Esta consulta SQL es vulnerable a inyección. Use consultas parametrizadas en su lugar.\n\n\`\`\`suggestion\ndb.query('SELECT * FROM users WHERE id = $1', [userId])\n\`\`\`" \
      -f commit_id="<sha>" \
      -f path="src/users.js" \
      -F line=42 \
      -f side="RIGHT"
    
  3. Formatear la retroalimentación consistentemente:
    • Comenzar cada comentario con la etiqueta de gravedad: [B], [S], [N] o [P]
    • Usar bloques de sugerencia de GitHub para correcciones concretas
    • Enlazar a documentación para sugerencias de estilo/patrón
  4. Enviar la revisión:
    # Aprobar
    gh pr review <number> --approve --body "Resumen de revisión aquí"
    
    # Solicitar cambios (cuando existen problemas bloqueantes)
    gh pr review <number> --request-changes --body "Resumen de revisión aquí"
    
    # Solo comentar (cuando no está seguro o proporciona retroalimentación informativa)
    gh pr review <number> --comment --body "Resumen de revisión aquí"
    

Esperado: Una revisión enviada con retroalimentación clara y accionable. El autor sabe exactamente qué corregir (Bloqueante), qué considerar (Sugerencia) y qué salió bien (Elogio).

En caso de fallo: Si gh pr review falla, verifique los permisos. Necesita acceso de escritura al repositorio o ser un revisor solicitado. Si los comentarios en línea fallan, ponga toda la retroalimentación en el cuerpo de la revisión con referencias a archivo:línea.

Paso 5: Seguimiento

Rastrear la resolución de la revisión.

  1. Después de que el autor responda o empuje actualizaciones:
    gh pr view <number> --json reviewDecision,reviews
    
  2. Revisar solo los cambios que abordan su retroalimentación:
    gh pr diff <number>  # verificar nuevos commits
    
  3. Verificar que los elementos Bloqueantes están resueltos antes de aprobar
  4. Resolver hilos de comentarios a medida que se abordan los problemas
  5. Aprobar cuando todos los elementos Bloqueantes están corregidos:
    gh pr review <number> --approve --body "Todos los problemas bloqueantes resueltos. LGTM."
    

Esperado: Los problemas Bloqueantes verificados como corregidos. Conversación de revisión resuelta. PR aprobada o se solicitan más cambios con elementos restantes específicos.

En caso de fallo: Si el autor no está de acuerdo con la retroalimentación, discuta en el hilo de la PR. Enfóquese en el impacto (por qué importa) en lugar de la autoridad. Si el desacuerdo persiste en elementos no bloqueantes, ceda con gracia — el autor es dueño del código.

Validación

  • Contexto de la PR comprendido (propósito, tamaño, estado de CI)
  • Todos los archivos modificados revisados (o los de mayor riesgo para PRs XL)
  • Retroalimentación clasificada por gravedad (Bloqueante/Sugerencia/Detalle/Elogio)
  • Los elementos Bloqueantes tienen sugerencias de corrección específicas
  • Al menos un Elogio incluido para aspectos positivos
  • La decisión de revisión coincide con la retroalimentación (aprobar solo si no hay elementos Bloqueantes)
  • Los comentarios en línea hacen referencia a líneas específicas con etiquetas de gravedad
  • Comprobaciones CI/CD verificadas (en verde antes de aprobar)
  • Seguimiento completado después de las revisiones del autor

Errores Comunes

  • Aprobar sin revisar: Aprobar sin leer realmente el diff. Cada aprobación es una afirmación de calidad
  • Avalancha de detalles: Abrumar al autor con preferencias de estilo. Reserve los detalles para situaciones de tutoría; omítalos en revisiones con tiempo limitado
  • Perder el bosque: Revisar línea por línea sin entender el diseño general. Leer la descripción de la PR y el historial de commits primero
  • Bloquear por estilo: El formato y la nomenclatura casi nunca son bloqueantes. Reserve Bloqueante para errores, seguridad e integridad de datos
  • Sin elogio: Señalar solo problemas es desmoralizante. El buen código merece reconocimiento
  • Expansión del alcance de la revisión: Comentar sobre código que no se modificó en la PR. Si los problemas preexistentes le molestan, abra un issue separado

Habilidades Relacionadas

  • review-software-architecture — revisión de arquitectura a nivel de sistema (complementaria a la revisión a nivel de PR)
  • security-audit-codebase — análisis de seguridad profundo para PRs con cambios sensibles a la seguridad
  • create-pull-request — el otro lado del proceso: crear PRs fáciles de revisar
  • commit-changes — un historial de commits limpio facilita significativamente la revisión de PRs

GitHub 仓库

pjt222/agent-almanac
路径: i18n/es/skills/review-pull-request
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

llamaguard

其他

LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。

查看技能

cost-optimization

其他

这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。

查看技能

quantizing-models-bitsandbytes

其他

这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。

查看技能

dispatching-parallel-agents

其他

该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。

查看技能