Communitygithub.com

AlemTuzlak/skills

Úsalo cuando el usuario ejecute /prove-it o diga 'prove it', 'prove the changes', 'show me in the browser', o pida probar un cambio de UI o API. No lo uses solo porque el agente está a punto de decir 'listo', para cambios solo de tipos, o para documentación sin comportamiento que probar.

¿Qué es skills?

Esta skill obliga al agente a demostrar que un cambio funciona exactamente como un usuario lo usaría, en lugar de simplemente afirmarlo. Cuando el usuario lo solicita explícitamente (con `/prove-it`, "prove it", "show me in the browser", etc.), la skill clasifica el cambio como UI, servidor/API, o ambos, y ejecuta procedimientos específicos para probarlo. Para UI, inicia la aplicación (solo con comandos existentes, sin añadir dependencias) y simula clicks, escritura, envío de formularios y navegación, cazando tanto caminos felices como roturas. Para servidor/API, pregunta al usuario cómo probar (curl, ejemplo existente, etc.) y espera su elección antes de ejecutar. La skill tiene reglas estrictas: nunca dice que algo funciona sin probarlo, detiene cualquier servidor que inicie, y ofrece un informe opcional en `.agent/scratch/prove-it.md`. Es compatible con cualquier plataforma de agente que soporte habilidades personalizadas (Claude Code, Cursor, etc.) y su lógica está documentada en un solo SKILL.md. Es útil para desarrolladores que quieren garantías reales de que un cambio funciona, no solo una afirmación del agente.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AlemTuzlak/skills/tree/HEAD/skills/prove-it

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Pruébalo

Prueba el cambio de la misma manera en que una persona lo usa. No afirmes que funciona sin esa prueba.

Esta habilidad no se carga automáticamente al decir "listo". El usuario debe solicitarla. No carga otras habilidades.

Cuándo Usarlo

Cárgala cuando el usuario:

  • ejecute /prove-it
  • diga "pruébalo", "prueba los cambios", "muéstrame en el navegador", o una idea similar (incluso en el primer mensaje)

Omítelo si no lo pidió. Omite cambios solo de tipos, comentarios, archivos de bloqueo, documentación sin comportamiento.

Reglas Estrictas

  1. El usuario lo pidió. Si no pidió probar, esta habilidad no se ejecuta.
  2. No digas que funciona, está listo o está corregido a menos que esta habilidad realmente lo haya probado. Omitir significa no probado.
  3. Una captura de pantalla de una pantalla no es una prueba. Haz clic, escribe, envía, navega.
  4. Sin nuevo paquete, dependencia, aplicación de ejemplo o ejecutor de navegador a menos que el usuario haya elegido esa opción y haya dicho que sí.
  5. Detén cualquier servidor que esta habilidad haya iniciado antes de que termine la habilidad. No dejes dev / preview ejecutándose.

UI vs servidor

  • UI (página, componente, ruta, formulario, estado visible): pruébalo en el navegador.
  • Servidor / API / biblioteca sin pantalla: pregunta cómo probarlo. No elijas en silencio.
  • Ambos: navegador para la UI, y pregunta cómo probar la parte del servidor.

Procedimientos

Procedimiento 1: Clasificar

  1. Enumera las superficies: UI, servidor/API, o ambas.
  2. UI → Procedimiento 2.
  3. Servidor/API → Procedimiento 3.
  4. Ambas → Procedimiento 2, luego Procedimiento 3 para la API.

Procedimiento 2: Navegador (UI)

  1. Si la aplicación no se está ejecutando, inicia solo un comando existente (dev, preview, el inicio documentado del repositorio). Si no existe ninguno, di que la UI no se puede probar. Ofrece omitir, o que el usuario inicie la aplicación.
  2. Úsala como un usuario:
    • haz clic, escribe, envía, navega
    • cada ruta/página que comparte este estado
    • UI vacía y de error si este cambio las tiene
    • escritorio y una ventana estrecha si el diseño o CSS cambiaron
  3. Busca roturas, no solo el camino feliz.
  4. En el chat, di lo que hiciste y lo que viste. No digas "se ve bien" sin pasos.
  5. Detén el proceso del paso 1 si esta habilidad lo inició.
  6. Procedimiento 4.

