Communitygithub.com

666zhoulei/Geophysics-Start-My-Day-Skill

Un conjunto de habilidades (skills) para Codex orientado a estudiantes de posgrado en recursos geológicos e ingeniería geológica. Recupera artículos de exploración sísmica y geofísica inteligente, guarda 10 PDF abiertos diarios en Obsidian y genera notas de recomendación en chino con enlaces locales a los artículos originales.

¿Qué es Geophysics-Start-My-Day-Skill?

Esta habilidad (skill) está diseñada para estudiantes de posgrado y profesionales en geofísica. Cada día, al activarse, busca automáticamente en arXiv los artículos más recientes (último mes y último año) en áreas clave como procesamiento de datos sísmicos, deconvolución de mezcla, eliminación de ruido, análisis tiempo-frecuencia, modelado de ondas y geofísica con aprendizaje profundo. Luego, utilizando un sistema de puntuación multidimensional (relevancia 40%, novedad 20%, popularidad 30%, calidad 10%), selecciona los 10 artículos principales, descarga sus PDF completos y los guarda en la carpeta designada de Obsidian, generando una nota de recomendación diaria con un resumen general, análisis de tendencias, puntuaciones y enlaces directos a los PDF locales. La habilidad también integra la extracción automática de imágenes de los primeros 3 artículos y la generación de informes detallados mediante otra skill complementaria (`paper-analyze`). Soporta tanto chino como inglés según la configuración del usuario, y está optimizada para plataformas como Codex, Claude Code y Cursor.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add 666zhoulei/Geophysics-Start-My-Day-Skill

Preguntar en tu IA favorita

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

Vista previa

Del README del skill

alt
alt

Documentación

Language Setting / 语言设置

Esta habilidad admite informes tanto en chino como en inglés. El idioma se determina mediante el campo language en tu archivo de configuración:

  • Chino (predeterminado): Establece language: "zh" en la configuración
  • Inglés: Establece language: "en" en la configuración

El archivo de configuración debe estar ubicado en: $OBSIDIAN_VAULT_PATH/99_System/Config/research_interests.yaml

Runtime / 运行环境

  • Toma el directorio padre del SKILL.md actual como $SKILL_DIR.
  • En Windows PowerShell usa $env:OBSIDIAN_VAULT_PATH; en macOS/Linux shell usa $OBSIDIAN_VAULT_PATH.
  • Al ejecutar scripts, prioriza el python (Windows) o python3 (macOS/Linux) disponible; no asumas una ruta fija del intérprete.
  • Antes de la primera ejecución, verifica que python -c "import yaml, requests, fitz" sea exitoso; instala las dependencias de requirements.txt si faltan.
  • En Windows, si la variable de entorno aún no está en el proceso actual, lee la ruta del vault desde el campo vault_path del archivo de configuración; no recurras a una ruta de ejemplo de Linux.

Language Detection

Al inicio de la ejecución, lee el archivo de configuración para detectar la configuración de idioma:

# Resuelve OBSIDIAN_VAULT_PATH si no está establecido en la sesión actual
# Algunas sesiones de shell alojadas por agentes no cargan automáticamente los perfiles de shell interactivos
if [ -z "$OBSIDIAN_VAULT_PATH" ]; then
    [ -f "$HOME/.zshrc" ] && source "$HOME/.zshrc" 2>/dev/null || true
    [ -f "$HOME/.bash_profile" ] && source "$HOME/.bash_profile" 2>/dev/null || true
fi

# Lee el idioma desde la configuración
LANGUAGE=$(grep -E "^\s*language:" "$OBSIDIAN_VAULT_PATH/99_System/Config/research_interests.yaml" | awk '{print $2}' | tr -d '"')

# Predeterminado a chino si no está configurado
if [ -z "$LANGUAGE" ]; then
    LANGUAGE="zh"
fi

# Establece el sufijo del nombre del archivo de nota según el idioma
if [ "$LANGUAGE" = "en" ]; then
    NOTE_SUFFIX="paper-recommendations"
else
    NOTE_SUFFIX="论文推荐"
fi

Lectura de configuración equivalente en Windows PowerShell:

