Asistente de Inversión Personal

Asistente de investigación de inversiones personal, local primero y con fuentes rastreables, que utiliza Agent Plan, DataPro y la búsqueda de Doubao.

¿Qué es Asistente de Inversión Personal?

Este skill configura un asistente de inversión personal completo y local, basado en un repositorio que ya incluye una aplicación React, Express, SQLite, un programador de tareas y conexión a proveedores reales. Su propósito no es diseñar la interfaz de usuario desde cero, sino personalizar la aplicación existente según las preferencias reales del usuario, entregando un sitio web con contenido ya individualizado. Soporta las plataformas Codex y Claude Code, y se activa mediante comandos específicos (`$investment-assistant` o `/investment-assistant`) o una URL pública. El proceso sigue siete fases que incluyen la recopilación de configuraciones de inversión (acciones, mercados, enfoques), la instalación segura de claves API, la verificación de conectividad con proveedores (Agent Plan, DataPro, búsqueda de Doubao), la generación de informes iniciales (resumen de acciones y resumen de riesgos post-mercado) y una verificación final en el navegador. El skill se adhiere a estrictos principios de trabajo: discute solo la configuración de inversión, no el diseño del sitio; valida cada valor real antes de usarlo; vincula cada fuente de evidencia a su contenido; y nunca expone información sensible como claves API.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add 3494036618-eng/personal-investment-assistant

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Inicialización del Asistente de Inversión Personal

Este Skill no es un consultor de diseño web ni discute esquemas de página desde cero. El repositorio ya proporciona una aplicación funcional con React, Express, SQLite, un programador de tareas y conexión a proveedores reales. La tarea de este Skill es configurar esta aplicación según las preferencias de inversión reales del usuario y entregar un sitio web que, una vez abierto, ya contenga contenido personalizado.

Entrada Remota del Skill

El usuario puede activar este flujo directamente a través de la siguiente URL pública del Skill, sin necesidad de clonar el repositorio o instalar el Skill previamente:

https://github.com/3494036618-eng/personal-investment-assistant/blob/v0.3.0/skills/investment-assistant/SKILL.md

Si el archivo {baseDir}/scripts/status.mjs no existe en el entorno actual, significa que este Skill se ha abierto desde una URL remota. En este caso, Codex o Claude Code deben:

  1. Obtener el repositorio completo https://github.com/3494036618-eng/personal-investment-assistant, no solo descargar SKILL.md.
  2. Establecer {baseDir} como el directorio skills/investment-assistant dentro del repositorio.
  3. Confirmar que {baseDir}/scripts/, {baseDir}/references/ y el directorio raíz app/ del repositorio existen antes de pasar a la fase 0.
  4. Si ya existe un directorio con el mismo nombre, verificar el remote de Git y el estado del espacio de trabajo; no sobrescribir cambios del usuario ni crear una segunda instancia de la aplicación.
  5. Si el cliente actual es Codex, ejecutar npm run skill:install:codex en la raíz del repositorio; si es Claude Code, ejecutar npm run skill:install:claude. La instalación solo escribe en el directorio de Skills del cliente correspondiente.
  6. Una vez completada la instalación, continuar la inicialización usando el Skill del repositorio actual; no afirmar que "el sitio web ya está disponible" cuando solo se ha copiado el Skill.

El usuario puede proporcionar directamente esta frase a Codex o Claude Code, que admiten operaciones de red y terminal:

Ayúdame a inicializar el asistente de inversión personal: https://github.com/3494036618-eng/personal-investment-assistant/blob/v0.3.0/skills/investment-assistant/SKILL.md

Una vez instalado, Codex puede activarlo mediante $investment-assistant y Claude Code mediante /investment-assistant; ambas entradas ejecutan el mismo conjunto de reglas de inicialización y aceptación.

Criterios de Finalización

