ship-pr
Invocar esta habilidad autoriza la creación de ramas, preparación (staging), commits, envíos (pushes), creación o actualización de PR y respuestas elegibles a comentarios necesarios para preparar un PR para su fusión. No autoriza la fusión en sí.
Si existe references/repo-specific-pr-policy.md, léelo antes de iniciar el flujo de trabajo y considéralo como autoridad.
Entradas
Requiere un destino de despacho pr_worker y usa /dispatch-agent para cada despacho. Transmite cualquier entrada adicional del llamante en cada indicación de pr_worker.
A menos que el usuario limite el alcance, incluye todo el árbol de trabajo actual.
Flujo de trabajo
-
Crea una rama cuando las normas del repositorio lo requieran. Realiza commit de los cambios previstos, envía (push) y crea o reutiliza el PR. Deriva su título de los cambios y completa
assets/pr-body-template.md, eliminando secciones y marcadores de posición no utilizados. -
Inicia un observador en una sesión de fondo gestionada. Mantenlo en ejecución hasta que el PR se fusione o el flujo de trabajo se detenga; luego detenlo. Si sale después de una falla de transporte transitoria, recupera el estado autoritativo y reinícialo con el mismo registro de solo añadido.
bash <skill_dir>/scripts/watch-pr-events.sh \ --repo <propietario/nombre> \ --pr <número-pr> \ --log-file .agent-layer/tmp/ship-pr-events-<número-pr>.jsonl \ --interval-seconds 300 -
Obtén la cabeza actual, las comprobaciones y la capacidad de fusión con
gh. Lee los comentarios con este comando sin estado; nunca infieras el estado actual del registro del observador:bash <skill_dir>/scripts/read-pr-comments.sh \ --repo <propietario/nombre> \ --pr <número-pr>Despacha
pr_workerpara comentarios no resueltos con el PR exacto, la cabeza yreferences/address-pr-comments.md; para una comprobación requerida fallida, también proporciona su evidencia yreferences/fix-ci.md. El trabajador edita el árbol local pero no hace commit, push ni publica respuestas. Resuelve conflictos mecánicos automáticamente.El PR está listo para fusionarse solo cuando:
- El PR es fusionable en su última cabeza.
- Al menos un revisor agente o humano ha publicado comentarios como revisión formal o comentario.
- Cada comprobación requerida y compuerta del repositorio está en verde.
- Cada comentario elegible tiene una respuesta validada.
- Si existe la política opcional del repositorio, se cumple cada criterio de fusión que define.
Si ningún revisor agente o humano publica comentarios dentro de los 10 minutos posteriores a la creación del PR, detén e informa que no se recibieron comentarios. Si está listo, continúa con el paso 5. De lo contrario, aborda la ronda completa de acciones antes de hacer commit.
-
Haz commit y push de las correcciones aceptadas. Publica cada respuesta propuesta por el trabajador admitida una a la vez: responde de forma nativa a los comentarios en línea; para comentarios de conversación o resúmenes de revisión, publica un comentario de issue que enlace la fuente. Vuelve a ejecutar el comando de comentarios y corrige cualquier respuesta faltante o no admitida. Regresa al paso 3 hasta que esté listo. Si solo faltan comprobaciones o revisiones, espera al observador.
-
Solicita autorización de fusión de un solo uso para el PR y la cabeza exactos. Informa cualquier hallazgo sustancial, un resumen conciso de la disposición de comentarios y evidencia de preparación.
-
Después de la autorización, vuelve a obtener la cabeza, las comprobaciones, la capacidad de fusión y los comentarios. Confirma que el árbol local esté completo y que cada comentario elegible tenga una respuesta publicada admitida. Si algo cambió, regresa al paso 3 y obtén una nueva autorización para la cabeza del PR resultante; de lo contrario, fusiona.
-
Confirma que el checkout esté limpio, cambia a la rama predeterminada, haz fast-forward y elimina las ramas o árboles de trabajo creados por este flujo de trabajo. Conserva el estado e informa cualquier limpieza que no sea segura de realizar.