$configPath = Join-Path $env:OBSIDIAN_VAULT_PATH '99_System\Config\research_interests.yaml'
$LANGUAGE = (Select-String -Path $configPath -Pattern '^\s*language:' | Select-Object -First 1).Line.Split(':', 2)[1].Trim().Trim('"')
if (-not $LANGUAGE) { $LANGUAGE = 'zh' }
$NOTE_SUFFIX = if ($LANGUAGE -eq 'en') { 'paper-recommendations' } else { '论文推荐' }

Luego usa esta configuración de idioma a lo largo del flujo de trabajo:

  • Al generar notas, pasa --language $LANGUAGE a los scripts
  • Usa los encabezados de sección apropiados en las notas generadas

Objetivo

Ayudar a los usuarios a comenzar su día de investigación, buscando artículos muy populares, muy destacados y de alta calidad del último mes y último año, y generando notas de recomendación.

Flujo de trabajo

Resumen del flujo de trabajo

Este skill utiliza scripts de Python para llamar a la API de arXiv, buscar artículos, analizar resultados XML y filtrar/puntuar según los intereses de investigación.

Paso 1: Recopilar contexto (silencioso)

  1. Obtener la fecha de hoy

    • Determinar la fecha actual (formato YYYY-MM-DD)
  2. Leer la configuración de investigación

    • Leer $OBSIDIAN_VAULT_PATH/99_System/Config/research_interests.yaml (nota: el nombre del archivo es interests, no interest) para obtener las áreas de investigación
    • Extraer: palabras clave, categorías y prioridades
    • Utilizar los títulos, etiquetas y distribución de revistas de la colección de Zotero como perfil de intereses; el perfil actual se centra en procesamiento de datos sísmicos, adquisición mixta y deconvolución de mezcla, eliminación de ruido y reconstrucción, análisis tiempo-frecuencia, análisis de velocidad, modelado de ondas, y geofísica con restricciones físicas/aprendizaje profundo
    • Priorizar GEOPHYSICS, IEEE Transactions on Geoscience and Remote Sensing, IEEE Geoscience and Remote Sensing Letters, Geophysical Journal International, Geophysical Prospecting, Interpretation y Journal of Applied Geophysics
  3. Escanear notas existentes para construir un índice

    • Escanear todos los archivos .md en el directorio 20_Research/Papers/
    • Extraer los títulos de las notas (del nombre del archivo y del campo title en el frontmatter)
    • Construir una tabla de mapeo de palabras clave a rutas de notas, para enlaces automáticos posteriores
    • Priorizar el campo title del frontmatter; si no existe, usar el nombre del archivo

Paso 2: Buscar artículos

2.1 Alcance de la búsqueda

Buscar artículos recientes en todas las categorías relevantes:

  1. Alcance de la búsqueda

    • Usar scripts/search_arxiv.py para buscar en arXiv
    • Consulta: todas las categorías de arXiv relacionadas con la investigación
    • Ordenar por fecha de envío
    • Limitar resultados: 200 artículos
  2. Estrategia de filtrado

    • Filtrar artículos según el archivo de configuración de intereses de investigación
    • Calcular una puntuación de recomendación integral
    • Mantener los 10 artículos con mayor puntuación

2.2 Ejecutar la búsqueda y el filtrado

Usar el script scripts/search_arxiv.py para realizar la búsqueda, el análisis y el filtrado:

# Usar el script de Python para buscar, analizar y filtrar artículos de arXiv
# Primero, cambiar al directorio del skill, luego ejecutar el script
cd "$SKILL_DIR"
python scripts/search_arxiv.py \
  --config "$OBSIDIAN_VAULT_PATH/99_System/Config/research_interests.yaml" \
  --output arxiv_filtered.json \
  --max-results 200 \
  --top-n 10 \
  --download-dir "$OBSIDIAN_VAULT_PATH/20_Research/Papers/"

Funcionalidades del script:

  1. Buscar en arXiv

    • Llamar a la API de arXiv para buscar artículos en las categorías especificadas
    • Obtener hasta 200 de los artículos más recientes
  2. Analizar resultados XML

    • Analizar el XML devuelto por la API
    • Extraer: ID, título, autores, resumen, fecha de publicación, categorías
  3. Aplicar filtrado y puntuación

    • Filtrar artículos según el archivo de configuración de intereses de investigación
    • Calcular una puntuación de recomendación integral (relevancia 40%, novedad 20%, popularidad 30%, calidad 10%)
    • Ordenar por puntuación, mantener los 10 principales

Salida:

  • arxiv_filtered.json - Lista de artículos filtrados (formato JSON)
  • Cada artículo incluye:
    • ID del artículo, título, autores, resumen
    • Fecha de publicación, categorías
    • Puntuación de relevancia, puntuación de novedad, puntuación de popularidad, puntuación de calidad
    • Puntuación de recomendación final, áreas coincidentes

Paso 3: Leer los resultados filtrados

3.1 Leer resultados JSON

Leer la lista de artículos filtrados y puntuados desde arxiv_filtered.json:

# Leer resultados filtrados
cat arxiv_filtered.json

Los resultados incluyen:

  • total_found: Número total de artículos encontrados
  • total_filtered: Número de artículos después del filtrado
  • top_papers: Los 10 artículos con mayor puntuación, cada uno contiene:
    • ID del artículo, título, autores, resumen
    • Fecha de publicación, categorías
    • Puntuación de relevancia, puntuación de novedad, puntuación de calidad
    • Puntuación de recomendación final, áreas coincidentes, palabras clave coincidentes

3.2 Explicación de la puntuación

Combinando múltiples dimensiones:

Puntuación de recomendación =
  Puntuación de relevancia: 40%
  Puntuación de novedad: 20%
  Puntuación de popularidad: 30%
  Puntuación de calidad: 10%

Detalles de la puntuación:

  1. Puntuación de relevancia (40%)

    • Grado de coincidencia con los intereses de investigación
    • Coincidencia de palabras clave en el título: cada una +0.5 puntos
    • Coincidencia de palabras clave en el resumen: cada una +0.3 puntos
    • Coincidencia de categoría: +1.0 puntos
    • Puntuación máxima: ~3.0
  2. Puntuación de novedad (20%)

    • Últimos 30 días: +3 puntos
    • 30-90 días: +2 puntos
    • 90-180 días: +1 punto
    • Más de 180 días: 0 puntos
  3. Puntuación de popularidad (30%)

    • (Si los datos están disponibles) Número de citas > 100: +3 puntos
    • Número de citas 50-100: +2 puntos
    • Número de citas < 50: +1 punto
    • Sin datos de citas: 0 puntos
    • O inferir basado en el tiempo transcurrido desde la publicación (artículos nuevos populares de los últimos 7 días): +2 puntos
  4. Puntuación de calidad (10%)

    • Inferir del resumen: innovación significativa: +3 puntos
    • Método claro: +2 puntos
    • Trabajo general: +1 punto
    • O leer la puntuación de calidad de notas existentes

Puntuación final de recomendación = Relevancia(40%) + Novedad(20%) + Popularidad(30%) + Calidad(10%)

Paso 4: Generar la nota de recomendación del día

4.1 Leer resultados filtrados

Leer la lista de artículos filtrados desde arxiv_filtered.json:

  • Incluye los 10 artículos con mayor puntuación
  • Cada artículo contiene información completa: ID, título, autores, resumen, puntuación, áreas coincidentes
  • Todos los 10 artículos con alta puntuación deben descargarse en este directorio: $OBSIDIAN_VAULT_PATH/20_Research/Papers/
  • El nombre del archivo PDF local en la nota debe enlazar a un archivo PDF local en el directorio $OBSIDIAN_VAULT_PATH/20_Research/Papers/
  • Si un candidato de alta puntuación no tiene una dirección PDF abierta válida, saltarlo y agregar el siguiente en orden de puntuación hasta completar 10; si no se llega a 10, detenerse e informar, sin generar una nota incompleta

