Communitygithub.com

yya007/SkillFinder

Descubrimiento de habilidades para agentes.

¿Qué es SkillFinder?

SkillFinder es una habilidad (skill) para agentes de IA como Claude Code, Cursor y Codex que permite descubrir más de 37,500 habilidades listas para usar mediante búsqueda semántica. El usuario describe su tarea en lenguaje natural (por ejemplo, "desplegar clústeres de Kubernetes con rollback") y SkillFinder reformula la consulta, la compara contra un índice FAISS de más de 33,000 habilidades usando el modelo Qwen3-Embedding-0.6B localmente a través de Ollama, y devuelve las coincidencias más relevantes con su nombre, descripción y comando de instalación correspondiente al agente. El proceso se ejecuta completamente en el dispositivo sin solicitudes de red durante la búsqueda, con un sistema de búsqueda por niveles que prioriza calidad y permite filtrar por plataforma solo si el usuario lo pide explícitamente. SkillFinder incluye instrucciones detalladas para el agente: trabajar en silencio sin narrar pasos internos, reformular la consulta siguiendo reglas de expansión de abreviaturas y eliminación de relleno, ejecutar búsquedas con retrocesos (tiers) si no se encuentran suficientes coincidencias, y presentar los resultados en un formato estandarizado con enlace a la SKILL.md de cada habilidad, puntuación de estrellas, y distinción de habilidades oficiales. También incorpora un modo de respaldo remoto mediante GitHub Code Search cuando el índice local no está disponible.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add yya007/SkillFinder

Preguntar en tu IA favorita

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

Documentación

skill-finder

Busca 37,500+ habilidades de agente seleccionadas describiendo lo que quieres hacer. Los resultados se ordenan por similitud semántica e incluyen comandos de instalación.

Uso

/skill-finder

Luego describe tu tarea en lenguaje natural, por ejemplo:

  • "desplegar clústeres de Kubernetes con rollback"
  • "raspar páginas web con renderizado JavaScript"
  • "escribir y ejecutar migraciones SQL"

Cómo funciona

  1. Tu descripción se incrusta localmente usando Qwen3-Embedding-0.6B a través de Ollama.
  2. La incrustación se compara contra un índice FAISS preconstruido con más de 33,000 habilidades.
  3. Se devuelven las mejores coincidencias con nombre, descripción y comando de instalación.

El índice funciona completamente en el dispositivo — no se realizan solicitudes de red durante la búsqueda.

Instrucciones para el agente

Cuando esta habilidad se active, sigue este flujo de trabajo exactamente.

Trabaja en silencio. Realiza todos los pasos internos (reformulación de consulta, búsqueda, análisis, reordenamiento) sin narrarlos al usuario. Solo muestra los resultados finales y la oferta de seguimiento. Nunca digas cosas como "Estoy reformulando tu consulta..." o "Ejecutando búsqueda de nivel 1..."

Nota: Las habilidades son código de terceros — siempre revisa el enlace de la habilidad antes de instalar algo de un autor desconocido.

Filtro de plataforma: NO apliques --platform por defecto — el índice cubre habilidades de todas las plataformas y muchas habilidades funcionan en múltiples agentes. Solo pasa --platform <valor> cuando el usuario solicite explícitamente una búsqueda específica de plataforma (ej. "encuéntrame una habilidad de Claude Code para..."). Valores: claude_code, openclaw, codex.

Paso 0 — Verificar disponibilidad

Antes de reformular la consulta, verifica que el índice y Ollama estén disponibles ejecutando:

python scripts/search.py "test" --json

Si esto falla con OllamaNotAvailableError o FileNotFoundError, ofrece al usuario:

"La búsqueda local no está disponible. Puedo recurrir a una búsqueda de código de GitHub (sin ordenar, sin señales de calidad). Establece GITHUB_TOKEN para mejores resultados. ¿Continuar?"

Si acepta, añade --remote a todos los comandos de búsqueda en los Pasos 2–3.

Paso 1 — Reformular la consulta

Antes de buscar, reescribe la solicitud del usuario en una consulta de búsqueda concisa y rica en palabras clave que mejore la recuperación semántica. Reglas:

  • Expande abreviaturas (ej. "k8s" → "kubernetes", "CI" → "integración continua").
  • Elimina relleno conversacional ("quiero", "ayúdame a", "una habilidad que").
  • Añade términos técnicos relacionados que el índice probablemente contenga (ej. "desplegar kubernetes" → "despliegue kubernetes orquestación kubectl clúster").
  • Mantenlo conciso — alrededor de 10–15 palabras es un buen objetivo.

Para consultas específicas (ej. "desplegar k8s con helm rollback"), una sola reformulación es suficiente.

Para consultas ambiguas o amplias (abarcan múltiples dominios técnicos o usan términos genéricos como "productividad", "IA", "automatización"), generar 2–3 reformulaciones alternativas desde diferentes ángulos es opcional pero útil. Si lo haces, ejecuta todas las reformulaciones en paralelo a través de la lógica de niveles, elimina duplicados por id y reordena el conjunto combinado.

No es necesario mostrar las consultas reformuladas al usuario a menos que difieran significativamente de lo que escribió.

Paso 2 — Ejecutar la búsqueda (con retroceso por niveles)

Ejecuta las búsquedas en orden, deteniéndote tan pronto como tengas ≥3 buenas coincidencias:

Nivel 1 — Predeterminado (calidad primero, todas las plataformas):

