AgentSkillsCN

contextor-revert

智能地回滚特定轨道、阶段或任务的更改

SKILL.md
--- frontmatter
name: contextor-revert
description: Revierte cambios de un track, fase o tarea específica de forma inteligente
user-invocable: true
argument-hint: "<track|fase|tarea> [identificador]"

Contextor Revert

Revierte cambios de forma inteligente, entendiendo unidades lógicas de trabajo.

Argumento: $ARGUMENTS

Formatos válidos:

  • track:{nombre} - Revierte todo un track
  • fase:{número} - Revierte una fase del track activo
  • tarea:{número} - Revierte una tarea específica
  • Sin argumentos - Muestra opciones disponibles

Proceso

Sin Argumentos: Mostrar Opciones

Si no se proporcionan argumentos:

  1. Identifica el track activo
  2. Lista las opciones de reversión:
code
Opciones de reversión disponibles:

Track actual: {nombre}

Revertir track completo:
  /contextor-revert track:{nombre}

Revertir fase específica:
  /contextor-revert fase:1
  /contextor-revert fase:2

Revertir tarea específica:
  /contextor-revert tarea:1.1
  /contextor-revert tarea:2.3

Revertir Track Completo

Comando: track:{nombre}

  1. Confirmar acción - Pregunta al usuario si está seguro
  2. Identificar commits - Busca todos los commits con Track: {nombre}
  3. Listar cambios - Muestra qué se va a revertir
  4. Ejecutar reversión:
    • git revert de cada commit en orden inverso
    • O crear un commit de reversión único
  5. Actualizar plan.md - Marca todas las tareas como pendientes [ ]
  6. Actualizar spec.md - Cambia estado a "Revertido"

Revertir Fase

Comando: fase:{número}

  1. Identificar track activo
  2. Confirmar acción
  3. Identificar commits de la fase - Busca commits con Fase: {número}
  4. Listar cambios
  5. Ejecutar reversión
  6. Actualizar plan.md - Marca tareas de la fase como pendientes

Revertir Tarea

Comando: tarea:{número}

  1. Identificar track activo
  2. Confirmar acción
  3. Identificar commit de la tarea - Busca commit con Tarea: {número}
  4. Mostrar cambios
  5. Ejecutar reversión
  6. Actualizar plan.md - Marca tarea como pendiente

Estrategias de Reversión

Opción 1: Git Revert (Preferida)

bash
git revert {commit-hash} --no-edit
  • Mantiene historial
  • Seguro para branches compartidos

Opción 2: Git Reset (Solo si el usuario lo pide)

bash
git reset --soft HEAD~{n}
  • Elimina commits
  • Solo para branches locales no compartidos

Manejo de Conflictos

Si hay conflictos durante la reversión:

  1. Notifica al usuario
  2. Muestra los archivos en conflicto
  3. Opciones:
    • Resolver manualmente
    • Abortar reversión
    • Forzar reversión (perder cambios posteriores)

Ejemplo de Uso

code
Usuario: /contextor-revert tarea:2.1

Claude:
Revirtiendo tarea 2.1 del track "api-endpoints"

Tarea: Crear endpoint GET /users
Commit: abc123f "feat(api-endpoints): crear endpoint GET /users"
Archivos afectados:
  - src/routes/users.ts (modificado)
  - src/controllers/users.ts (creado)
  - tests/users.test.ts (creado)

¿Confirmar reversión? (sí/no)

[Después de confirmar]

✓ Reversión completada
✓ plan.md actualizado: tarea 2.1 marcada como pendiente
✓ Commit de reversión: def456g "revert: tarea 2.1 de api-endpoints"

Notas de Seguridad

  • SIEMPRE pide confirmación antes de revertir
  • NUNCA uses git reset --hard sin confirmación explícita
  • Muestra exactamente qué se va a revertir antes de hacerlo
  • Ofrece opción de backup antes de reversiones grandes
  • Si hay trabajo no commiteado, advierte al usuario