Skills

Shikhu : transformez votre base de code en QCM et suivez votre taux de maîtrise

Shikhu s'adresse aux développeurs qui veulent faire réviser leur propre code par un agent de programmation IA et suivre leur taux de maîtrise dans la durée. Prérequis : une clé API OpenRouter de votre côté, sans quoi aucune étape faisant appel à la génération par un modèle ne peut s'exécuter.

Official source · arjunpatel7/shikhu

Install

uv tool install shikhu

À qui ça s'adresse

Vous héritez d'une base de code que vous n'arrivez pas à finir de lire, ou quelqu'un dans l'équipe demande sans cesse : « Au fait, qui utilise vraiment ce bout de code ? » Si votre objectif est de faire s'entraîner sans cesse un agent de programmation IA sur votre propre code et de transformer « comprenez-je vraiment quelque chose ? » en un chiffre que vous suivez, l'approche de Shikhu convient mieux qu'un simple échange ponctuel de questions et réponses : elle transforme l'apprentissage en questions et réponses, l'outil tire ses questions du dépôt et enregistre vos bonnes et mauvaises réponses, et les skills fournis vous accompagnent à travers les points clés des fichiers que vous désignez. Elle convient à celles et ceux qui acceptent de faire travailler un agent sur du vrai code pendant quelques tours et qui assument que « le modèle va lire votre code ».

Votre premier essai en 3 minutes

Le chemin officiel est unique, et il commence par installer l'outil en ligne de commande :

uv tool install shikhu

Une fois installé, shikhu est disponible dans le PATH et s'exécute dans un environnement isolé : il n'entre pas en conflit avec les dépendances de votre projet.

Deux prérequis : d'abord uv présent dans l'environnement, ensuite une clé API OpenRouter — placée dans un fichier .env à la racine du dépôt (chargé automatiquement) ou exportée dans votre shell via OPENROUTER_API_KEY, car tous les appels aux modèles passent par OpenRouter.

Ensuite, exécutez ceci à la racine du code que vous souhaitez apprendre :

shikhu init

Cette étape écrit réellement des fichiers, vérifiez avant de lancer : elle crée la base de données locale coverage.db (ajoutée automatiquement au .gitignore), génère un .quizignore (utilisé comme .gitignore, pour exclure les fichiers de configuration ou de documentation du périmètre des questions) et installe les deux skills dans le répertoire de skills de votre agent.

Emplacement d'installation : les skills atterrissent dans .claude/skills/ et/ou .agents/skills/ si ces répertoires existent déjà dans le dépôt (selon la famille à laquelle appartient votre agent) ; si aucun des deux n'existe, les deux sont créés. Pour réinstaller ou installer globalement, utilisez shikhu install-skill, avec --global pour la portée globale.

Pour la première invocation, choisissez quelque chose de lecture seule et réversible : dans un agent de programmation compatible skills, lancez /shikhu-study sur un petit fichier, ou utilisez /shikhu-inquiry pour poser une question qui ne concerne qu'une seule fonction. Avant de poser la question, vérifiez qu'elle déclenche bien un appel à un modèle externe (via OpenRouter, avec consommation de quota), puis envoyez-la.

Trois signaux de succès observables : les réponses de l'agent contiennent des noms de fichiers, de fonctions et des relations d'appel qui existent réellement dans votre dépôt, plutôt qu'un tutoriel générique ; les questions que vous avez posées deviennent des graines de quiz et peuvent réapparaître plus tard lors de la génération de questions ; coverage.db et .quizignore apparaissent à la racine du projet.

Cas d'usage

Cas n° 1 : auto-formation ciblée sur un module.

Commencez par construire l'index :

shikhu summarize

Il écrit pour chaque fichier suivi un résumé mis en cache et généré par le modèle ; un appel par fichier, et les fichiers dont le contenu n'a pas changé ne sont pas traités à nouveau. Les skills et shikhu map s'appuient sur ces résumés pour déterminer « quels fichiers consulter pour cette question ? ». Une fois l'index prêt, lancez /shikhu-study dans l'agent en indiquant le fichier ou le répertoire à apprendre : l'agent vous guide un par un en suivant les emplacements indiqués par les résumés.

Cas n° 2 : transformer les questions du quotidien en graines de quiz.

Dans l'agent, utilisez /shikhu-inquiry pour poser une question sur votre propre code — par exemple, d'où viennent les paramètres d'un endpoint, ou pourquoi une portion de logique est écrite ainsi. Il répond et enregistre en même temps la question comme graine de quiz ; plus tard, lorsque l'outil génère des quiz à partir du code, ces graines entrent en jeu, et vos bonnes et mauvaises réponses sont suivies comme taux de maîtrise. Pour concentrer les questions sur le vrai code, excluez les fichiers de configuration et de documentation via .quizignore.

Limites

  • Il faut fournir sa propre clé API OpenRouter ; sans elle, aucune étape faisant appel à la génération par un modèle n'est possible.
  • shikhu summarize est facturé par fichier : plus le dépôt est gros, plus la première indexation est lente et coûteuse ; seuls les fichiers dont le contenu a changé sont traités à nouveau.
  • L'emplacement des skills dépend des répertoires de skills déjà présents dans le dépôt ; si aucun des deux n'existe, ils sont créés tous les deux.
  • coverage.db est écrit dans le projet mais ajouté automatiquement au .gitignore : il n'est pas synchronisé dans le dépôt de versions, et le taux de maîtrise comme l'historique des réponses ne sont pas partagés entre les membres de l'équipe.
  • La source décrit l'usage, les commandes et les emplacements d'installation de l'outil en ligne de commande et des deux skills ; en revanche, elle n'indique pas les langages de programmation pris en charge, le mode de calcul exact du taux de maîtrise, ni le critère de détermination des paliers de difficulté — ne déduisez pas ces points du comportement habituel des outils de test.