CommunityProgramación y desarrollogithub.com

juanmackie/juanskills

Descubre repositorios de GitHub infravalorados utilizando búsquedas profundas y multiestrategia en el grafo de temas. Úsalo cuando el usuario solicite encontrar gemas ocultas, proyectos subestimados, oportunidades perdidas o repositorios no obvios en un dominio, tecnología o tema.

¿Qué es juanskills?

El skill **GitHub Gem Hunter** ayuda a desarrolladores y agentes de IA a descubrir repositorios de GitHub de alto valor pero baja visibilidad en un dominio específico. A diferencia de búsquedas tradicionales, este skill no solo ordena por estrellas, sino que expande el tema en un clúster de 3 a 8 tópicos relacionados, aplica cortes en distintos rangos de estrellas (10, 50, 200, 1000, 5000) y ventanas temporales (pushed:) para superar el límite de 1000 resultados por consulta de la API. Posteriormente, asigna una puntuación basada en la velocidad de estrellas, actividad reciente, calidad del README y densidad de relevancia temática, y clasifica los repositorios en gemas activas, gemas de pre-traction y rellenos de brecha. Es compatible con cualquier agente que tenga acceso a la API de GitHub (preferiblemente mediante `gh` CLI o `GITHUB_TOKEN`), pero tiene limitaciones en usuarios no autenticados (límite de ~10 req/min) y no debe usarse para buscar el repositorio más popular ni para búsquedas de código. Su pipeline en 7 fases maneja errores con reintentos exponenciales en 403, simplifica consultas en 422, y produce una tabla markdown con recomendaciones justificadas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/juanmackie/juanskills/tree/HEAD/github-gem-hunter

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

GitHub Gem Hunter

Propósito

Encuentra repositorios de GitHub de alto valor y baja visibilidad para un dominio dado, buscando ampliamente en el grafo de temas y profundamente en rangos de estrellas y fechas.

Cuándo usarlo

  • El usuario solicita "gemas ocultas", "subestimados", "oportunidades perdidas" o "lo que me estoy perdiendo" en un área tecnológica.
  • El usuario quiere descubrimiento, no un solo repositorio conocido.
  • El usuario proporciona un tema, lenguaje o enunciado de problema.

Cuándo NO usarlo

  • El usuario quiere el repositorio más popular (simplemente busca por estrellas directamente).
  • El usuario quiere búsqueda de código (usa búsqueda de código, no de repositorios).
  • El usuario no tiene token de GitHub y espera resultados profundos (advierte sobre límites).

Pipeline de ejecución

Fase 0 — Verificación de autenticación

  • Preferir CLI gh si está autenticado; de lo contrario, requerir GITHUB_TOKEN.
  • Si no está autenticado, advertir: la búsqueda está limitada a aproximadamente 10 req/min y los resultados serán superficiales.

Fase 1 — Expansión de temas (amplia)

  1. Consultar /search/topics?q=<tema-usuario> para encontrar nombres de temas relacionados.
  2. Construir un clúster de 3 a 8 temas relacionados.
  3. Construir consultas de repositorios con calificadores topic: para cada tema en el clúster.

Fase 2 — Corte por rango de estrellas (profunda)

Para cada tema en el clúster, ejecutar estos rangos disjuntos: stars:1..10, stars:11..50, stars:51..200, stars:201..1000, stars:1001..5000. Paginar dentro de cada rango hasta el límite de 1000 resultados.

Fase 3 — Filtro de actualización reciente

Para rangos que devuelvan >1000 resultados, dividir el rango de fechas pushed: recursivamente hasta que cada ventana esté por debajo del límite.

Fase 4 — Barrido de gemas con pocas estrellas

Ejecutar una consulta dedicada stars:1..20 por tema con pushed:>YYYY-MM-DD (6 meses atrás). Recoger estos por separado.

Fase 5 — Desduplicación y enriquecimiento

  • Desduplicar por full_name.
  • Obtener metadatos: estrellas, forks, issues abiertos, pushed_at, created_at, temas, licencia, longitud del README (mediante API de contenidos).
  • Excluir forks a menos que el usuario los solicite (fork:true).

Fase 6 — Puntuación y clasificación

Aplicar la puntuación de gema:

  • velocidad de estrellas (estrellas / meses desde creación)
  • días desde el último push (más bajo es mejor)
  • longitud y estructura del README
  • densidad de relevancia temática
  • capacidad de respuesta a issues (si está disponible)

Agrupar resultados en:

  • Gemas activas (commits recientes, velocidad creciente)
  • Gemas de pre-traction (pocas estrellas, actividad reciente)
  • Rellenos de brecha (repositorios que conectan dos clústeres de temas)

Fase 7 — Salida

Devolver una tabla markdown ordenada con columnas: repo | estrellas | edad | último push | por qué es una gema Incluir una nota breve de metodología y una advertencia sobre límites de velocidad de API.

Manejo de errores

  • En HTTP 403 (límite secundario de velocidad): esperar y reintentar con backoff exponencial.
  • En HTTP 422 (consulta demasiado compleja): simplificar la consulta eliminando el calificador menos importante y reintentar.
  • En resultados vacíos para un rango de estrellas: saltar el rango y continuar.

Limitaciones

  • GitHub Search limita cada consulta a 1000 resultados; el corte mitiga pero no elimina esto.
  • La velocidad de estrellas es ruidosa para repositorios muy nuevos (< 30 días).
  • La longitud del README es un proxy, no una garantía de calidad.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados