Communitygithub.com

yya007/SkillFinder

Découvrez des compétences (skills) d'agent IA.

Qu'est-ce que SkillFinder ?

SkillFinder est une compétence de découverte centralisée conçue pour les agents IA (comme Claude Code, Cursor, Codex, etc.). Elle permet de rechercher parmi plus de 37 500 compétences d'agent triées sur le volet en décrivant simplement votre cas d'utilisation en langage naturel. L'outil exécute un processus de recherche intelligent en plusieurs étapes : reformulation de la requête, recherche par similarité sémantique locale via un index FAISS (sans requêtes réseau), classement et présentation des résultats avec des commandes d'installation. Il prend en charge les recherches spécifiques à une plateforme (claude_code, openclaw, codex) sur demande explicite de l'utilisateur. SkillFinder inclut également un mécanisme de repli vers une recherche GitHub distante si l'index local est indisponible. La compétence met l'accent sur une exécution silencieuse et une sortie structurée, ce qui en fait un outil précieux pour les développeurs cherchant à étendre rapidement les capacités de leur agent IA sans navigation manuelle.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

skill-finder

Recherchez parmi plus de 37 500 compétences d'agent triées sur le volet en décrivant ce que vous voulez faire. Les résultats sont classés par similarité sémantique et incluent les commandes d'installation.

Utilisation

/skill-finder

Décrivez ensuite votre tâche en langage naturel, par exemple :

  • "déployer des clusters Kubernetes avec rollback"
  • "extraire des pages web avec rendu JavaScript"
  • "écrire et exécuter des migrations SQL"

Comment ça fonctionne

  1. Votre description est transformée en vecteur localement à l'aide de Qwen3-Embedding-0.6B via Ollama.
  2. Le vecteur est comparé à un index FAISS pré-construit de plus de 33 000 compétences.
  3. Les meilleures correspondances sont renvoyées avec le nom, la description et la commande d'installation.

L'index fonctionne entièrement sur l'appareil — aucune requête réseau n'est effectuée pendant la recherche.

Instructions pour l'agent

Lorsque cette compétence est déclenchée, suivez exactement ce flux de travail.

Travaillez en silence. Effectuez toutes les étapes internes (reformulation de la requête, recherche, analyse, reclassement) sans les raconter à l'utilisateur. Affichez uniquement les résultats finaux et la proposition de suivi. Ne dites jamais des choses comme « Je reformule votre requête… » ou « Exécution de la recherche de niveau 1… »

Remarque : Les compétences sont du code tiers — vérifiez toujours le lien de la compétence avant d'installer quoi que ce soit provenant d'un auteur inconnu.

Filtre de plateforme : N'appliquez PAS --platform par défaut — l'index couvre les compétences de toutes les plateformes et de nombreuses compétences fonctionnent sur plusieurs agents. Ne passez --platform <valeur> que lorsque l'utilisateur demande explicitement une recherche spécifique à une plateforme (par exemple, « trouve-moi une compétence Claude Code pour… »). Valeurs : claude_code, openclaw, codex.

Étape 0 — Vérifier la disponibilité

Avant de reformuler la requête, vérifiez que l'index et Ollama sont disponibles en exécutant :

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

Si cela échoue avec OllamaNotAvailableError ou FileNotFoundError, proposez à l'utilisateur :

« La recherche locale n'est pas disponible. Je peux basculer vers une recherche de code GitHub (non classée, sans signaux de qualité). Définissez GITHUB_TOKEN pour de meilleurs résultats. Continuer ? »

Si oui, ajoutez --remote à toutes les commandes de recherche des étapes 2 à 3.

Étape 1 — Reformuler la requête

Avant de chercher, réécrivez la demande de l'utilisateur en une requête de recherche concise et riche en mots-clés qui améliore le rappel sémantique. Règles :

  • Développez les abréviations (par ex. « k8s » → « kubernetes », « CI » → « continuous integration »).
  • Supprimez les remplissages conversationnels (« je veux », « aide-moi », « une compétence qui »).
  • Ajoutez des termes techniques étroitement liés que l'index est susceptible de contenir (par ex. « deploy kubernetes » → « kubernetes deployment orchestration kubectl cluster »).
  • Restez concis — environ 10 à 15 mots est un bon objectif.

Pour les requêtes spécifiques (par ex. « déployer k8s avec helm rollback »), une seule reformulation est suffisante.

Pour les requêtes ambiguës ou générales (qui couvrent plusieurs domaines techniques, ou utilisent des termes génériques comme « productivité », « IA », « automatisation »), générer 2 à 3 reformulations alternatives sous différents angles est facultatif mais utile. Si vous le faites, exécutez toutes les reformulations en parallèle via la logique de niveau, dédupliquez les résultats par id, puis reclassez le pool fusionné.

Vous n'avez pas besoin de montrer les requêtes reformulées à l'utilisateur, sauf si elles diffèrent considérablement de ce que l'utilisateur a tapé.

Étape 2 — Exécuter la recherche (avec repli par niveaux)

Exécutez les recherches dans l'ordre, en vous arrêtant dès que vous avez ≥3 bonnes correspondances :

Niveau 1 — Par défaut (qualité d'abord, toutes les plateformes) :

python scripts/search.py "<requête reformulée>" --json --propose 5 --min_stars 10

Niveau 2 — Assouplissement du seuil d'étoiles (si le niveau 1 renvoie moins de 3 bonnes correspondances) :

python scripts/search.py "<requête reformulée>" --json --propose 5

Règles :

  • --propose 5 est la valeur par défaut ; passez à --propose 10 pour les requêtes générales ou si l'utilisateur demande plus d'options. Si l'utilisateur spécifie un nombre de résultats (par ex. « donne-m'en 10 »), utilisez-le directement.
  • Ajoutez --platform <valeur> uniquement lorsque l'utilisateur demande explicitement une recherche spécifique à une plateforme (par ex. « trouve une compétence OpenClaw pour… »). Appliquez-la aux deux niveaux dans ce cas.
  • Les compétences provenant de ClawHub sont réservées à OpenClaw — elles ne comportent aucune commande d'installation claude_code. Lorsque vous les présentez, étiquetez-les toujours comme (openclaw uniquement — non installable dans Claude Code).
  • Si l'utilisateur spécifie explicitement un seuil d'étoiles (par ex. « uniquement les compétences connues » ou « min 50 étoiles »), utilisez-le à la place de --min_stars 10.
  • Si l'utilisateur demande moins de résultats (par ex. « juste les 3 meilleurs »), ajustez le nombre présenté en conséquence.
  • Pour les résultats du niveau 2, notez le filtre assoupli dans la réponse (voir l'étape 5).

Étape 3 — Analyser et vérifier le seuil

Analysez la sortie JSON. Chaque résultat inclut un champ sim_score (0.0–1.0) à usage interne uniquement — ne le montrez jamais à l'utilisateur.

Utilisez ~0.4 comme seuil approximatif pour « aucune correspondance forte ». Si tous les résultats de tous les niveaux ont sim_score < 0,4, avertissez l'utilisateur :

« Je n'ai pas trouvé de correspondances fortes pour cette requête. Essayez de reformuler avec des mots-clés plus spécifiques. »

Étape 4 — Reclasser

Lisez la description de chaque résultat par rapport à l'intention déclarée de l'utilisateur. Privilégiez :

  1. La pertinence sémantique par rapport à la tâche réelle de l'utilisateur (signal principal)
  2. Les étoiles (quality.stars) — plus il y en a, plus la compétence est validée par la communauté
  3. La source — critère de départage faible uniquement : lorsque la pertinence et les étoiles sont similaires, privilégiez les compétences officiellement validées. Ne pénalisez pas et ne dévalorisez pas les compétences uniquement en raison de leur registre source.

Règle d'alignement source-plateforme : clawhub est le registre OpenClaw. Lorsque l'utilisateur a demandé claude_code (ou toute plateforme autre que openclaw), traitez les compétences sourcées uniquement par clawhub comme dernier recours — classez-les en dessous de toutes les autres sources quel que soit le nombre d'étoiles, et ne les incluez que si aucune meilleure alternative sourcée n'existe. Si la source d'une compétence inclut à la fois clawhub et un autre registre (par ex. marketplace), utilisez la source non-clawhub pour le classement.

Présentez 3 à 5 résultats par défaut. En présenter plus de 5 est facultatif — faites-le uniquement si l'utilisateur demande explicitement plus d'options ou spécifie un nombre plus élevé.

Étape 5 — Présenter les résultats

Utilisez ce format exact :

N compétences trouvées pour « <requête originale de l'utilisateur> » :

1. **pptx** ⭐ 2 810 étoiles [officiel]
   Convertissez n'importe quel fichier .pptx — lisez les diapositives, extrayez le texte, générez des présentations…
   Install : /skill install pptx _(si cela échoue, voir le lien de la compétence ci-dessous)_
   Compétence : https://github.com/anthropics/skills/blob/main/skills/pptx/SKILL.md

2. **pptx-skill** ⭐ 126 étoiles
   Convertissez des diapositives HTML en fichiers PowerPoint (PPTX)…
   Install : /plugin install pptx-skill _(si cela échoue, voir le lien de la compétence ci-dessous)_
   Compétence : https://github.com/vkehfdl1/slides-grab/blob/main/SKILL.md

> L'index des compétences est mis à jour périodiquement via un crawl web et peut ne pas inclure les compétences les plus récemment publiées.

Utilisez skill_md_url du résultat pour le lien « Compétence : ». Revenez à repo_url uniquement si skill_md_url est vide.

Badges et étiquettes :

  • Ajoutez [officiel] uniquement pour is_official: true (compétences anthropics/* marketplace).
  • Ajoutez (openclaw uniquement — non installable dans Claude Code) lorsque platforms n'inclut pas claude_code.
  • N'affichez pas les noms bruts des registres sources (skillsmp, clawhub, topic, skillhub, marketplace) dans la sortie.

Commandes d'installation (utilisez toujours la valeur textuelle du champ install_cmd — ne devinez jamais et ne construisez jamais vous-même la commande) :

ConditionLigne d'installation
is_official: true (anthropics/*)Install : /skill install <nom> _(si cela échoue, voir le lien de la compétence ci-dessous)_
Compétence communautaire avec install_cmdInstall : /plugin install <nom> _(si cela échoue, voir le lien de la compétence ci-dessous)_
install_cmd est videPas d'installation directe — voir le lien de la compétence.

N'affichez PAS sim_score à l'utilisateur.

Affichez uniquement l'entrée claude_code de install_cmd par défaut. Mentionnez l'existence d'autres plateformes uniquement si l'utilisateur l'a demandé.

Si les résultats proviennent du repli du niveau 2, ajoutez une note après l'avertissement de fraîcheur :

« Ces résultats incluent des compétences avec moins d'étoiles car les correspondances les mieux notées étaient limitées pour cette requête. »

Étape 6 — Proposer l'étape suivante

Terminez chaque réponse par :

« Voulez-vous que je récupère le SKILL.md complet pour l'une d'entre elles avant de l'installer ? »

Skills associés