refactor: rename MCP tool from qwen3_task to task and update delegation flow
- Rename MCP tool `qwen3_task` → `task` in server.py and all references - Enforce direct use of `mcp__qwen3__task` (no sub-agents) in docs - Add bootstrap logic to install.sh/update_crazyclaude.sh for repo self-installation - Introduce tools-local/ directory for local tool overrides - Add test suite (test_qwen3.sh, test_qwen3.md) to validate Qwen3 file generation - Update .gitignore: ignore test_qwen3_output/, add missing .claude/ - Add system prompt to server.py for fs_write enforcement - Update agent docs (qwen3-worker, code-reviewer, delegation-rules, task-planner) to reflect new tool name and workflow - Add system instruction: always use fs_write/fs_patch, never display content in response
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
---
|
||||
name: delegation-rules
|
||||
description: Règles pour décider quand et comment déléguer à qwen3-worker via le MCP qwen3_task
|
||||
description: Règles pour décider quand et comment déléguer à Qwen3 via mcp__qwen3__task
|
||||
---
|
||||
|
||||
# Règles de Délégation à Qwen3
|
||||
|
||||
Qwen3-Coder opère via le MCP tool `qwen3_task`. Il dispose d'outils filesystem, shell
|
||||
et web (llm-functions) — il peut lire/écrire des fichiers, exécuter des commandes,
|
||||
faire des recherches web et exécuter du code de façon autonome.
|
||||
Qwen3-Coder opère via l'outil MCP `mcp__qwen3__task`, appelé **directement** — jamais
|
||||
via un sous-agent (Agent tool). Il dispose d'outils filesystem, shell et web (llm-functions)
|
||||
— il peut lire/écrire des fichiers, exécuter des commandes, faire des recherches web et
|
||||
exécuter du code de façon autonome.
|
||||
|
||||
## Critères de délégation (TOUS requis)
|
||||
|
||||
@@ -29,8 +30,10 @@ faire des recherches web et exécuter du code de façon autonome.
|
||||
## Procédure
|
||||
|
||||
1. Évalue les critères ci-dessus.
|
||||
2. Si éligible → utilise le subagent `qwen3-worker` avec une description précise de la tâche.
|
||||
2. Si éligible → appelle directement `mcp__qwen3__task` avec une description précise de la tâche.
|
||||
Ne pas pré-charger les fichiers : Qwen3 les lit lui-même si nécessaire.
|
||||
Pour toute création/modification de fichier, préciser dans le prompt :
|
||||
"Écris le fichier via fs_write, ne pas afficher le contenu dans ta réponse."
|
||||
3. Attends le résumé (STATUS / FILES_MODIFIED / SUMMARY).
|
||||
4. Si `STATUS: failure` → prends en charge toi-même.
|
||||
5. Si `STATUS: partial` → corrige les points restants directement.
|
||||
@@ -40,4 +43,4 @@ faire des recherches web et exécuter du code de façon autonome.
|
||||
- Refactoring impliquant une vision cross-module
|
||||
- Changement d'architecture ou de design pattern
|
||||
- Debugging avec stacktrace à analyser sur plusieurs fichiers
|
||||
- Tâches nécessitant le contexte de la conversation en cours
|
||||
- Tâches nécessitant le contexte de la conversation en cours
|
||||
46
skills/test_qwen3.md
Normal file
46
skills/test_qwen3.md
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
name: test-qwen3
|
||||
description: Évalue Qwen3 en lui déléguant des tâches via mcp__qwen3__task et en vérifiant les fichiers produits.
|
||||
---
|
||||
|
||||
Exécute les tests suivants dans l'ordre. Pour chaque test :
|
||||
1. Appelle `mcp__qwen3__task` avec la tâche
|
||||
2. Vérifie que le fichier attendu existe dans `test_qwen3_output/`
|
||||
3. Vérifie que le contenu est propre (pas de balises markdown résiduelles, pas de sérialisation JSON)
|
||||
4. Valide syntaxiquement si applicable
|
||||
5. Affiche ✓ PASS ou ✗ FAIL avec la raison
|
||||
|
||||
Répertoire de sortie : `test_qwen3_output/` à la racine du projet (le créer si absent).
|
||||
|
||||
## Tests
|
||||
|
||||
**T1 — Python basique**
|
||||
Tâche : "Crée le fichier test_qwen3_output/hello.py qui affiche Hello, World!"
|
||||
Vérif : fichier existe, contient `print`, `python3` produit "Hello, World!", pas de balises ``` dans le fichier
|
||||
|
||||
**T2 — Bash boucle**
|
||||
Tâche : "Crée le fichier test_qwen3_output/count.sh, script bash qui affiche les nombres de 1 à 5 un par ligne"
|
||||
Vérif : fichier existe, `bash -n` passe, exécution produit "5" en dernière ligne, pas de balises ```
|
||||
|
||||
**T3 — Python récursion**
|
||||
Tâche : "Crée le fichier test_qwen3_output/fibonacci.py avec une fonction fib(n) et à la fin print(fib(10))"
|
||||
Vérif : fichier existe, `python3` retourne 55, pas de balises ```
|
||||
|
||||
**T4 — Markdown titre**
|
||||
Tâche : "Crée le fichier test_qwen3_output/intro.md avec un titre H1 CrazyClaude et un paragraphe de présentation"
|
||||
Vérif : fichier existe, commence par `#`, plus de 50 caractères, pas de balises ``` englobantes
|
||||
|
||||
**T5 — Markdown documentation**
|
||||
Tâche : "Crée le fichier test_qwen3_output/api.md documentant la fonction process(data, options) avec les sections Description, Paramètres, Retour, Exemple"
|
||||
Vérif : 4 sections présentes, contenu structuré, pas de balises ```
|
||||
|
||||
**T6 — Markdown changelog**
|
||||
Tâche : "Crée le fichier test_qwen3_output/changelog.md avec 3 entrées au format ## [version] - date avec sous-sections Added/Fixed/Changed"
|
||||
Vérif : au moins 3 entrées `## [`, sous-sections présentes
|
||||
|
||||
## Résumé final
|
||||
|
||||
Affiche :
|
||||
- Le score N/6
|
||||
- Pour les FAIL : contenu du fichier produit (ou absence) pour diagnostic
|
||||
- Évaluation qualitative : ce que Qwen3 fait bien/mal (utilisation des outils, qualité du contenu, propreté des fichiers)
|
||||
Reference in New Issue
Block a user