Communitygithub.com

chipsui/guided-portfolio-watch

Crea y mantén un Seguimiento de Cartera Guiado para cualquier cartera de acciones estadounidenses. Genera un Manual de Estrategia, fuentes de monitoreo diario y alertas explicativas iniciales. Optimizado para inversión práctica y apta para principiantes sin necesidad de conocimientos en análisis financiero.

¿Qué es guided-portfolio-watch?

Esta skill construye un sistema completo de seguimiento de cartera para acciones estadounidenses. A partir de los tickers proporcionados por el usuario y su intención (poseer, observar, horizonte temporal), la skill genera un archivo de configuración JSON (`MonitoringConfig`), dos flujos de automatización para el análisis fundamental y el monitoreo diario, y un Manual de Estrategia alojado en Alva AI. Está diseñada para ser reutilizable: cambiando el archivo `config.json` y volviendo a ejecutar los flujos, se obtiene un pipeline completo para una nueva cartera sin necesidad de modificar el código. Funciona en la plataforma Alva AI y se despliega mediante su CLI (`alva`). La skill es especialmente útil para inversores principiantes que desean un enfoque sin intervención constante, con alertas que explican los eventos importantes en lugar de simplemente notificarlos. Soporta modos de guía (guiado, estándar, neutral) que determinan el nivel de jerga financiera utilizado en las alertas. No incluye gráficos de precios, recomendaciones de compra/venta/retención, ni ejecución de órdenes.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chiptsui/alva-guided-portfolio-watch/tree/main/.agents/skills/guided-portfolio-watch

Preguntar en tu IA favorita

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

Documentación

Skill de Seguimiento de Cartera Guiado

Lo que Construye Esta Skill

Para cualquier cartera proporcionada por el usuario, esta skill produce:

  1. MonitoringConfig — un objeto JSON estructurado escrito en ALFS, la fuente única de verdad para la lista de tickers, horizonte, modo de guía y nota de preferencias.
  2. Dos automatizaciones de fuente — gpw-fundamentals (historial financiero) y gpw-monitor (análisis de eventos diarios + alertas push), ambas leyendo la configuración en tiempo de ejecución.
  3. Un Manual de Estrategia — guided-portfolio-watch, disponible en https://alva.ai/u/{username}/playbooks/guided-portfolio-watch.
  4. Alertas diarias — notificaciones con explicaciones iniciales cuando ocurren eventos materiales.

La skill es reutilizable: cambiar config.json y volver a ejecutar las fuentes produce un Manual de Estrategia y un pipeline de alertas completos para cualquier cartera nueva sin cambios de código.


Paso 1 — Analizar la Intención del Usuario

Ejecuta src/intent-to-config.js (o aplica su lógica) para extraer un MonitoringConfig del mensaje del usuario. Haz esto antes de hacer cualquier pregunta.

Extracción de Tickers

Busca secuencias de 1 a 5 letras mayúsculas o patrones como BRK.B. Acepta solo acciones estadounidenses listadas. Rechaza ETFs, cripto (ej., BTC, ETH, SOL), opciones y tickers no estadounidenses — informa al usuario y continúa con los símbolos aceptados.

Lista de bloqueo de palabras comunes (rechazar incluso si están en mayúsculas): I, A, AN, OR, FOR, AND, AT, IN, ON, MY, ME, THE.

Modo de Guía (inferencia de preferencia — no afirmación de experiencia)

Aplica este orden de prioridad. Detente en la primera coincidencia.

1. PREFERENCIA EXPLÍCITA (siempre gana):
   "en lenguaje sencillo" / "explícame" / "Soy nuevo en inversiones"
   "No entiendo" / "ayúdame a entender" → guiado

   "Quiero detalles técnicos" / "asume que sé de finanzas"
   "salta lo básico" / "análisis técnico" (como preferencia) → estándar

2. SEÑALES CONTEXTUALES (solo cuando no hay preferencia explícita):
   Uso correcto de: EBITDA, FCF, NIM, P/E, puntos base, margen de interés neto,
   apalancamiento operativo, CAGR → estándar

   "¿debería preocuparme?" / "¿qué significa esto para mí?" / "¿es esto malo?" → guiado

3. PREDETERMINADO (señales mixtas, conflictivas o ausentes):
   → neutral

Nunca preguntes "¿eres principiante?" o "¿cuál es tu nivel de experiencia?". NEUTRAL usa el diseño guiado por defecto; el usuario puede cambiarlo mediante AGENTS.md.

Horizonte

  • Palabras clave: "largo plazo", "3–5 años", "mantener para siempre", "jubilación" → long-term
  • Palabras clave: "medio plazo", "1–3 años", "próximos años" → medium-term
  • Palabras clave: "day trade", "swing trade", "corto plazo", "< 1 año" → no compatible. Informa al usuario; pregunta si el monitoreo a largo plazo es aceptable antes de continuar.
  • Valor predeterminado (sin señal): long-term.

Clasificación de Propiedad

  • "tengo", "compré", "mi posición", "poseo" → holding
  • "observando", "siguiendo", "echar un ojo" → watchlist
  • Ambiguo → holding (predeterminado más seguro; evita decirle a un tenedor que no posee esto)

La propiedad solo afecta el lenguaje de las alertas. El pipeline trata todos los símbolos de manera idéntica.

Pesos (Opcional)