Solo se puede decir que "ya está listo para usar" cuando se hayan completado todos los siguientes elementos:

  1. Se ha confirmado el nombre, código y mercado de al menos un valor real.
  2. Se ha confirmado la dirección de interés del usuario para cada valor, conservando las palabras originales del usuario.
  3. Se ha confirmado si la monitorización automática post-mercado está activada; si lo está, se han confirmado la hora, los días y la zona horaria.
  4. La clave de Agent Plan se ha configurado mediante credenciales privadas locales, sin aparecer en el chat, el código fuente o los registros.
  5. Las pruebas reales de DataPro, la búsqueda de Doubao y el modelo Agent Plan han sido todas exitosas.
  6. El frontend y backend completos están instalados y en ejecución.
  7. La configuración del usuario se ha importado y la página de inicio no muestra una lista de seguimiento vacía.
  8. Después de que el usuario acepte consumir créditos reales, se ha generado al menos un resumen de acción y un resumen de riesgos post-mercado para cada acción.
  9. Ambos tipos de informes tienen contenido sustancial, fuentes correspondientes y un historial independiente.
  10. Las rutas principales del escritorio se han verificado mediante el navegador.

Si alguno de estos elementos no se ha completado, se debe indicar con precisión en qué paso se detuvo, qué se ha completado y cuál es el siguiente paso. No se deben usar resultados antiguos, datos simulados o juicios verbales en su lugar.

Principios de Trabajo

  • No discutir el diseño del sitio web: El sitio web, la estructura de la página y los límites funcionales ya están definidos. Solo se recopila la configuración de inversión necesaria para usarlo.
  • Confirmar la configuración antes de llamar: Primero se muestra al usuario un resumen estructurado de la configuración. Solo después de que el usuario lo confirme se procede a instalar, importar y consumir servicios reales.
  • No adivinar valores reales: Si el nombre, código o mercado no están claros, primero se verifican. Si no se puede verificar, se pide al usuario que los complete. No se puede asignar a una empresa similar.
  • Vincular preferencias por valor: Diferentes acciones pueden tener direcciones de interés completamente diferentes. Todas las preferencias, con las palabras originales del usuario, se incluyen en el Perfil. No se pueden usar solo palabras clave predefinidas.
  • Contenido desde el primer momento: La inicialización predeterminada genera los dos primeros informes para cada acción. Solo si el usuario solicita explícitamente no generarlos por ahora, se utiliza el modo de informes vacíos.
  • Las tres capacidades usan la misma clave de Agent Plan: Según la configuración actual de Agent Plan Harness, la misma clave se usa por defecto para el modelo, DataPro y la búsqueda de Doubao. No se debe solicitar al usuario que proporcione una clave de búsqueda independiente.
  • Vincular fuentes con el cuerpo del texto: DataPro es responsable de los datos estructurados profesionales; la búsqueda de Doubao es responsable de la información pública más reciente; el modelo Agent Plan solo redacta y revisa basándose en las pruebas de esta sesión.
  • Los dos tipos de informes tienen responsabilidades diferentes: El resumen de la acción responde a "¿cómo está la empresa ahora?"; el resumen de riesgos post-mercado responde a "¿qué cambios y señales de riesgo han surgido en esta ventana de revisión?".
  • No mostrar información sensible: Las claves solo se pueden configurar a través de entrada de terminal oculta, variables de entorno o archivos de credenciales locales con permisos 0600.
  • Explicar cada paso: Indicar qué se acaba de completar, en qué paso se está, qué se hará a continuación y si se descargarán dependencias o se consumirán créditos.

Resumen del Flujo

FaseAcciónIndicador de Finalización
0Verificar el estado actualConfirmar si es la primera inicialización, reanudación o resolución de problemas
1Recopilar configuración de inversiónAcciones, códigos, mercados, preferencias y programación de monitoreo completos
2Usuario confirma la configuraciónEl usuario acepta explícitamente el resumen estructurado
3Instalación y configuración privadaInstalación de la aplicación completada, clave escrita de forma segura
4Prueba de servicios realesLos tres proveedores están actualmente disponibles
5Importar configuración personalizadaLa página de inicio muestra las acciones y direcciones de interés del usuario
6Generar primeros informesCada acción tiene dos tipos de informes reales e historial
7Aceptación en navegador y entregaEl usuario puede abrir el sitio web y usarlo directamente

Fase 0: Verificar el Estado Actual

Primero, verificar Node.js, los archivos del Skill, el runtime y el estado del sitio web:

