EFFECTIVE/AT LIFE Módulo 4
AI for Friends / Módulo 4 / Lección 4.3

Relaciones Internacionales: Automatiza el Flujo de Acuerdos

Revisa un sitio web a diario, redacta el seguimiento, y arma un documento de Word en constante crecimiento — como un solo plugin empaquetado de Claude Code.

40–55 MIN OBLIGATORIO

Esta lección construye desde cero una automatización real y completa: la tarea diaria de un oficial de escritorio de revisar una página web gubernamental o ministerial en busca de acuerdos nuevos, redactar la correspondencia de seguimiento, y mantener un solo documento de Word, en constante crecimiento, actualizado con cada acuerdo, respuesta y nota personal. Al final, esa tarea diaria es un plugin — un conjunto empaquetado de tres skills encadenados — que activas con un solo comando en lugar de hacer cinco cosas a mano.

La tarea en sí no es complicada. Es repetitiva: el mismo sitio web, el mismo filtro, el mismo patrón de correo, el mismo documento, todos los días. Esa repetición es exactamente para lo que sirve un plugin de Claude Code. Describes el trabajo una vez, Claude Code construye la estructura, y cada ejecución futura es un comando en lugar de una explicación nueva.

Si Relaciones Internacionales no es tu rol, el mecanismo del Paso 0 y los Pasos 3 a 6 son en lo que debes enfocarte — las versiones para Legal, Marketing, RR. HH. e Ingeniería Industrial de esta misma forma aparecen en las Lecciones 4.5 a 4.7.

0Cómo Funcionan Realmente un Skill y un Plugin

Antes de que empiece la historia de Relaciones Internacionales, aquí está el mecanismo que hay debajo, explicado sin rodeos y sin el ejemplo de ningún rol en particular — las mismas dos ideas que reutiliza cada lección posterior de este módulo.

Un skill es una capacidad empaquetada: un conjunto de instrucciones, escritas para Claude en lugar de para un lector humano, guardadas en un archivo llamado SKILL.md, que Claude sigue cada vez que lo activas — normalmente con un comando /nombre. Un skill hace bien un solo trabajo: revisar una página web, redactar un correo, construir un documento.

Un plugin es varios skills relacionados empaquetados juntos bajo un solo nombre, para que puedan compartir reglas y ser instalados, actualizados o eliminados como una sola unidad. Un plugin es el contenedor correcto exactamente cuando dos o más skills necesitan coincidir en los mismos datos — la misma lista de prioridades, el mismo formato de archivo, el mismo tono — y no quieres mantener ese acuerdo a mano en tres lugares separados.

Si tu trabajo es...Recurre a...
Una sola tarea independiente y bien definidaUn solo skill (ve la Lección 4.5 para un ejemplo que se queda en exactamente un skill)
Varios pasos que comparten reglas, datos o un formato de archivoUn plugin que agrupa varios skills (esta lección construye uno con tres)
Este Es Todo el Mecanismo

Todo lo demás en esta lección — el árbol de archivos, los comandos, el marketplace — es esta misma idea, hecha concreta para un trabajo específico: revisar acuerdos para el escritorio de un ministerio de relaciones exteriores.

1Crea el Proyecto de Claude Code

