Skill Idea Miner
Extrae automáticamente candidatos a ideas de habilidades (skills) de los registros de sesión de Claude Code, puntúalos según novedad, viabilidad y valor comercial, y mantén un backlog priorizado para la generación posterior de habilidades.
Cuándo usarlo
- Ejecución automática del pipeline semanal (sábado 06:00 mediante launchd)
- Actualización manual del backlog:
python3 scripts/run_skill_generation_pipeline.py --mode weekly - Simulación (dry-run) para previsualizar candidatos sin puntuación con LLM
Requisitos previos
- Python 3.10+ con el paquete
pyyaml - Claude CLI instalado y autenticado (
claude --versionpara verificar) - Registros de sesión en
~/.claude/projects/<project>/(creados automáticamente por Claude Code) - No se requieren claves API (usa Claude CLI para las llamadas LLM)
Flujo de trabajo
Inicio rápido
# Simulación: previsualizar candidatos extraídos sin puntuación LLM
python3 scripts/mine_session_logs.py --dry-run --output-dir reports/
# Minería completa con puntuación (requiere Claude CLI)
python3 scripts/mine_session_logs.py --output-dir reports/
# Puntuar candidatos existentes
python3 scripts/score_ideas.py \
--candidates reports/raw_candidates.yaml \
--output-dir logs/
Etapa 1: Minería de registros de sesión
- Enumerar los registros de sesión de los proyectos permitidos en
~/.claude/projects/ - Filtrar los últimos 7 días según la fecha de modificación del archivo, confirmar con el campo
timestamp - Extraer mensajes de usuario (
type: "user",userType: "external") - Extraer patrones de uso de herramientas de los mensajes del asistente
- Ejecutar detección determinista de señales:
- Frecuencia de uso de habilidades (referencias a rutas
skills/*/) - Patrones de error (códigos de salida distintos de cero, flags
is_error, palabras clave de excepción) - Secuencias repetitivas de herramientas (3+ herramientas repetidas 3+ veces)
- Palabras clave de solicitud de automatización (inglés y japonés)
- Solicitudes no resueltas (intervalo de 5+ minutos después del mensaje del usuario)
- Frecuencia de uso de habilidades (referencias a rutas
- Invocar Claude CLI sin interfaz gráfica para la abstracción de ideas
- Generar
raw_candidates.yaml
Etapa 2: Puntuación y deduplicación
- Cargar las habilidades existentes desde el frontmatter de
skills/*/SKILL.md - Deduplicar mediante similitud de Jaccard (umbral > 0.5) contra:
- Nombres y descripciones de habilidades existentes
- Ideas existentes en el backlog
- Puntuar los candidatos no duplicados con Claude CLI:
- Novedad (0-100): diferenciación respecto a habilidades existentes
- Viabilidad (0-100): posibilidad técnica de implementación
- Valor comercial (0-100): valor práctico para inversores/operadores
- Compuesta = 0.3 * Novedad + 0.3 * Viabilidad + 0.4 * Valor comercial
- Fusionar los candidatos puntuados en
logs/.skill_generation_backlog.yaml
Formato de salida
raw_candidates.yaml
generated_at_utc: "2026-03-08T06:00:00Z"
period: {from: "2026-03-01", to: "2026-03-07"}
projects_scanned: ["claude-trading-skills"]
sessions_scanned: 12
candidates:
- id: "raw_2026w10_001"
title: "Earnings Whispers Image Parser"
source_project: "claude-trading-skills"
evidence:
user_requests: ["Extract earnings dates from screenshot"]
pain_points: ["Manual image reading"]
frequency: 3
raw_description: "Parse Earnings Whispers screenshots to extract dates."
category: "data-extraction"
Backlog (logs/.skill_generation_backlog.yaml)
updated_at_utc: "2026-03-08T06:15:00Z"
ideas:
- id: "idea_2026w10_001"
title: "Earnings Whispers Image Parser"
description: "Skill that parses Earnings Whispers screenshots..."
category: "data-extraction"
scores: {novelty: 75, feasibility: 60, trading_value: 80, composite: 73}
status: "pending"
Recursos
references/idea_extraction_rubric.md— Criterios de detección de señales y rúbrica de puntuaciónscripts/mine_session_logs.py— Analizador de registros de sesiónscripts/score_ideas.py— Puntuador y deduplicador