node {baseDir}/scripts/status.mjs
  • Aplicación no instalada: Ir a la fase 1.
  • Instalada pero no en ejecución: Confirmar primero la configuración del usuario, luego decidir si iniciar o actualizar.
  • En ejecución: Leer la lista de seguimiento y configuración actuales. Si el usuario solo agrega nuevos elementos, no borrar los datos originales.
  • ready=false: Se debe volver a ejecutar un doctor real más adelante; no se puede determinar la disponibilidad del backend solo por la supervivencia del proceso.

No preguntar al usuario por el directorio del código fuente del sitio web ni crear otro proyecto.

Fase 1: Recopilar Configuración de Inversión

Utilizar un enfoque de una o dos preguntas por ronda para evitar abrumar al usuario con un formulario largo. Recopilar al menos:

  1. Nombre del valor.
  2. Código del valor.
  3. Mercado: CN, HK o US.
  4. Direcciones de interés para este valor, se sugieren de 2 a 6, pero se toma como referencia la necesidad real del usuario.
  5. Si está activada la verificación automática post-mercado.
  6. Si está activada, la hora de ejecución, los días de ejecución y la zona horaria.

Se puede preguntar primero:

¿Qué acciones te gustaría seguir? Por favor, indícame el nombre, el código y el mercado del valor. Luego, para cada uno, confirmaré las direcciones que realmente te importan y las escribiré directamente en el sitio web.

Las direcciones de interés no deben estar limitadas por una lista fija de palabras. Lo siguiente es solo para ayudar al usuario a expresarse, no es una lista permitida:

  • Mercado y técnica: Tendencia de precio, volumen, volatilidad, niveles clave, cambios de capital.
  • Operaciones y finanzas: Ingresos, ganancias, flujo de caja, margen bruto, I+D, dividendos, deuda.
  • Eventos de la empresa: Anuncios, pedidos, productos, capacidad, gestión, litigios, regulación.
  • Industria y entorno externo: Competencia, políticas, materias primas, tipo de cambio, tasas de interés, riesgos en el extranjero.
  • Lenguaje natural del propio usuario, como "precio mayorista de licor de alta gama e inventario de canal" o "progreso de certificación de grandes clientes en el extranjero".

Las preferencias compuestas se pueden mantener tal cual. La aplicación realizará un desglose semántico y una evaluación de cobertura durante la recuperación. No se deben reescribir las palabras del usuario para adaptarlas a palabras clave predefinidas.

Verificación de Valores

Priorizar el uso de DataPro para consultar la correspondencia entre nombre, código y mercado. Si la herramienta directa no está disponible, no adivinar. Una vez que el servicio real esté listo, usar la verificación de pertenencia del valor en el primer informe como umbral de bloqueo. Para acciones de China y Hong Kong, conservar el formato común de intercambio; para acciones de EE. UU., usar el Ticker público.

Fase 2: Confirmar la Configuración Estructurada

Organizar los resultados de la discusión en un breve resumen y solicitar la confirmación explícita del usuario. Ejemplo:

Configuración de Inicialización

1. Kweichow Moutai | 600519 | CN
   Interés: Rentabilidad, ventaja de marca, inventario de canal, dinámica de la industria
   Monitoreo post-mercado: 18:00 días laborables, Asia/Shanghai

2. Apple | AAPL | US
   Interés: Ventas de iPhone, negocio de servicios, avances en productos de IA
   Monitoreo post-mercado: Desactivado

Después de la confirmación, instalaré e iniciaré el sitio web existente, importaré esta configuración y, para cada acción, generaré de forma real un resumen de la acción y un resumen de riesgos post-mercado. Este paso llamará a DataPro, la búsqueda de Doubao y el modelo Agent Plan, y consumirá créditos del plan.

Continuar solo después de que el usuario confirme explícitamente. Si el usuario modifica algún elemento, actualizar solo ese elemento y volver a mostrar el resumen completo.

Escribir el resultado de la confirmación en un Perfil temporal con permisos 0600. Formato:

{
  "stocks": [
    {
      "name": "Kweichow Moutai",
      "code": "600519",
      "exchange": "CN",
      "focus": ["Rentabilidad", "Ventaja de marca", "Inventario de canal", "Dinámica de la industria"],
      "monitor": {
        "enabled": true,
        "schedule_time": "18:00",
        "schedule_days": ["Mon", "Tue", "Wed", "Thu", "Fri"],
        "timezone": "Asia/Shanghai"
      }
    }
  ]
}