Analiza patrones de porcentajes explícitos: "50% NVDA, 30% TSLA, 20% AAPL". Si se proporcionan, almacénalos como objeto weights (valores 0–1, deben sumar 1.0 ± 0.02; normaliza si hay error de redondeo). Si no se proporcionan, omite weights de la configuración.


Paso 2 — Aclarar si es Necesario (como máximo una pregunta)

Pregunta solo si la respuesta cambia materialmente lo que se construye:

SituaciónPregunta
No se proporcionaron tickers"¿Qué empresas te gustaría monitorear?"
Conflictos de horizonte (day trading)Informa + confirma que el seguimiento a largo plazo es aceptable

No preguntes sobre: número de acciones, costo base, metas financieras, nivel de experiencia. No hagas una segunda pregunta.


Paso 3 — Ensamblar MonitoringConfig

Construye el objeto MonitoringConfig completo (consulta config/monitoring-config.schema.json).

sectorFocusAreas — obtén los detalles de la empresa para cada ticker mediante arrays-data-api-equity-fundamentals. Usa los campos sector + industry y la tabla de búsqueda en src/intent-to-config.js para generar una nota de enfoque de una oración por ticker. Si la llamada a la API falla o el sector es desconocido, usa el valor predeterminado genérico: "Monitorear: ingresos, ganancias y desarrollos específicos del negocio.". Nunca inventes un área de enfoque.

preferencesNote — ensámblala a partir de los campos de configuración usando esta plantilla:

El usuario [posee/sigue] [LISTA DE TICKERS]. Horizonte de inversión: [HORIZONTE].

[Si GUIADO:] Usa lenguaje sencillo y sin jerga. Define los términos financieros cuando aparezcan por primera vez.
Enmarca todo en torno a lo que el usuario debe prestar atención y por qué.
[Si ESTÁNDAR:] Asume alfabetización financiera intermedia. Usa terminología financiera estándar.
[Si NEUTRAL:] Usa un lenguaje claro y accesible. Evita la jerga sin explicación.

Política de alertas: Enfócate solo en desarrollos materiales del negocio a largo plazo.
Excluye: movimientos de precios puros, análisis técnico, rumores sin fundamento.
Incluye: cambios en ganancias/guía, eventos regulatorios/legales, anuncios estratégicos,
y cambios en la cadena de suministro o producto con impacto empresarial a varios años.

[Si se proporcionaron pesos:] Asignación ilustrativa: [TICKER] [PCT]%, ... (escenario proporcionado por el usuario; no son pesos actuales verificados.)

[Áreas de enfoque por ticker:]
[TICKER]: [sectorFocusArea]
...

[Si hay entradas desconocidas:] No se conocen las cantidades, costos base ni el valor total de la cartera. No calcules ni impliques cifras de rendimiento a nivel de cartera.

Paso 4 — Escribir Configuración en ALFS

# Serializa la configuración en un archivo temporal local, luego escribe en ALFS
alva fs write --path '~/feeds/gpw-monitor/v1/config.json' --file /tmp/gpw-config.json --mkdir-parents

Confirma que la escritura se realizó correctamente con:

alva fs read --path '~/feeds/gpw-monitor/v1/config.json'

También escribe la configuración en ~/feeds/gpw-fundamentals/v1/config.json (mismo contenido — ambas fuentes leen de su propia ruta para mantenerse desacopladas).


Paso 5 — Desplegar Fuentes (Requiere Aprobación del Usuario)

Lee references/setup-workflow.md antes de desplegar. No despliegues hasta que el usuario haya confirmado que el MonitoringConfig es correcto.

Fuente 1: gpw-fundamentals (usa la plantilla templates/gpw-fundamentals.stub.js)

  • Cron: 15 6 * * *
  • Salida: fundamentals/snapshot (blob JSON)
  • Sin salida de alertas

Fuente 2: gpw-monitor (usa la plantilla templates/gpw-monitor.stub.js)

  • Cron: 30 6 * * *
  • Salida: analysis/decision + alerts/daily (V2 alertOutput)
  • Desplegar con --push-notify

Paso 6 — Construir y Publicar el Manual de Estrategia (Requiere Aprobación del Usuario)

Usa la plantilla templates/gpw-playbook.stub.html. Rellena todos los marcadores [GPW-*]. Sigue el ciclo de vida completo: alva lint playbook → alva release playbook-draft → alva release playbook → alva screenshot.


Paso 7 — Habilitar Entrega de Alertas (Requiere Aprobación del Usuario)

La publicación crea automáticamente un enlace de alerta FEED para el propietario. Confirma la entrega:

alva alert history --automation gpw-monitor
# Esperado: al menos una fila con estado = "sent"

Criterios de Aceptación

La skill está completa cuando:

  • alva lint playbook pasa sin errores
  • alva screenshot muestra datos visibles (no un marco en blanco)
  • alva alert history muestra una fila con estado sent dentro de las 24h posteriores a una ejecución programada
  • Cambiar los tickers en config.json y volver a ejecutar gpw-fundamentals produce nuevas secciones de empresa sin referencias a tickers antiguos

Lo Que Esta Skill NO Construye

  • Gráficos de precios o monitoreo de precios intradiario
  • Recomendaciones de compra / venta / retención
  • Calendario de ganancias
  • Rendimiento vs. índice de referencia
  • Ejecución de órdenes o trading

Skills relacionados