Procedimiento 3: Preguntar (servidor / API)

  1. Detente. Muestra 2–3 opciones. Pon una primera opción razonable. Incluye siempre omitir.
    • ejemplo / patio de juegos / demo existente
    • aplicación de ejemplo que use la nueva API (solo si confirman lugar + cualquier nuevo paquete/dependencia)
    • curl o un pequeño script contra un servidor en ejecución
    • omitir
  2. Espera. No construyas ni ejecutes hasta que elijan.
  3. Si omitir: di no probado. No digas que funciona. Detente (sin Procedimiento 4).
  4. Si patio de juegos existente: ejecútalo, luego pruébalo en el navegador si tiene UI, o muestra la salida del comando si es un script.
  5. Si aplicación de ejemplo: pregunta dónde. Prefiere un ejemplo existente. No añadas un paquete o dependencia a menos que hayan dicho que sí. Luego ejecútala y pruébala.
  6. Si curl/script: ejecútalo. Cita el código de salida y la parte de la salida que prueba la afirmación.
  7. Procedimiento 4.

Procedimiento 4: Informe opcional

  1. Después de una prueba real, pregunta: ¿escribir un informe con capturas? Por defecto no.
  2. Si no: detente. El chat ya tiene la evidencia.
  3. Si sí: escribe .agent/scratch/prove-it.md (sobrescribe). Añade .agent/scratch/ a .gitignore si falta (igual que otros archivos temporales). Incluye lo que se hizo clic y las capturas. Abre el archivo. No lo confirmes.
  4. Omitir prueba → sin informe.

Procedimiento 5: Detener

Después de la prueba o de omitir, detente. No inicies trabajo no relacionado desde esta habilidad.

Árbol de Decisión

  • El usuario no pidió probar → esta habilidad no aplica.
  • UI → Procedimiento 2 → 4 → 5.
  • Servidor/API → Procedimiento 3 → 4 → 5 (omitir termina en 3).
  • Ambas → 2 luego 3, luego 4 → 5.
  • Sin comando de inicio y aplicación no ejecutándose → di que no se puede probar la UI. Omitir o el usuario la inicia.
  • El usuario dice omitir → no probado. Sin afirmación de éxito.

Señales de Alerta

SeñalQué significaQué hacer en su lugar
Decir listo porque las pruebas pasaronEsta habilidad no fue solicitada, o la prueba fue omitidaSolo afirmar probado después del Procedimiento 2 o 3.
Una captura, sin clicsNo es un camino de usuarioProcedimiento 2 paso 2.
Construir examples/foo antes de que elijaAplicación no solicitadaProcedimiento 3. Espera.
Añadir Playwright / un nuevo servidorNueva dependenciaSolo comando de inicio existente.
Dejar pnpm dev ejecutándoseVigilante dejado activoRegla estricta 5.
"Omitir, pero funciona"Omitir convertido en afirmaciónDi no probado.
Archivo de informe en docs/Documentación del producto.agent/scratch/prove-it.md.
Abrir el informe cuando dijo que noArchivo no solicitadoProcedimiento 4 por defecto no.
Probar solo la página para una nueva API públicaMitad del servidor omitida en silencioProcedimiento 3 para la API.

Manejo de Errores

  • Sin herramientas de navegador: di que la UI no se puede probar aquí. Ofrece omitir, o que ellos hagan clic mientras esperas en una URL. No falsifiques una captura.
  • El comando de inicio falla: cita el error. No digas que la UI funciona. Ofrece omitir o una corrección, luego prueba de nuevo.
  • La prueba falla (el clic hace lo incorrecto, curl no es 200): di no probado. Nombra qué falló. No lo des por terminado.
  • Eligen aplicación de ejemplo y luego rechazan un nuevo paquete: usa curl, un ejemplo existente, o omitir. No añadas el paquete de todos modos.
  • Fallo al escribir el archivo temporal: mantén la prueba en el chat. Di que el archivo de informe no se escribió.

No veas nada más. El chat es la evidencia por defecto. El archivo markdown es opcional.

Individual skills in this repo

This repo contains 14 individual skills — each has its own dedicated page.

AlemTuzlak/skills