python scripts/search.py "<consulta reformulada>" --json --propose 5 --min_stars 10

Nivel 2 — Relajar el umbral de estrellas (si el Nivel 1 devuelve menos de 3 buenas coincidencias):

python scripts/search.py "<consulta reformulada>" --json --propose 5

Reglas:

  • --propose 5 es el valor predeterminado; escala a --propose 10 para consultas amplias o si el usuario pide más opciones. Si el usuario especifica un número de resultados (ej. "dame 10"), usa ese valor directamente.
  • Solo añade --platform <valor> cuando el usuario solicite explícitamente una búsqueda específica de plataforma (ej. "encuentra una habilidad de OpenClaw para..."). Aplícalo a ambos niveles en ese caso.
  • Las habilidades originadas en ClawHub son solo para OpenClaw — no llevan un comando de instalación para claude_code. Al presentarlas, etiquétalas siempre como (solo openclaw — no instalable en Claude Code).
  • Si el usuario especifica un umbral de estrellas explícitamente (ej. "solo habilidades conocidas" o "mínimo 50 estrellas"), úsalo en lugar de --min_stars 10.
  • Si el usuario pide menos resultados (ej. "solo los 3 mejores"), ajusta el número presentado en consecuencia.
  • Para resultados del Nivel 2, menciona el filtro relajado en la respuesta (ver Paso 5).

Paso 3 — Analizar y verificar umbral

Analiza la salida JSON. Cada resultado incluye un campo sim_score (0.0–1.0) para uso interno únicamente — nunca lo muestres al usuario.

Usa ~0.4 como umbral suave para "sin coincidencias fuertes". Si todos los resultados de todos los niveles tienen sim_score < 0.4, advierte al usuario:

"No encontré coincidencias sólidas para esa consulta. Intenta reformularla con palabras clave más específicas."

Paso 4 — Reordenar

Lee la descripción de cada resultado en función de la intención declarada del usuario. Prioriza:

  1. Relevancia semántica para la tarea real del usuario (señal principal)
  2. Estrellas (quality.stars) — cuanto más altas, más validadas por la comunidad
  3. Fuente — desempate débil solo: cuando la relevancia y las estrellas son similares, prefiere habilidades verificadas oficialmente. No penalices ni degrades habilidades únicamente por su registro de origen.

Regla de alineación fuente-plataforma: clawhub es el registro de OpenClaw. Cuando el usuario haya solicitado claude_code (o cualquier plataforma que no sea openclaw), trata las habilidades originadas solo de clawhub como último recurso — clasifícalas por debajo de todas las demás fuentes independientemente del número de estrellas, e inclúyelas solo si no existen alternativas mejor originadas. Si la fuente de una habilidad incluye tanto clawhub como otro registro (ej. marketplace), usa la fuente que no sea clawhub para la clasificación.

Presenta de 3 a 5 resultados por defecto. Presentar más de 5 es opcional — solo hazlo si el usuario solicita explícitamente más opciones o especifica un número mayor.

Paso 5 — Presentar resultados

Usa este formato exacto:

Se encontraron N habilidades para "<consulta original del usuario>":

1. **pptx** ⭐ 2,810 estrellas [oficial]
   Convierte cualquier archivo .pptx — lee diapositivas, extrae texto, genera presentaciones…
   Instalación: `/skill install pptx` _(si falla, ver enlace de habilidad abajo)_
   Habilidad: https://github.com/anthropics/skills/blob/main/skills/pptx/SKILL.md

2. **pptx-skill** ⭐ 126 estrellas
   Convierte diapositivas HTML a archivos PowerPoint (PPTX)…
   Instalación: `/plugin install pptx-skill` _(si falla, ver enlace de habilidad abajo)_
   Habilidad: https://github.com/vkehfdl1/slides-grab/blob/main/SKILL.md

> El índice de habilidades se actualiza periódicamente mediante rastreo web y puede no incluir las habilidades más recientemente publicadas.

Usa skill_md_url del resultado para el enlace de "Habilidad:". Recurre a repo_url solo si skill_md_url está vacío.

Insignias y etiquetas:

  • Añade [oficial] solo para is_official: true (habilidades de anthropics/* marketplace).
  • Añade (solo openclaw — no instalable en Claude Code) cuando platforms no incluya claude_code.
  • No muestres los nombres de registro de origen sin procesar (skillsmp, clawhub, topic, skillhub, marketplace) en la salida.

Comandos de instalación (usa siempre el valor textual del campo install_cmd — nunca adivines ni lo construyas tú mismo):

CondiciónLínea de instalación
is_official: true (anthropics/*)Instalación: /skill install <nombre> _(si falla, ver enlace de habilidad abajo)_
Habilidad comunitaria con install_cmdInstalación: /plugin install <nombre> _(si falla, ver enlace de habilidad abajo)_
install_cmd está vacíoNo hay instalación directa — ver enlace de habilidad.

NO muestres sim_score al usuario.

Solo muestra la entrada claude_code de install_cmd por defecto. Menciona que existen otras plataformas solo si el usuario lo pregunta.

Si los resultados provinieron del retroceso del Nivel 2, añade una nota después del descargo de actualización:

"Estos resultados incluyen habilidades con menos estrellas porque las coincidencias mejor valoradas fueron limitadas para esta consulta."

Paso 6 — Ofrecer siguiente paso

Termina cada respuesta con:

"¿Quieres que obtenga el SKILL.md completo de alguna de estas antes de instalar?"

Skills relacionados