mitac-31709/agent-skills

Úsalo al elegir una herramienta, librería, CLI, servidor MCP o habilidad de agente: primero busca en las estrellas de GitHub del usuario y en los catálogos oficiales de los proveedores, luego recomienda opciones conocidas y mantenidas activamente con sus razones.

¿Qué es agent-skills?

Esta habilidad ayuda a un agente de IA a seleccionar la herramienta, librería o habilidad de agente más adecuada para una tarea, priorizando lo que el usuario ya conoce y confía. Su funcionamiento comienza analizando las estrellas de GitHub del usuario (usando un snapshot local o consultando la API en vivo), luego busca en catálogos oficiales de proveedores como Anthropic, OpenAI, Cursor, GitHub, Google, Microsoft, Vercel, Cloudflare, Hugging Face y AWS. Después aplica un filtro de calidad basado en estrellas, fecha de última actualización y si el repositorio está archivado. Finalmente, entrega una recomendación principal y hasta 2 o 3 alternativas, indicando para cada una su origen, número de estrellas y fecha de última actualización. Es compatible con cualquier agente que pueda ejecutar comandos `gh`, `rg`, `npx` y leer archivos locales. Por defecto es solo de lectura: no instala ni modifica nada sin permiso del usuario.

Compatible con✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/mitac-31709/agent-skills/tree/HEAD/.agents/skills/pick-tools-from-stars

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Elegir herramientas a partir de estrellas de GitHub y catálogos oficiales de habilidades

Objetivo: cuando una tarea necesite una herramienta, librería, CLI, servidor MCP o habilidad de agente, prefiere aquello en lo que el usuario ya confía (sus estrellas de GitHub) y los catálogos oficiales de los proveedores, en lugar de resultados aleatorios de la web, comprobando siempre la calidad.

Todas las rutas a continuación son relativas a la carpeta de esta habilidad (el directorio que contiene este SKILL.md).

1. Aclarar la necesidad

Escribe en una línea qué debe hacer la herramienta, junto con las restricciones estrictas (lenguaje/entorno de ejecución, SO, hardware como GPU/VRAM, licencia, funcionamiento sin conexión, presupuesto). Utiliza lo que ya sabes del entorno del usuario.

2. Buscar en las estrellas de GitHub del usuario

Encuentra el inicio de sesión de GitHub del usuario (pregunta una vez si se desconoce, o usa gh api user --jq .login cuando gh haya iniciado sesión como él). Luego usa la primera fuente que exista:

  1. Instantánea local (opcional). Si references/stars.csv o references/stars_by_list.md existe en esta carpeta de habilidad (o el usuario te indica una copia, p. ej., en un repositorio privado separado), búscala primero; funciona sin conexión.
    • Columnas de stars.csv: lists (nombres de listas de estrellas de GitHub, separados por |; (sin lista) si no tiene), full_name, url, description, description_ja, language, stars, pushed_at, archived, license, topics, starred_at.
    • stars_by_list.md: los mismos repositorios agrupados por lista de estrellas, una línea cada uno, con una fecha de Instantánea: al principio. Los nombres de las listas son buenas pistas de categorías.
    • La instantánea puede estar desactualizada; cuando estés en línea y la actualidad importe, realiza también la comprobación en vivo a continuación.
  2. En vivo, solo lectura (predeterminado cuando no existe instantánea): gh api --paginate "users/<login>/starred?per_page=100" --jq '.[] | [.full_name,.html_url,.description,.language,(.topics|join(" ")),.stargazers_count,.pushed_at,.archived] | @tsv' (o la API REST no autenticada https://api.github.com/users/<login>/starred si gh no está disponible). Si el usuario organiza las estrellas en listas de estrellas de GitHub, usa los nombres de las listas como pistas de categorías.

Busca coincidencias en la descripción, temas, nombre e idioma usando varios sinónimos (incluyendo otros idiomas en los que el usuario escriba), p. ej., rg -i "video|動画|ffmpeg" references/stars.csv. Ojea el README de los candidatos prometedores antes de recomendar.

3. Buscar en catálogos oficiales de habilidades / plugins (cuando una habilidad o plugin de agente pueda ayudar)

  • Ejecuta npx -y skills find "<consulta>", opcionalmente acotado con --owner <publicador> para publicadores oficiales, p. ej., anthropics, openai, cursor, github, google, google-gemini, microsoft, vercel-labs, cloudflare, huggingface, awslabs. Esto necesita acceso a internet; omítelo e indica el motivo si el entorno está sin conexión.
  • También considera los repositorios oficiales de los proveedores directamente (p. ej., anthropics/skills, anthropics/claude-plugins-official, openai/skills, openai/plugins, cursor/plugins, github/awesome-copilot, google/skills, vercel-labs/agent-skills, huggingface/skills, microsoft/skills, cloudflare/skills). Verifica que un repositorio sea propiedad de la organización del proveedor antes de considerarlo oficial.

4. Filtro de calidad (aplicar a cada candidato)

  • Usa stars, pushed_at, archived y license de la instantánea, y actualízalos con gh api repos/<propietario>/<repo> cuando estés en línea.
  • Prefiere proyectos conocidos y mantenidos activamente. Descarta repositorios archivados, aquellos sin actividad significativa en aproximadamente 1 año y los que tengan muy pocas estrellas, a menos que no exista nada mejor (entonces indícalo).
  • Las estrellas pueden incluir repositorios antiguos o de broma: tener una estrella es una señal de interés, no de calidad.
  • Si no hay nada en las estrellas ni en los catálogos oficiales que encaje, indícalo y recurre a una búsqueda normal de la herramienta estándar establecida. Nunca fuerces un repositorio con estrella.

5. Recomendar

  • Entrega 1 selección principal junto con hasta 2-3 alternativas. Para cada una: nombre con enlace, una línea sobre lo que hace, por qué encaja con esta tarea y sus restricciones, estrellas y última actualización (indica si proviene de la instantánea o de una comprobación en vivo), y si proviene de las estrellas del usuario, de un catálogo oficial o de una búsqueda general.
  • No inventes estrellas, fechas ni funciones; solo informa de lo que hayas verificado.
  • Instalar, añadir estrella o modificar cualquier cosa requiere la aprobación del usuario; esta habilidad es de solo lectura por defecto.

Crear o actualizar una instantánea (opcional)

python3 scripts/refresh_stars.py <login> escribe references/stars.csv y references/stars_by_list.md (solo lectura; necesita gh con sesión iniciada; los nombres de las listas de estrellas solo se rellenan cuando gh ha iniciado sesión como <login>, de lo contrario cada repositorio aparece como (sin lista)). Los valores existentes de description_ja se conservan. Los datos son personales: mantenlos fuera de repositorios públicos (consulta .gitignore) o guárdalos en un repositorio privado separado.

Skills relacionados