Use when the user wants to write a blog post about a feature, product change, PR, git diff, or any technical topic - accepts marketing briefs, PRs, git refs, codebase paths, or freeform descriptions as input

AlemTuzlak/skills

Use when the user wants to generate a changelog, release notes, or document what changed between versions, tags, or PRs

AlemTuzlak/skills

Use when writing, editing, or organizing documentation, when planning what docs a feature needs, and whenever planning or implementing a new feature or change in a repo (docs ship with the code). Also use when tempted to write docs without showing the discovered readers to the user, without asking for tone, or without loading simple-english and i-have-adhd. Triggers on "write docs for X", "document this feature", "add a guide", "update the docs", "reorganize the docs", "plan feature X", "implement X", or /docs.

AlemTuzlak/skills

Use when a bug is in play: a test fails, CI is red, an API returns the wrong result, a stack trace appears, or the user says it is broken or fix this. Don't use for a new feature with no failure, for types-only work, or for docs.

AlemTuzlak/skills

Use when the user invokes /i-have-adhd, says they have ADHD, or asks for ADHD-friendly output. Also used as a required writing filter by the docs skill. Don't use for marketing copy or after the user says "stop adhd mode" or "normal mode".

AlemTuzlak/skills

Use when a settled change must be turned into an ordered stack of small blocks before anyone implements. Don't use for unsettled intent, typos, comments, formatting, docs-only work, or writing the implementation itself.

AlemTuzlak/skills

Use when the user wants to write a product update email, feature announcement newsletter, or digest email for users or subscribers

AlemTuzlak/skills

Use when the user wants to turn a raw talking-head / screen-share recording into a finished, edited, annotated video plus a full content package. Removes silences, flags mistakes for the user to cut, transcribes, adds transcript-synced overlays (code, on-screen code highlights, word highlights, lists, comparisons, diagrams, section labels, punch-in zooms), renders with original audio, then generates blog/socials/YouTube content. Triggers on "produce a video", "edit my video", "annotate my recording", "/produce-video".

AlemTuzlak/skills

Use when the user wants to write, draft, or author an RFC (Request for Comments) / technical design doc for a feature, change, or architectural decision. Interactively interviews the user, grounds the proposal in the actual codebase, presents 2-3 concrete API/code-snippet approaches to choose from, then writes a review-ready RFC. Triggers on "write an RFC", "draft an RFC", "RFC for X", "design doc for X", or /rfc.

AlemTuzlak/skills

Use when the user wants to deeply learn a new topic from scratch. Runs a pre-interview (current knowledge, end-goal proficiency, depth, practice load, background, scope), researches online (articles, niche-influencer blogs, canonical docs, subtopic landscape), then produces a structured markdown course with mandatory visual diagrams, evidence-based learning-science features (retrieval practice, spaced callbacks, worked-example fading, concept ledger, jargon gate, analogy hygiene), and a self-contained interactive HTML mini-course. Triggers on /teach-me, "teach me about X", "I want to learn X", "deep dive on X", "create a course on X", "study X with me".

AlemTuzlak/skills

Use when the change intent is already settled and the agent must map what a behavior change touches before an implementation plan or any code. Use for new features, bug fixes, and refactors that move a boundary. Don't use for typos, comments, formatting, lockfile-only diffs, docs with no code, or while the user is still deciding what they want.

AlemTuzlak/skills

Use when the user wants to transcribe a video or audio file to text with word-level timestamps — spins up a self-contained local Whisper (whisper.cpp) Docker service bundled in this skill and returns transcript.txt, transcript.srt, and word-level transcript.words.json. Also used as a building block by /produce-video. Triggers on "transcribe this video", "get a transcript", "transcribe-video".

AlemTuzlak/skills

Use when the user wants to write a video script for a product demo, feature walkthrough, launch video, or social media video about a feature or product change

AlemTuzlak/skills

Use when the user wants YouTube metadata for a video — a click-worthy title, an SEO/above-the-fold description, tags, and timestamped chapters. Accepts a transcript (ideally timestamped SRT), a topic, a PR, or a freeform description. Used standalone and by /produce-video. Triggers on "youtube title", "youtube description", "youtube chapters", "youtube tags", "youtube metadata", "youtube-copy".

Skills relacionados