4.2 Crear el archivo de nota de recomendación

  1. Crear el archivo de nota de recomendación

    • Nombre del archivo (según la configuración de idioma):
      • Chino (language: "zh"): 10_Daily/YYYY-MM-DD论文推荐.md
      • Inglés (language: "en"): 10_Daily/YYYY-MM-DD-paper-recommendations.md
    • Usar variable: 10_Daily/YYYY-MM-DD${NOTE_SUFFIX}.md (donde NOTE_SUFFIX se estableció en la fase de detección de idioma)
    • Debe incluir las siguientes propiedades:
      • keywords: Palabras clave de los artículos recomendados del día (separadas por comas, extraídas de los títulos y resúmenes)
      • tags: ["llm-generated", "daily-paper-recommend"]
  2. Verificar si el artículo merece un análisis detallado

    • Artículos muy recomendables: Puntuación de recomendación >= 7.5 o artículos especialmente recomendados
    • Artículos de recomendación general: Otros artículos
  3. Verificar si ya existe una nota para el artículo

    • Buscar en el directorio 20_Research/Papers/
    • Buscar si hay una nota detallada para ese artículo
    • Si ya existe una nota: escribir de forma concisa, citando la nota existente
    • Si no existe nota:
      • Muy recomendable: escribir una sección detallada en la nota de recomendación
      • Recomendación general: solo escribir información básica

4.2 Estructura de la nota de recomendación

La estructura del archivo de nota es la siguiente:

---
keywords: [PalabraClave1, PalabraClave2, ...]
tags: ["llm-generated", "daily-paper-recommend"]
---

[Lista de recomendaciones de artículos...]

4.2.1 Resumen del día (antes de la lista de artículos)

Antes de la lista de artículos, agregar una sección de resumen que describa la situación general de los artículos recomendados del día.

Según la configuración de $LANGUAGE:

Inglés (language: "en"):

## Today's Overview

Today's {paper_count} recommended papers focus on **{direction1}**, **{direction2}**, and **{direction3}**.

- **Overall Trends**: {summary of research trends}
- **Quality Distribution**: Scores range from {min}-{max}, {quality assessment}.
- **Research Hotspots**:
  - **{hotspot1}**: {description}
  - **{hotspot2}**: {description}
  - **{hotspot3}**: {description}
- **Reading Suggestions**: {reading order recommendations}

Chino (language: "zh"):

## 今日概览

今日推荐的{论文数量}篇论文主要聚焦于**{主要研究方向1}**、**{主要研究方向2}**和**{主要研究方向3}**等前沿方向。

- **总体趋势**:{总结今日论文的整体研究趋势}
- **质量分布**:今日推荐的论文评分在 {最低分}-{最高分} 之间,{整体质量评价}。
- **研究热点**:
  - **{热点1}**:{简要描述}
  - **{热点2}**:{简要描述}
  - **{热点3}**:{简要描述}
- **阅读建议**:{给出阅读顺序建议}

Explicación:

  • Basado en los títulos, resúmenes y puntuaciones de los 10 artículos principales filtrados
  • Extraer temas y tendencias de investigación comunes
  • Dar sugerencias razonables de orden de lectura

4.2.2 Formato unificado para todos los artículos

Todos los artículos se ordenan de mayor a menor puntuación, usando un formato unificado.

Según la configuración de $LANGUAGE:

Inglés (language: "en"):

### [[Note_Filename|Paper Title as Displayed]]
- **Authors**: [author list]
- **Affiliation**: [institution names, extracted from paper source or arXiv page]
- **Links**: [arXiv](url) | [[local filename|PDF]]
- **Source**: arXiv
- **Note**: [[existing_note_path|short title]] or --

**One-line Summary**: [one sentence summarizing the core contribution]

**Core Contributions**:
- [contribution 1]
- [contribution 2]
- [contribution 3]

**Key Results**: [most important results from abstract]

---

Chino (language: "zh"):

### [[Note_Filename|论文标题显示名]]
- **作者**:[作者列表]
- **机构**:[机构名称,从论文源码或 arXiv 页面提取]
- **链接**:[arXiv](链接) | [[本地文件名称|PDF]]
- **来源**:[arXiv]
- **笔记**:[[已有笔记路径|简称]] 或 --

**一句话总结**:[一句话概括论文的核心贡献]

**核心贡献/观点**:
- [贡献点1]
- [贡献点2]
- [贡献点3]