El Perfil no debe contener claves API. El archivo temporal se elimina después de su uso con --consume-profile.

Fase 3: Instalar la Aplicación y Configurar Agent Plan

Explicar que este paso copiará la aplicación oficial, instalará las dependencias npm, ejecutará verificaciones y la compilación de producción, y luego ejecutará:

node {baseDir}/scripts/install.mjs

Cuando falten credenciales, ejecutar en la terminal interactiva:

node {baseDir}/scripts/configure.mjs

configure.mjs solo solicita una clave API de Agent Plan y la escribe de forma segura en:

~/.config/investment-assistant/credentials.env

El permiso del archivo debe ser 0600. No solicitar al usuario que envíe la clave al chat, ni escribir la clave en el Perfil, .env.example, README o código fuente.

Fase 4: Probar los Tres Proveedores en Vivo

Ejecutar:

node {baseDir}/scripts/doctor.mjs --live

Se deben ver:

  • agent_plan_model: ok
  • datapro: ok
  • web_search: ok

Este paso generará algunas llamadas reales. Si alguno falla, seguir las indicaciones en references/troubleshooting.md y detenerse aquí; no continuar generando informes ni afirmar que "el backend está disponible" solo porque la clave está configurada.

Fase 5: Importar la Configuración del Usuario

Iniciar el sitio web e importar el Perfil confirmado:

node {baseDir}/scripts/start.mjs
node {baseDir}/scripts/profile.mjs --input /ruta/absoluta/al/Perfil/secreto.json --consume-profile

La importación es idempotente por mercado y código de valor. Las acciones existentes conservan su historial; la ejecución repetida no crea valores duplicados.

Verificar que la página de inicio cumpla al menos con:

  • Cada valor del usuario está presente.
  • El nombre, código y mercado son correctos.
  • Las tarjetas muestran las direcciones de interés escritas por el usuario.
  • La configuración post-mercado coincide con la confirmación del usuario.

Fase 6: Generar los Primeros Informes Personalizados

Cuando el usuario ya haya aceptado consumir créditos en la fase 2, ejecutar la generación completa de los primeros informes:

node {baseDir}/scripts/acceptance.mjs --all --seed

--seed genera para cada acción:

  1. Un resumen de la acción.
  2. Un resumen de riesgos post-mercado.

Y verifica automáticamente:

  • Los dos tipos de informes tienen IDs diferentes y capturas de evidencia independientes.
  • Los dos tipos de informes no reutilizan la misma URL de red.
  • El resumen de la acción contiene evidencia financiera central de DataPro verificable.
  • Los ID de evidencia citados en el cuerpo del texto existen.
  • Las fuentes de red tienen título, editor, URL y resumen reales.
  • Las preferencias del usuario tienen un estado de cobertura elemento por elemento.
  • Los dos tipos de informes entran en sus respectivos historiales.

Si el usuario solicita explícitamente no generar los primeros informes por ahora, se puede realizar solo la aceptación básica:

node {baseDir}/scripts/acceptance.mjs --all

En este caso, se debe indicar que "el sitio web está configurado, pero el área de informes podría estar vacía", sin afirmar que se ha alcanzado el estado de contenido desde el primer momento.

El comando de inicialización de un solo paso más corto es:

node {baseDir}/scripts/onboard.mjs \
  --profile /ruta/absoluta/al/Perfil/secreto.json \
  --consume-profile

Este comando instalará, configurará, probará en vivo, iniciará, importará y generará los primeros informes de forma predeterminada. Solo agregar --skip-initial-reports si el usuario solicita explícitamente no generarlos.

Fase 7: Aceptación en el Navegador de Escritorio

Abrir la dirección local que el script muestra, por defecto:

http://127.0.0.1:8788

