publicar-issues
Crea, comenta y edita issues del tracker con gh de forma barata — título, cuerpo, etiquetas y dependencias como texto. Usala al publicar un corte aprobado o al comentar un issue.
SKILL.md.claude/skills/publicar-issues/SKILL.md
GitHubPublicar issues
Fuente de las reglas: docs/agents/issue-tracker.md. Los tipos del título son
los de convenciones-git. El vocabulario es el de CONTEXT.md (rebanada,
cimiento, ticket).
Antes de publicar
- El corte tiene que estar aprobado por el usuario. Sin aprobación explícita no se publica nada.
- Etiquetas: todo ticket lleva
tipo:,area:yprioridad:(esquema endocs/agents/issue-tracker.md);tamano:,espera:ybloqueadacuando corresponda. Verificá conrtk gh label list --limit 100: sin el límite,ghmuestra solo 30 y parece que faltan etiquetas que sí existen. Una inexistente hace fallar elcreate, y crear etiquetas está denegado. No usesready-for-agent. - Publicá en orden de dependencia: los bloqueantes primero, para que el
número de
Bloqueada por:ya exista.
Crear
rtk gh issue create --title "tipo(alcance): mensaje breve" \
--label <existente> --body-file <archivo-fuera-del-repo>
Cuerpo, en español:
Bloqueada por: #12 (solo si hay; arriba de todo)
## Qué tiene que quedar andando
## Criterios de aceptación
## Qué tiene que quedar en pie
## Cómo se verifica
Dice en el cuerpo, no en el título, si es cimiento o rebanada.
Leer y listar con poco texto
rtk gh issue view <n> --comments
rtk gh issue list --state open --json number,title
Pedí body y comments solo del issue que vas a trabajar.
Mover la tarjeta en el tablero
El tablero es el proyecto 2 de luciano-stefano-meloclaps. Columnas: Backlog,
Listo, En curso, En revisión, Hecho. Solo se mueven tarjetas
(item-edit); el proyecto y sus campos no se tocan.
O=luciano-stefano-meloclaps; P=PVT_kwHOBS9uN84BgJQ7
ITEM=$(rtk gh project item-list 2 --owner $O --limit 100 --format json \
--jq '.items[]|select(.content.number==<n>)|.id')
CAMPO=$(rtk gh project field-list 2 --owner $O --format json \
--jq '.fields[]|select(.name=="Status")|.id')
OPC=$(rtk gh project field-list 2 --owner $O --format json \
--jq '.fields[]|select(.name=="Status")|.options[]|select(.name=="<columna>")|.id')
rtk gh project item-edit --id $ITEM --project-id $P --field-id $CAMPO --single-select-option-id $OPC
Si falla por permisos, el GH_TOKEN no tiene project: reportalo y seguí, el
tablero no bloquea el trabajo.
Cargar los campos de la tarjeta
Al publicar un ticket, además de las etiquetas, cargá en su tarjeta los campos
Tipo, Área, Prioridad y, si corresponde, Tamaño y Espera, y asigná el
hito con --milestone. Son los que se ven en
la vista Kanban. Es el mismo comando de arriba cambiando el nombre del
campo (Status por Tipo, Área, Prioridad o Tamaño) y el valor de la
opción. Los valores son los de las etiquetas: Prioridad va con inicial
mayúscula (Crítica, Alta, Media, Baja) y Tamaño en S, M o L.
Un campo vacío no aparece en la tarjeta.
Hecho no se mueve a mano: al cerrar el issue lo pone el tablero.
Lo que la guarda no deja pasar
limitar-gh.sh deniega un gh que aparece dentro de otro comando. Para evitarlo:
un comando gh por llamada, sin cd … && gh, y sin escribir gh ni
gh project como texto dentro del cuerpo de un heredoc. Escribí el cuerpo en
un archivo fuera del repo y pasalo con --body-file.
Reglas duras
- No cerrar ni editar un issue que no creaste, salvo pedido explícito.
- Cerrar es de
publicar-pr: solo con el PR mergeado endevelopment. - Dependencias siempre como texto, nunca con
gh api.