**关键结果**:[从摘要中提取的最重要结果]

---

Reglas de formato importantes:

  • Wikilink debe usar un alias de visualización: [[File_Name|Display Title]], no usar [[File_Name]] (los guiones bajos se mostrarían directamente, afectando la legibilidad)
  • Las imágenes deben usar la sintaxis de inserción de wikilink de Obsidian: ![[filename.png|600]], prohibido usar el formato ![alt](path%20encoded) (la codificación URL no funciona en Obsidian)
  • El formato PDF en el archivo de nota debe ser [[local_filename|PDF]], el nombre del archivo local debe enlazar a un archivo PDF local en el directorio $OBSIDIAN_VAULT_PATH/20_Research/Papers/
  • Información de afiliación: Extraer de los campos \author o \affiliation del código fuente TeX del artículo; si la API de arXiv no lo proporciona, leer desde el paquete fuente descargado
  • No usar --- como marcador de posición para "sin datos": Usar -- en su lugar (tres guiones son interpretados por Obsidian como una línea divisoria)

4.2.3 Insertar imágenes y llamar a análisis detallado para los primeros tres artículos

Para los primeros 3 artículos (los 3 con mayor puntuación):

Paso 0: Verificar si ya existe una nota para el artículo

# Buscar notas existentes en el directorio 20_Research/Papers/
# Métodos de búsqueda:
# 1. Por ID del artículo (ej. 2602.23351)
# 2. Por título del artículo (coincidencia difusa)
# 3. Por palabras clave del título del artículo

Paso 1: Decidir el tratamiento según los resultados de la verificación

Si ya existe una nota:

  • No generar un nuevo informe detallado
  • Usar la ruta de la nota existente como wikilink
  • En el campo "informe detallado" de la nota de recomendación, citar la nota existente
  • Verificar si es necesario extraer imágenes (si no hay directorio images o está vacío)
    • Si se necesitan imágenes: llamar a extract-paper-images
    • Si ya hay imágenes: usar las existentes

Si no existe una nota:

  • Llamar a extract-paper-images para extraer imágenes
  • Llamar a paper-analyze para generar un informe detallado
  • Agregar imágenes y enlaces al informe detallado en la nota de recomendación

Paso 2: Insertar imágenes y enlaces en la nota de recomendación

Si ya existe una nota:

### [[Nombre de la nota existente]]
- **作者**:[作者列表]
- **机构**:[机构名称]
- **链接**:[arXiv](链接) | [[本地文件名称|PDF]]
- **来源**:[arXiv]
- **详细报告**:[[Ruta de la nota existente]]
- **笔记**:已有详细分析

**一句话总结**:[一句话概括论文的核心贡献]

![[existing_image_filename.png|600]]

**核心贡献/观点**:
...

Si no existe una nota:

### [[Note_Filename|Paper Title Display Name]]
- **作者**:[作者列表]
- **机构**:[机构名称]
- **链接**:[arXiv](链接) | [[本地文件名称|PDF]]
- **来源**:[arXiv]
- **详细报告**:[[20_Research/Papers/[domain]/[note_filename]|Short Title]] (自动生成)

**一句话总结**:[一句话概括论文的核心贡献]

![[paperID_fig1.png|600]]

**核心贡献/观点**:
...

Reglas de formato de imágenes (¡importante!):

  • Debe usar la sintaxis de inserción de wikilink de Obsidian: ![[filename.png|600]]
  • Prohibido usar la sintaxis de imagen de Markdown: ![alt](path%20with%20encoding) — La codificación URL (%20, %26) no funciona en Obsidian
  • Ejemplo de nombre de archivo de imagen: 2603.24124_fig1.png
  • Obsidian buscará automáticamente nombres de archivo coincidentes en el vault, no es necesario escribir la ruta completa

