CommunityRédaction et éditiongithub.com

Tencent/SkillHone

Évolution continue des compétences de l'agent grâce à un historique de décisions persistant. Optimisation de l'ensemble de la compétence (SKILL.md + scripts + références) à chaque décision, publiée sous forme de ticket Git local / PR / wiki. Fonctionne sur tous les runtimes agentskills.io — Claude Code, Codex, OpenClaw, Hermes.

Qu'est-ce que SkillHone ?

SkillHone de Tencent automatise l'optimisation continue des compétences d'un agent IA en transformant chaque décision en une amélioration persistante : mise à jour du SKILL.md, des scripts et des références, le tout publié sous forme de ticket Git local, pull request ou page wiki. Il s'appuie sur une interface VCS modulaire (via Forgejo, remplaçable par GitLab ou Gitea) pour stocker l'historique des décisions et synchroniser les optimisations entre les sessions d'agent. Cela permet à l'agent de ne pas repartir de zéro à chaque fois et d'améliorer progressivement son comportement et ses outils. La compétence fonctionne sur tous les runtimes agentskills.io (Claude Code, Codex, OpenClaw, Hermes) et expose des scripts individuels pour chaque ressource (issues, PRs, wiki, métadonnées de dépôt, résumé) avec une configuration centralisée via variables d'environnement ou fichiers locaux. Elle garantit la sécurité en ne divulguant jamais les tokens et en interdisant les appels REST manuels ou les modifications directes de la branche main.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add Tencent/SkillHone

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

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

Documentation

Forgejo

Enveloppe légère autour de l'API REST Forgejo. Chaque ressource vit dans son propre script pour que l'agent puisse les découvrir et les invoquer individuellement. SkillHone dépend de cette compétence comme backend VCS, mais elle reste indépendante afin qu'un autre backend tel que GitLab ou Gitea puisse offrir la même surface de workflow.

Scripts

ScriptRessourceUtilisation représentative
scripts/issue.pyTicketspython3 scripts/issue.py create --title "Bug"
scripts/pr.pyPull requestspython3 scripts/pr.py merge 1
scripts/wiki.pyPages wikipython3 scripts/wiki.py get --title "Analyse"
scripts/repo.pyMétadonnées du dépôtpython3 scripts/repo.py branches
scripts/summary.pyTableau de bord agrégépython3 scripts/summary.py

Tous les scripts supportent --help. Exécutez-le avant de deviner les options.

Configuration

Résolue dans cet ordre (la première correspondance l'emporte) :

  1. Variables d'environnement : FORGEJO_URL, FORGEJO_TOKEN, FORGEJO_OWNER, FORGEJO_REPO
  2. ~/.skillhone/settings.json + ~/.skillhone/identities.conf
  3. _data/forgejo_config.txt dans le répertoire de travail courant

Si rien n'est défini, le script se termine avec un message clair indiquant la variable manquante.

Utilisation par ressource

Tickets

python3 scripts/issue.py list
python3 scripts/issue.py view <N>
python3 scripts/issue.py create --title "Correctif : timeout" --body "## Problème\n..."
python3 scripts/issue.py close <N>
python3 scripts/issue.py comment <N> --body "Fait"

Pull Requests

python3 scripts/pr.py list
python3 scripts/pr.py view <M>
python3 scripts/pr.py create --title "Correctif timeout" --head fix/timeout --base main --body "Ferme #1"
python3 scripts/pr.py review <M> --approve
python3 scripts/pr.py merge <M> --method merge
python3 scripts/pr.py comment <M> --body "OK"

Wiki

python3 scripts/wiki.py list
python3 scripts/wiki.py get --title "Iteration-1-Observation"
python3 scripts/wiki.py create --title "Page" --body "contenu"
python3 scripts/wiki.py edit --title "Page" --body "contenu mis à jour"

Métadonnées du dépôt

python3 scripts/repo.py info
python3 scripts/repo.py branches

Résumé combiné

python3 scripts/summary.py
# tickets ouverts + PR ouvertes + dernière page wiki d'observation

Appel depuis d'autres compétences

Les autres compétences situées sous ~/.skillhone/skills/ appellent ces scripts via leur chemin absolu :

python3 ~/.skillhone/skills/forgejo/scripts/issue.py list

Cela permet de remplacer le backend VCS. Une compétence GitLab ou Gitea peut exposer une surface de commande équivalente sans modifier la logique d'optimisation de SkillHone.

Pièges

  • Les tokens contenant le caractère @ brisent l'injection d'URL git clone. Utilisez un token sans @ ou encodez-le en URL.
  • merge --method squash n'est pas supporté par les anciennes versions de Forgejo. Si vous rencontrez Unknown method, revenez à merge.
  • Les pages wiki sont stockées sous forme de fichiers .md dans un dépôt git séparé (<repo>.wiki.git). wiki.py masque cela, mais si vous avez besoin d'une édition personnalisée, clonez le dépôt wiki directement.

Règles strictes

  • N'imprimez jamais le token Forgejo dans les logs stdout/stderr. Les scripts le masquent déjà ; ne le collez pas dans les champs --body.
  • N'appelez pas l'API REST Forgejo directement avec curl ou des requêtes HTTP artisanales depuis les workflows SkillHone. Utilisez ces scripts backend pour que le chargement des identifiants, le masquage et le remplacement du backend restent centralisés.
  • Ne faites pas cat de _data/forgejo_config.txt, ~/.skillhone/settings.json, ou identities.conf pour découvrir les identifiants. Les scripts les résolvent en interne.
  • Ne poussez pas directement sur main via l'un de ces scripts. PR uniquement.
  • Lorsque vous obtenez une 401/403, revérifiez l'ordre de résolution de la configuration ci-dessus avant de modifier le script.

Skills associés