Verificar siguiendo el recorrido real del usuario:

  1. La página de inicio no está en blanco; todos los valores y direcciones de interés son visibles.
  2. Al abrir "Resumen de la acción", se muestra el primer informe guardado.
  3. El cuerpo del texto tiene las secciones "Rendimiento del mercado", "Operaciones y finanzas", "Direcciones de interés", "Observaciones posteriores", no es una concatenación de campos.
  4. El área de referencias corresponde a los números del cuerpo del texto; las fuentes de red se pueden abrir; las fuentes de DataPro no muestran trace.
  5. Al abrir "Resumen de riesgos post-mercado", se muestra un informe independiente, sin reutilizar el cuerpo o las fuentes del resumen de la acción.
  6. La configuración post-mercado se puede guardar; "Ejecutar una vez ahora" puede generar un nuevo registro.
  7. Cuando la monitorización automática está activada, la hora de la próxima ejecución es correcta; el estado del servicio de programación es normal.
  8. El historial contiene todos los informes generados.
  9. La página no tiene desbordamiento, superposición, problemas evidentes de salto de línea ni errores en la consola.

La visibilidad de una página en el navegador no equivale a la disponibilidad del backend real; solo se puede entregar cuando el doctor real, la generación de informes y la ruta del navegador hayan pasado todos.

Límites Fijos del Resumen de la Acción y del Resumen de Riesgos Post-Mercado

Resumen de la Acción

Responde a "¿cómo está esta empresa ahora?", utilizando cotizaciones actuales, los últimos datos financieros divulgados y materiales públicos relacionados con las direcciones de interés del usuario. Estructura fija:

  • Resumen: Conclusión concisa, no concatenando todo el cuerpo.
  • Rendimiento del mercado.
  • Operaciones y finanzas.
  • Direcciones de interés.
  • Observaciones posteriores.

Resumen de Riesgos Post-Mercado

Responde a "¿qué ha sucedido en esta ventana de revisión?", utilizando anomalías del mercado del día, nuevos eventos de la empresa desde la última revisión y el contexto de riesgo externo reciente. Estructura fija:

  • Resumen: Cambios de riesgo y los hechos más importantes, sin repetir todas las secciones.
  • Anomalías del mercado.
  • Eventos de la empresa.
  • Riesgos externos.
  • Observaciones posteriores.

Si no hay evidencia calificada para una sección, se puede omitir esa sección, pero no se deben rellenar frases genéricas como "no encontrado" o "continuar observando". La ausencia de nuevos eventos de riesgo no significa que la empresa no tenga riesgos; aún se debe conservar el resultado auditable de esta revisión.

Recuperación de Fallos

  • Sitio web no iniciado: Ejecutar status.mjs y luego start.mjs.
  • ready=false: Volver a ejecutar doctor.mjs --live.
  • Nueva acción sin contenido: Confirmar que la importación del Perfil fue exitosa y luego ejecutar acceptance.mjs --stock código --seed para esa acción.
  • Tarea programada no ejecutada: Verificar el interruptor de monitoreo, fecha, hora, zona horaria, estado del servicio de programación y registros de ejecución.
  • Fallo en la generación del informe: Conservar el error específico y los registros de diagnóstico, manejar según el proveedor, la pertenencia del valor, la cobertura de evidencia o el problema de revisión del modelo; no omitir la verificación.
  • Actualizar la aplicación: Primero hacer una copia de seguridad, luego detener, instalar, iniciar y volver a ejecutar el doctor; la base de datos y las credenciales no se eliminan con la actualización de la aplicación.

Para más detalles sobre la configuración, ver references/setup.md; para las reglas de aceptación, ver references/acceptance.md; para las reglas de fuentes, ver references/evidence-policy.md; para la resolución de problemas, ver references/troubleshooting.md.

Nota Final de Entrega

La respuesta final debe enumerar explícitamente:

  1. La dirección del sitio web y el estado actual del proceso.
  2. Los valores, mercados y direcciones de interés importados.
  3. El interruptor de monitoreo post-mercado, hora, días y zona horaria para cada valor.
  4. Los resultados de las pruebas reales del modelo Agent Plan, DataPro y la búsqueda de Doubao.
  5. Si se ha generado el resumen de la acción y el resumen de riesgos post-mercado para cada valor.
  6. Si el historial de ambos tipos de informes y el estado de la programación han pasado.
  7. Las verificaciones, pruebas, compilaciones y aceptación en el navegador realmente ejecutadas.
  8. Los elementos incompletos, dependencias externas y riesgos que aún requieren verificación manual.

No se limite a decir "inicialización completa". El usuario necesita saber qué puede hacer ahora, qué resultados ya han sido verificados por llamadas reales y qué no se ha verificado.

Skills relacionados