Explicación del informe detallado:

  • Ruta del informe: 20_Research/Papers/[categoría del artículo]/[note_filename].md
  • Importante: Usar el campo note_filename del JSON para construir el wikilink
  • Debe usar un alias de visualización: [[20_Research/Papers/[domain]/[note_filename]|Short Title]]
    • Correcto: [[20_Research/Papers/大模型/Hypothesis-Conditioned_Query_Rewriting|Hypothesis-Conditioned Query Rewriting]]
    • Incorrecto: [[20_Research/Papers/大模型/Hypothesis-Conditioned_Query_Rewriting_for_Decision-Useful_Retrieval]] (los guiones bajos se muestran directamente, no es estético)
  • El informe detallado es generado automáticamente por paper-analyze

Extracción de afiliaciones:

  • Extraer los campos \author y \affiliation de los archivos .tex en el paquete fuente descargado de arXiv (.tar.gz)
  • Si el código fuente no está disponible, extraer del HTML de la página de arXiv
  • Si aún no se puede obtener, marcar con -- (usar dos guiones, no tres ---, ya que Obsidian lo interpretaría como una línea divisoria)

Paso 5: Enlace automático de palabras clave (opcional)

Después de generar la nota de recomendación, enlazar automáticamente palabras clave a notas existentes:

# Paso 1: Escanear notas existentes
cd "$SKILL_DIR"
python scripts/scan_existing_notes.py \
  --vault "$OBSIDIAN_VAULT_PATH" \
  --output existing_notes_index.json

# Paso 2: Generar la nota de recomendación (flujo normal)
# ... usar search_arxiv.py para buscar artículos ...

# Paso 3: Enlazar palabras clave (nuevo paso)
python scripts/link_keywords.py \
  --index existing_notes_index.json \
  --input "10_Daily/YYYY-MM-DD${NOTE_SUFFIX}.md" \
  --output "10_Daily/YYYY-MM-DD${NOTE_SUFFIX}_linked.md"

Nota:

  • El script de enlace de palabras clave omite automáticamente el frontmatter, las líneas de título y los bloques de código
  • Filtra palabras genéricas (and, for, model, learning, etc.)
  • Mantiene los wikilinks existentes sin modificar

Reglas importantes

  • Ampliar el alcance de la búsqueda: Buscar artículos populares del último mes + último año
  • Puntuación de recomendación integral: Combinar cuatro dimensiones: relevancia, novedad, popularidad, calidad
  • Nombre de archivo con fecha: Mantener el formato 10_Daily/YYYY-MM-DD${NOTE_SUFFIX}.md (chino: 论文推荐, inglés: paper-recommendations)
  • Agregar resumen del día: Al inicio de la nota de recomendación, agregar una sección "## Today's Overview" (o "## 今日概览" en chino) que resuma las direcciones principales de investigación, tendencias generales, distribución de calidad, puntos calientes de investigación y sugerencias de lectura de los artículos del día
  • Ordenar por puntuación: Todos los artículos se ordenan de mayor a menor puntuación de recomendación
  • Tratamiento especial de los primeros 3:
    • El nombre del artículo en formato wikilink: [[Nombre del artículo]]
    • Extraer automáticamente la primera imagen e insertarla
    • Llamar automáticamente a paper-analyze para generar un informe detallado
    • Mostrar el enlace del wikilink en el campo "informe detallado"
  • Otros artículos: Solo escribir información básica, sin insertar imágenes
  • Mantener la rapidez: Permitir que el usuario entienda rápidamente las recomendaciones del día
  • Evitar duplicados: Verificar artículos ya recomendados
  • Enlace automático de palabras clave:
    • Después de generar la nota de recomendación, escanear automáticamente las notas existentes
    • Reemplazar palabras clave en el texto (como BLIP, CLIP, etc.) con wikilinks
    • Ejemplo: BLIP → [[BLIP]]
    • Mantener los wikilinks existentes sin modificar
    • No reemplazar contenido dentro de bloques de código
    • No reemplazar contenido que ya sea un wikilink (para evitar duplicados)

Diferencias con otros skills

