CreaRack-SL

MCP Skill: wiki-delete — Borrado de drafts wiki con confirmación

Entidadactivecreado Thu Apr 23#mcp#wiki#supercontexto#skill#delete#claude

MCP Skill: wiki-delete

Skill del supercontexto CreaRack Pro que guía al agente (Claude) para borrar una página wiki en estado draft de forma segura y con confirmación explícita del usuario. Definida en .claude/skills/wiki-delete/SKILL.md.


Propósito

Activa cuando el usuario dice “borra esa página”, “elimina <slug>” o usa el comando /wiki-delete. Protege contra borrados accidentales mediante un flujo de verificación en 6 pasos antes de ejecutar la tool wiki_delete_page.


Reglas de oro

  1. Solo borra status: draft. Si la página es active, stale o archived, el agente avisa y se niega.
  2. Confirmación explícita obligatoria. El agente muestra: “¿Seguro? Esto borra la fila de D1 y el .md del repo. [s/N]”
  3. Por defecto delete_file: true. Borra el .md del repo vía GitHub API. El commit queda como audit trail.

Flujo de ejecución (6 pasos)

PasoAcción
1Identificar el slug del draft a borrar (de contexto o preguntando al usuario)
2Verificar que existe y tiene status: draft con bib_ask o bib_search_nodes
3Mostrar resumen de la página (slug, título, fecha de creación)
4Pedir confirmación explícita: “¿Seguro? Borra D1 + .md. [s/N]” y esperar “sí”
5Ejecutar wiki_delete_page({ slug, reason, actor, delete_file: true })
6Confirmar al usuario: “Borrada. Fila eliminada de D1, .md eliminado del repo. Log operation=delete registrado en bib_wiki_log.” Si hay file_warning, mostrarlo.

Llamada a la tool (paso 5)

mcp__workspace__wiki_delete_page({
  slug: "<slug>",
  reason: "<razón corta del borrado>",
  actor: "<edu|dani>",
  delete_file: true
})

Cuándo NO usar esta skill

  • La página tiene status: active → usar wiki_archive_page primero.
  • El usuario titubea o responde algo distinto de “sí” explícito → cancelar sin ejecutar.
  • Se quiere solo limpiar el .md sin tocar D1 → acción manual git rm (fuera de scope de esta skill).

Historial de versiones

VersiónCambio
Fase 4 (sesión anterior)Implementación inicial. El paso 5 usaba wiki_archive_page como fallback (no había hard-delete). La fila D1 no se borraba, solo cambiaba a archived.
Pulido sesión 17 (commit 2db6309)Pasos 5-6 reescritos. Ahora invoca wiki_delete_page real. Hard-delete de fila D1 + .md del repo. El fallback de archive quedó obsoleto.

Archivos relacionados

ArchivoRol
.claude/skills/wiki-delete/SKILL.mdDefinición de la skill (instrucciones para el agente)
functions/api/mcp/handlers/wiki.tsHandler wikiDeletePage() — lógica real de borrado
functions/api/mcp/tools.tsDeclaración de wiki_delete_page en el array TOOLS
functions/api/mcp/index.tsLOGGED_TOOLS — telemetría y auditoría

Véase también

  • [[entity—mcp—tool—wiki-delete-page]]