Cada plugin de Claude Code necesita una carpeta base. Este paso la crea y confirma que Claude Code está corriendo dentro de ella antes de describir nada.

  1. Crea una carpeta nueva, por ejemplo ir-agreements-tracker, en cualquier lugar donde guardes tus archivos de trabajo (no dentro de una carpeta con material confidencial sin relación — ve la advertencia de confidencialidad del Módulo 3).
  2. Abre esa carpeta en VS Code (File → Open Folder, o clic derecho en la carpeta → Open with Code).
  3. Abre la terminal integrada (Ctrl + `).
  4. Escribe claude y presiona Enter para iniciar Claude Code dentro de esta carpeta.
ir-agreements-tracker/  ← vacía, recién creada

El prompt de Claude Code está activo en la terminal, limitado a esta carpeta únicamente.
Una Carpeta Vacía Es el Punto de Partida Correcto

Todavía no estás construyendo nada a mano. El Paso 2 le entrega a Claude Code una descripción completa y deja que construya la estructura.

Limita el Alcance de Esta Carpeta con Cuidado

Claude Code solo puede ver los archivos dentro de la carpeta que abres. Mantén esta carpeta dedicada a este único flujo de trabajo — no abras una carpeta superior que también contenga material sensible sin relación.

2Dicta el Flujo de Trabajo Completo

Esta es la parte inusual de esta lección: en lugar de escribir una instrucción corta e iterar, describes todo el flujo de trabajo en un solo mensaje largo, como si estuvieras orientando a un nuevo colaborador en su primer día. Puedes escribir esto, o decirlo usando el dictado integrado de tu sistema operativo (Windows: presiona Win + H para empezar a dictar en cualquier cuadro de texto, incluido el prompt de Claude Code. Mac: abre System Settings → Keyboard → Dictation para activarlo, y luego presiona Fn dos veces para empezar a dictar) — de cualquier forma, las palabras llegan al prompt como texto plano y Claude Code las trata exactamente igual.

  1. Lee el ejemplo de dictado de abajo. Está escrito para decirse en voz alta — oraciones simples, sin sintaxis especial.
  2. Adáptalo con tu sitio web real, tus temas prioritarios reales, y tus áreas responsables reales.
  3. Pega o dicta todo como un solo mensaje a Claude Code.
  4. Deja que Claude Code haga preguntas aclaratorias si las tiene, y respóndelas.
  5. Revisa lo que propone antes de aprobarlo — Claude Code debería describir una estructura de carpetas, un README.md y un CLAUDE.md para tu aprobación, no escribir archivos en silencio.

Ejemplo de Dictado (Adáptalo y Léelo en Voz Alta, o Pégalo Tal Cual)

Quiero configurar un proyecto que automatice algo que hago todos los
días a mano. Cada mañana entro a la página pública de acuerdos del
Ministerio de Comercio y reviso si se publicaron acuerdos nuevos desde
ayer. Solo me interesan los acuerdos que tocan cooperación comercial,
seguridad regional, o intercambio cultural — esos son los temas que
sigue de cerca el canciller y el jefe de gabinete. Todo lo demás en esa
página lo ignoro.

Cuando encuentro un acuerdo nuevo que importa, necesito que pasen tres
cosas. Primero, necesito un resumen corto del acuerdo, incluyendo su
título, la contraparte, la fecha, y por qué importa para nuestros temas
prioritarios. Segundo, necesito un correo de seguimiento redactado para
enviar al área aquí responsable de ese tema — para acuerdos comerciales
es nuestra Dirección de Comercio, para seguridad es nuestra Oficina de
Cooperación en Seguridad, y para intercambio cultural es nuestra área
de Asuntos Culturales. Tercero, una vez que envié ese seguimiento y
recibí una respuesta del área responsable, necesito que todo eso — el
resumen del acuerdo, el correo de seguimiento, su respuesta, y
cualquier nota que yo agregue — quede capturado en un solo documento de
Word que siga creciendo con el tiempo, con cada acuerdo nuevo agregado
en un formato consistente arriba de todo, sin sobrescribir nunca lo que
ya está ahí.

Quiero que esto se configure como una estructura de carpetas apropiada
con un README que explique qué hace y un CLAUDE.md con nuestras reglas
permanentes — nuestros temas prioritarios, nuestro mapeo de áreas
responsables, y nuestro tono para los correos de seguimiento. Voy a
construir los pasos reales como un plugin después de que esto esté
listo. Por ahora, solo deja la carpeta, el README, y el CLAUDE.md en su
lugar, y pregúntame lo que necesites saber primero.

Lo Que Claude Code Debería Producir

ir-agreements-tracker/
├── README.md              Explica el flujo de trabajo en lenguaje simple
├── CLAUDE.md               Reglas permanentes: temas prioritarios, áreas
│                           responsables, tono de correo, formato de documento
├── data/
│   └── agreements-log.md  Registro continuo de cada acuerdo visto hasta ahora
├── drafts/                Los correos de seguimiento llegan aquí antes de enviarse
└── output/
    └── agreements-record.docx   El documento de Word en constante crecimiento (se crea en el Paso 3)

Un CLAUDE.md de muestra que Claude Code podría redactar:

# IR Agreements Tracker — Reglas Permanentes

## Temas Prioritarios
Solo están dentro del alcance los acuerdos que tocan estos temas:
- Cooperación comercial
- Seguridad regional
- Intercambio cultural

## Áreas Responsables
- Cooperación comercial → Dirección de Comercio
- Seguridad regional → Oficina de Cooperación en Seguridad
- Intercambio cultural → Área de Asuntos Culturales

## Tono del Correo de Seguimiento
Profesional, conciso y cordial. Siempre confirma la recepción y nombra
el siguiente paso o documento específico que se solicita.

## Formato del Documento
El acuerdo más nuevo siempre va arriba de todo en agreements-record.docx.
Nunca sobrescribas ni elimines una entrada anterior.
Por Qué Dictar Todo de una Vez

Claude Code toma mejores decisiones estructurales con todo el contexto por adelantado que con cinco instrucciones cortas y desconectadas. Este es el mismo principio de "adelantar el contexto" de la Lección 1.2, aplicado a la configuración de un proyecto en lugar de a un solo prompt.

Revisa Antes de Aprobar

Claude Code debería describir este plan y preguntar antes de crear archivos (este es el comportamiento del Modo de Planificación del Módulo 3). Lee el CLAUDE.md propuesto con cuidado — se convierte en la regla permanente para cada ejecución futura.

3Construye los Tres Skills del Plugin

Con la carpeta, el README y el CLAUDE.md en su lugar, el siguiente paso empaqueta el flujo de trabajo real — la idea del plugin del Paso 0, hecha concreta.

Por Qué un Plugin, No Tres Comandos Sueltos

Tres comandos independientes y aislados — uno para revisar el sitio web, uno para redactar un correo, uno para construir el documento — podrían funcionar cada uno por su cuenta. Pero comparten la misma lista de temas prioritarios, el mismo mapeo de áreas responsables, y el mismo formato de documento. Tres comandos sueltos significan escribir (y luego corregir) esa lógica compartida tres veces, y nada impide que un cuarto comando, sin relación, se apropie de un nombre parecido después. Un plugin agrupa los tres bajo un solo nombre, con las reglas compartidas escritas una vez y referenciadas por los tres — exactamente la regla de la tabla del Paso 0.

Un Solo Espacio de Nombres, Reglas Compartidas

Los tres skills de un plugin viven bajo un solo nombre de plugin y todos pueden leer el mismo archivo de reglas. Corrige una regla una vez — el mapeo de áreas responsables, por ejemplo — y cada skill que depende de ella queda corregido al mismo tiempo.

La Estructura de Archivos Objetivo

ir-agreements-tracker/
├── .claude-plugin/
│   └── marketplace.json         Entrada de catálogo que apunta al plugin de abajo
├── plugins/
│   └── agreements-tracker/
│       ├── .claude-plugin/
│       │   └── plugin.json      Manifiesto del plugin: nombre, versión, descripción
│       ├── skills/
│       │   ├── check-agreements/
│       │   │   └── SKILL.md     /check-agreements
│       │   ├── draft-followup/
│       │   │   └── SKILL.md     /draft-followup
│       │   └── build-agreement-doc/
│       │       └── SKILL.md     /build-agreement-doc
│       ├── rules/
│       │   └── priority-topics.md    Compartido: temas + áreas responsables
│       └── references/
│           └── document-template.md  Compartido: el formato requerido del documento de Word
├── data/
│   └── agreements-log.md
├── drafts/
└── output/
    └── agreements-record.docx

Skill 1 — /check-agreements

Qué decirle a Claude Code que construya:

Construye un skill llamado check-agreements. Su trabajo: obtener la
página de acuerdos del Ministerio de Comercio que te doy, comparar lo
que aparece contra data/agreements-log.md (el archivo de hoy, si ya
existe alguno, es el historial), e identificar solo los acuerdos que
todavía no están en ese registro. De esos acuerdos nuevos, quédate
solo con los que coincidan con nuestros temas prioritarios en
rules/priority-topics.md. Para cada uno que califique, agrégalo a
data/agreements-log.md con su título, contraparte, fecha, y qué tema
prioritario coincide. Repórtame una lista corta de lo nuevo y dentro
del alcance — no necesita pasar nada más todavía.

Lo que esto produce (skills/check-agreements/SKILL.md, resumido):

---
name: check-agreements
description: Fetch the Ministry of Trade agreements page, compare
against the existing log, and append any new agreement matching a
priority topic. Use when the user says "check for new agreements" or
"/check-agreements."
---

# check-agreements

1. Fetch the agreements page at the URL on file in CLAUDE.md.
2. Read data/agreements-log.md. If it doesn't exist, treat every
   agreement on the page as new — this is the first run.
3. Compare the page's list of agreements against the log. Identify only
   titles not already present.
4. For each new agreement, check it against rules/priority-topics.md.
   Discard any that match no priority topic.
5. Append each qualifying agreement to data/agreements-log.md: title,
   counterpart, date, matched topic, and a status of "new."
6. Report the list of newly logged agreements to the user.

Skill 2 — /draft-followup

Qué decirle a Claude Code que construya:

Construye un skill llamado draft-followup. Su trabajo: revisar
data/agreements-log.md en busca de cualquier acuerdo todavía marcado
como "new," y para cada uno, redactar un correo de seguimiento al área
responsable listada en rules/priority-topics.md para el tema de ese
acuerdo. Guardar cada borrador como un archivo en drafts/, nombrado
según el acuerdo. Usar el tono descrito en CLAUDE.md. Una vez que se
guarde un borrador, actualizar el estado de ese acuerdo en el registro
a "follow-up drafted."

Lo que esto produce (skills/draft-followup/SKILL.md, resumido):

---
name: draft-followup
description: Draft a follow-up email to the accountable department for
every agreement in the log still marked "new." Use when the user says
"draft follow-ups" or "/draft-followup."
---

# draft-followup

1. Read data/agreements-log.md. Find every entry marked "new."
2. For each one, look up its topic's accountable department in
   rules/priority-topics.md.
3. Draft a short email to that department: confirm receipt of the
   agreement, summarize it in two sentences, and request their
   position or next-step input. Use the tone rule in CLAUDE.md.
4. Save the draft to drafts/<agreement-title>-followup.md.
5. Update that agreement's status in the log to "follow-up drafted."
6. Report which drafts were created and where to find them.

Skill 3 — /build-agreement-doc

Qué decirle a Claude Code que construya:

Construye un skill llamado build-agreement-doc. Su trabajo: usar el
skill de docx para crear output/agreements-record.docx si todavía no
existe, o actualizarlo si ya existe. Para cada acuerdo en
data/agreements-log.md marcado como "follow-up drafted" o más
adelante, agregar una entrada arriba de TODO el documento — nunca
sobrescribir entradas anteriores — siguiendo el formato en
references/document-template.md. Cada entrada debe combinar: el
resumen del acuerdo, el texto del correo de seguimiento desde drafts/,
la respuesta del área (yo la pegaré cuando la tenga), y cualquier nota
que agregue. Si todavía no existe respuesta ni notas para un acuerdo,
dejar esas secciones marcadas como "pending" en lugar de omitir la
entrada.

Lo que esto produce (skills/build-agreement-doc/SKILL.md, resumido):

---
name: build-agreement-doc
description: Create or update output/agreements-record.docx, adding
each ready agreement at the top in the standard format. Use when the
user says "update the agreement doc," "add this response," or
"/build-agreement-doc."
---

# build-agreement-doc

1. If output/agreements-record.docx doesn't exist, create it using the
   docx skill, following references/document-template.md.
2. For every agreement in data/agreements-log.md marked "follow-up
   drafted" or later, check whether it already has an entry in the
   document.
3. For any agreement missing an entry, insert one at the very top of
   the document (never remove or reorder existing entries):
   - Agreement summary (title, counterpart, date, topic)
   - The follow-up email sent (from drafts/)
   - The department's response, if the user has provided it — else
     "Response: pending"
   - The user's own notes, if any — else omit that section
4. Save the document and confirm it still opens correctly.
5. Report which entries were added or updated.
Construye un Skill a la Vez

Pídele a Claude Code un SKILL.md, revísalo, y luego pide el siguiente. Construir los tres en una sola instrucción hace que los errores sean más difíciles de detectar y corregir.

${CLAUDE_PLUGIN_ROOT} Mantiene las Rutas Portátiles

Dentro de un skill, las referencias a archivos de rules/ o references/ usan la variable ${CLAUDE_PLUGIN_ROOT} en lugar de una ruta fija, para que el plugin siga funcionando si alguna vez se mueve o se comparte. Claude Code maneja esto automáticamente cuando escribe los archivos del skill — no necesitas escribir esa sintaxis tú mismo.

4Instala y Ejecuta tu Plugin

Un plugin sentado en una carpeta todavía no está activo. Este paso lo registra ante Claude Code como un marketplace local y lo instala, para que los tres comandos estén disponibles en cada sesión futura.

  1. Registra el marketplace local, apuntando a la carpeta de tu proyecto.
  2. Instala el plugin desde ese marketplace.
  3. Reinicia Claude Code.
  4. Corre los tres comandos en orden.
/plugin marketplace add /path/to/ir-agreements-tracker
/plugin install agreements-tracker@ir-agreements-tracker

Luego, después de reiniciar Claude Code dentro de la carpeta del proyecto:

/check-agreements
/draft-followup
/build-agreement-doc

Lo que deberías ver:

/check-agreements    → "1 acuerdo nuevo dentro del alcance: Acuerdo Marco
                        de Cooperación Logística Transfronteriza
                        (Cooperación comercial). Registrado."

/draft-followup      → "1 correo de seguimiento redactado:
                        drafts/framework-agreement-on-cross-border-
                        logistics-cooperation-followup.md, dirigido a
                        la Dirección de Comercio."

/build-agreement-doc  → "1 entrada agregada a output/agreements-record.docx.
                        Respuesta: pendiente — pégala cuando llegue y
                        vuelve a correr este skill para completarla."
Pegar la Respuesta Después

Cuando el área responsable responda, pega su respuesta en tu siguiente mensaje y pídele a Claude Code que vuelva a correr /build-agreement-doc — actualiza la línea "Respuesta: pendiente" de esa entrada en lugar de crear un duplicado.

Este Es Todo el Punto

Una sola instrucción — /check-agreements — reemplaza abrir un navegador, revisar una página web a simple vista, y recordar qué ya viste ayer. Tres comandos reemplazan toda una rutina matutina.

5Opcional — Ejecútalo Automáticamente Todos los Días

Todo lo de arriba todavía requiere que escribas tres comandos cada mañana. Este paso es completamente opcional: hace que /check-agreements se ejecute solo, en un horario, sin nadie frente al teclado.

Windows

  1. Antes de continuar, revisa de nuevo la Lección 4.1, Paso 4 — este paso asume que ya corriste /check-agreements a mano varias veces y confías en su resultado.
  2. Abre Windows Task Scheduler (Programador de tareas) (búscalo en el menú de Inicio).
  3. Crea una tarea básica nueva, configurada para correr a diario a la hora que elijas.
  4. Configura la acción para correr un programa, apuntando al comando claude con el skill check-agreements como instrucción.
  5. Guarda la tarea.
claude -p "/check-agreements" --cwd "C:\path\to\ir-agreements-tracker"

Mac

  1. Antes de continuar, revisa de nuevo la Lección 4.1, Paso 4 — este paso asume que ya corriste /check-agreements a mano varias veces y confías en su resultado.
  2. Abre Terminal y corre crontab -e para abrir tu horario personal (se abre en el editor nano por defecto).
  3. Agrega una línea para una ejecución diaria a las 8am, y guarda (Ctrl+O, Enter, Ctrl+X en nano):
0 8 * * * claude -p "/check-agreements" --cwd "$HOME/ir-agreements-tracker"
Mac: Otorga Full Disk Access

Las tareas de cron en macOS suelen fallar en silencio a menos que la app de terminal que las corre tenga Full Disk Access (Acceso completo al disco). Ve a System Settings → Privacy & Security → Full Disk Access y actívalo para Terminal (o tu app de terminal) — esta es la razón más común por la que una tarea programada de Mac parece no hacer nada.

Este Paso Es Opcional

Todo en los Pasos 1 a 4 ya funciona escribiendo tú mismo tres comandos. Solo configura esto si específicamente quieres que la revisión corra sin supervisión, sin que nadie la esté viendo.

Redactar y el Documento Todavía te Necesitan

Programar solo automatiza el paso de revisión. Redactar un seguimiento y agregar una respuesta al documento todavía necesitan que una persona revise el resultado y pegue las respuestas reales — ese criterio sigue siendo tuyo, por diseño.

6Cómo Apagarlo

Todo lo que puedas encender en esta lección, deberías saber cómo apagarlo — la cuarta regla de la Lección 4.1, Paso 4.

  1. Para detener el horario diario en Windows: abre Windows Task Scheduler, busca la tarea por el nombre que le diste en el Paso 5, y ya sea Disable (la conserva, deja de correr) o Delete (la elimina por completo).
  2. Para detener el horario diario en Mac: corre crontab -e, elimina o comenta (agrega un # al inicio de) la línea que agregaste, y guarda.
  3. Para deshabilitar el plugin sin eliminar tus archivos: abre tu archivo de configuración de Claude Code y busca la entrada enabledPlugins de agreements-tracker; ponla en false. Los comandos del plugin dejan de aparecer, pero nada en la carpeta de tu proyecto se toca.
  4. Para eliminar el plugin por completo: pídele a Claude Code, "desinstala el plugin agreements-tracker," y revisa lo que propone antes de confirmar — debería eliminar el registro del plugin, no tus carpetas data/, drafts/ u output/.
Tus Datos Sobreviven al Plugin

agreements-log.md y agreements-record.docx son archivos normales en la carpeta de tu proyecto. Deshabilitar o eliminar el plugin no los borra — solo los comandos /check-agreements, /draft-followup y /build-agreement-doc dejan de funcionar hasta que lo reinstales.

Verificación

Puedes decir la diferencia entre un skill y un plugin en una oración cada uno
La carpeta del proyecto tiene un README.md y un CLAUDE.md que describen el flujo de trabajo y las reglas permanentes
El plugin tiene tres skills — check-agreements, draft-followup, build-agreement-doc — cada uno con su propio SKILL.md
El plugin está instalado y los tres comandos corren sin error
output/agreements-record.docx abre correctamente y muestra el acuerdo más nuevo arriba de todo
Sabes dónde deshabilitarías la tarea programada y el plugin si lo necesitaras
¿No Funciona?

Si un comando no se reconoce, confirma que el plugin se instaló correctamente en el Paso 4 y que reiniciaste Claude Code después. Si el documento de Word no se construye, confirma que los skills de documentos de la Lección 4.2 están instalados.

Recursos Relacionados

Lección completada

Construiste un flujo de trabajo automatizado real, de tres pasos, desde una descripción en lenguaje simple hasta un plugin funcionando, y sabes cómo apagarlo. Esta forma — revisar algo nuevo, redactar una respuesta, armar un documento — se reutiliza para cualquier rol: cambia el sitio web por un expediente judicial, la página de prensa de un competidor, o el portal de cumplimiento de un proveedor.