start-my-day (este skill)

  • Propósito: Filtrar y recomendar artículos de una búsqueda amplia, generando notas de recomendación diarias
  • Alcance de búsqueda: Último mes + artículos populares/de alta calidad del último año
  • Contenido: Lista de recomendaciones
    • Incluye un "resumen del día" al inicio: resume las direcciones principales de investigación, tendencias generales, distribución de calidad, puntos calientes de investigación y sugerencias de lectura
    • Todos los artículos con formato unificado
    • Tratamiento especial de los primeros 3:
      • Nombre del artículo en formato wikilink: [[Nombre del artículo]]
      • Extraer automáticamente la primera imagen e insertarla
      • Llamar automáticamente a paper-analyze para generar un informe detallado
      • Mostrar el enlace del wikilink en el campo "informe detallado"
  • Procesamiento de imágenes: Los primeros 3 extraen e insertan automáticamente la primera imagen; no incluye imágenes de todos los artículos
  • Informe detallado: Generado automáticamente para los primeros 3; no se genera para otros artículos
  • Aplicación: El usuario lo activa manualmente cada día
  • Referencia a notas: Si el artículo ya tiene una nota, escribir de forma concisa y citarla; si el análisis requiere citar notas históricas, se citan directamente

paper-analyze (skill de análisis profundo)

  • Propósito: El usuario revisa activamente un solo artículo para un estudio en profundidad
  • Escenario de aplicación: Artículos que el usuario quiere ver pero que la IA no ha organizado
  • Contenido: Nota de análisis profundo detallada del artículo
    • Incluye toda la información central: pregunta de investigación, descripción del método, arquitectura del método, innovaciones clave, resultados experimentales, análisis profundo, comparación con artículos relacionados, etc.
    • Con texto e imágenes: Todas las imágenes del artículo deben usarse (diagrama de arquitectura central, diagrama de método, diagrama de resultados experimentales, etc.)
  • Aplicación: El usuario llama activamente a paper-analyze (Codex usa $paper-analyze, Claude Code usa /paper-analyze) y proporciona el ID o título del artículo
  • Requisito importante: Ya sea que el artículo sea organizado por start-my-day o visto activamente por el usuario, debe incluir tanto texto como imágenes

Instrucciones de uso

Cuando el usuario ingrese "start my day", ejecuta los siguientes pasos:

Soporte de parámetros de fecha:

  • Sin parámetros: Genera la nota de recomendación de artículos para el día actual
  • Con parámetro (YYYY-MM-DD): Genera la nota de recomendación de artículos para la fecha especificada
    • Por ejemplo: En Codex usa $start-my-day 2026-02-27, en Claude Code usa /start-my-day 2026-02-27

Flujo de ejecución automática

  1. Obtener la fecha objetivo

    • Sin parámetros: Usar la fecha actual (formato YYYY-MM-DD)
    • Con parámetros: Usar la fecha especificada
  2. Escanear notas existentes y construir un índice

    # Escanear las notas de artículos existentes en el vault
    cd "$SKILL_DIR"
    python scripts/scan_existing_notes.py \
      --vault "$OBSIDIAN_VAULT_PATH" \
      --output existing_notes_index.json
    
    • Escanear el directorio 20_Research/Papers/
    • Extraer títulos y tags de las notas
    • Construir una tabla de mapeo de palabras clave a rutas de notas
  3. Buscar y filtrar artículos de arXiv

    # Usar el script de Python para buscar, analizar y filtrar artículos de arXiv
    # Primero, cambiar al directorio del skill, luego ejecutar el script
    # Si hay un parámetro de fecha objetivo (ej. 2026-02-21), pasarlo a --target-date
    cd "$SKILL_DIR"
    python scripts/search_arxiv.py \
      --config "$OBSIDIAN_VAULT_PATH/99_System/Config/research_interests.yaml" \
      --output arxiv_filtered.json \
      --max-results 200 \
      --top-n 10 \
      --download-dir "$OBSIDIAN_VAULT_PATH/20_Research/Papers/" \
      --target-date "{fecha objetivo}"  # Si el usuario especificó una fecha, reemplazar con la fecha real
    
  4. Leer los resultados filtrados

    • Leer los resultados filtrados desde arxiv_filtered.json
    • Obtener los 10 artículos con mayor puntuación
    • Cada artículo incluye: ID, título, autores, resumen, puntuación, áreas coincidentes
    • Verificar que todos los 10 archivos local_pdf_filename existan en $OBSIDIAN_VAULT_PATH/20_Research/Papers/

Skills relacionados