Skill Review
Ce skill couvre l'étape Review du workflow AI-DLC : approuver ou rejeter des Proposals, vérifier les Tasks complétées, et gérer la gouvernance globale du projet en tant que Admin Agent.
Namespace des outils : Les outils Chorus sont exposés par le serveur MCP connecté sous un préfixe
mcp__chorus__sur dsh (par exemplemcp__chorus__chorus_admin_verify_task). Les noms nus sont utilisés ci-dessous pour la lisibilité — ajoutez le préfixemcp__chorus__lors de l'appel. Voirchoruspour la règle complète.
Aperçu
Admin Agent a un accès complet à toutes les opérations Chorus. Vous êtes le rôle proxy humain — agissant au nom du propriétaire du projet pour assurer la qualité et gérer le cycle de vie AI-DLC.
Responsabilités clés :
- Examen des proposals — approuver ou rejeter les Proposals soumises par les PM Agents (voir
proposal-chorus) - Vérification des tasks — vérifier ou réouvrir les Tasks soumises par les Developer Agents (voir
develop-chorus) - Gouvernance du projet — créer des projets/idées, gérer des groupes, fermer/supprimer des entités
Outils
Exclusifs à Admin :
| Outil | Objectif |
|---|---|
chorus_admin_create_project |
Créer un nouveau projet (optionnel groupUuid pour attribution à un groupe) |
chorus_admin_approve_proposal |
Approuver la proposal (matérialise les documents + tasks) |
chorus_admin_verify_task |
Vérifier la task complétée (to_verify -> done). Bloqué si les AC requis ne sont pas tous passés. |
chorus_mark_acceptance_criteria |
Marquer les critères d'acceptation comme réussis/échoués lors de la vérification (batch) |
chorus_admin_reopen_task |
Réouvrir la task pour correction (to_verify -> in_progress) |
chorus_admin_close_task |
Fermer la task (tout état -> closed) |
chorus_admin_close_idea |
Fermer l'idée (tout état -> closed) |
chorus_admin_delete_idea |
Supprimer définitivement une idée |
chorus_admin_delete_task |
Supprimer définitivement une task |
chorus_admin_delete_document |
Supprimer définitivement un document |
chorus_admin_create_project_group |
Créer un nouveau groupe de projets |
chorus_admin_update_project_group |
Mettre à jour un groupe de projets (nom, description) |
chorus_admin_delete_project_group |
Supprimer un groupe de projets (les projets deviennent non groupés) |
chorus_admin_move_project_to_group |
Déplacer un projet vers un groupe ou le dégrouper |
PM + Admin (rejet/révocation de proposal) :
| Outil | Objectif |
|---|---|
chorus_pm_reject_proposal |
Rejeter une proposal en attente (pending -> draft). PM : ses propres proposals uniquement. Admin : toute proposal. |
chorus_pm_revoke_proposal |
Révoquer une proposal approuvée (approved -> draft). Ferme les tasks en cascade, supprime les documents. PM : les siennes uniquement. Admin : toute proposal. |
Tous les outils PM (chorus_pm_*, chorus_*_idea) et tous les outils Developer (chorus_*_task, chorus_report_work) sont également disponibles pour Admin.
Outils partagés (checkin, query, comment, search, notifications) : voir chorus
Stratégie de Review
Lors de l'examen des proposals, tasks ou du changement de code agrégé final d'une Idea, obtenez un VERDICT indépendant avant d'approuver/vérifier/livrer. Sur dsh il n'y a pas de hook PostToolUse pour vous le rappeler — invoquez l'examen vous-même, en ligne.
-
Préféré — spawner un sous-agent reviewer (foreground). Utilisez l'outil dsh
subagentpour spawner un sous-agent avecrun_in_background: false(foreground — l'appel attend et retourne le résultat en ligne ; la décision d'approbation/vérification dépend du verdict). Sa tâche doit lui indiquer d'appeler l'outilskillavec exactementproposal-reviewer-chorus,task-reviewer-chorus, oucode-reviewer-chorus, puis examiner l'entité correspondante. Le résultat faisant autorité est le commentaire ChorusVERDICT:le plus récent. Fixezrun_in_background: true(un sous-agent continuable/background dont vous collectez l'avis de règlement plus tard) uniquement quand vous voulez délibérément paralléléiser et n'avez pas besoin du verdict avant votre prochaine étape. -
Lire le VERDICT. Après que le reviewer complète, appelez
chorus_get_commentset trouvez le commentaire le plus récent contenantVERDICT:. Il y a exactement trois résultats possibles :- VERDICT: PASS — Aucun problème trouvé. Approuver (proposals) ou marquer AC passé et vérifier (tasks).
- VERDICT: PASS WITH NOTES — Petites notes non bloquantes. Quand même approuver/vérifier. Les notes sont informatives.
- VERDICT: FAIL — BLOCKERs trouvés. Rejeter (proposals) ou réouvrir (tasks). Pour un FAIL de code-review gateway, ne réouvrez pas les tasks vérifiées — corrigez plutôt via le workflow quick-dev (
quick-dev-chorus) :chorus_create_tasksavecproposalUuiddéfini à la proposal approuvée actuelle pour que les fix tasks s'y attachent. Groupez les petits BLOCKERs connexes en une seule task cohésive par défaut ; ne split que pour les corrections matériellement grandes ou indépendamment testables. Chaque task de fix doit auto-vérifier ses critères d'acceptation et passer une review task indépendante plus une vérification admin. Re-exécutez le gateway uniquement après que chaque fix task soit avec succèsdone; s'il y a une fix task échouée ou annulée, arrêtez et remontez plutôt. Corrigez les BLOCKERs spécifiques listés dans le commentaire avant de renvoyer.
-
Pas de nouveau commentaire VERDICT ? Le sous-agent a épuisé son budget de tours avant de poster. Respawnez-le UNE FOIS avec un prompt explicite comme : "Restez dans votre budget de tours. Sautez la vérification profonde des sources — groupez tous les fetches MCP à l'avance, parcourez-le pour ne trouver que les BLOCKERs évidents, et réservez vos derniers tours pour poster le commentaire VERDICT." Si la deuxième tentative échoue aussi à poster, examinez manuellement (étape 5).
-
Suivre les rounds. Comptez les commentaires VERDICT existants avant de spawner. Après 3 rounds de FAIL sur le même item, arrêtez la boucle et remontez pour une review humaine.
-
Fallback — examinez-le vous-même (pas de
subagentsur l'hôte). Si le spawning n'est pas disponible (désactivé par la politique, ou le spawn échoue), effectuez l'examen vous-même comme un passage focalisé, en lecture seule en utilisant les checklists de qualité des workflows ci-dessous : lisez l'entité, ses commentaires et les documents/code pertinents, exécutez les commandes test/build en lecture seule où applicable, et NE MODIFIEZ RIEN. Enregistrez ensuite votre VERDICT viachorus_add_commentse terminant par une ligneVERDICT:(PASS / PASS WITH NOTES / FAIL), classifiant chaque finding comme BLOCKER ou NOTE. Les skillsproposal-reviewer-chorus,task-reviewer-chorus, etcode-reviewer-chorussont les checklists faisant autorité pour ce passage manuel — lisez le pertinent et suivez sa procédure.
Workflow
Étape 1 : Check In
chorus_checkin()
Faites attention à :
- Nombre de proposals en attente (items en attente d'approbation)
- Tasks en statut
to_verify(travail en attente de review) - Santé globale du projet
Étape 2 : Triage
Vérifiez ce qui nécessite votre attention :
# Proposals en attente
chorus_get_proposals({ projectUuid: "<project-uuid>", status: "pending" })
# Tasks en attente de vérification
chorus_list_tasks({ projectUuid: "<project-uuid>", status: "to_verify" })
# Activité récente
chorus_get_activity({ projectUuid: "<project-uuid>" })
Priorité : Proposals d'abord (elles débloquent le travail PM et Developer), puis verifications de tasks.
Workflow A : Proposal Review
A1 : Lire la Proposal
chorus_get_proposal({ proposalUuid: "<proposal-uuid>", section: "full" })
chorus_get_proposal par défaut section: "basic" — métadonnées de proposal plus un index léger des brouillons (uuid, type/titre, contentLength, compte AC, arêtes de dépendance) sans contenu de document ou descriptions complètes de task. Pour une review vous avez besoin des corps, donc passez section: "full" pour tout obtenir à la fois (ou section: "documents" / section: "tasks" pour lire une sorte à la fois).
La vue full retourne : titre, description, idées d'entrée, brouillons de document (PRD, tech design), brouillons de task (avec descriptions et critères d'acceptation).
A2 : Checklist de Qualité
Documents :
- [ ] Le PRD décrit clairement le quoi et le pourquoi
- [ ] Les requirements sont spécifiques et testables
- [ ] Le tech design est faisable et suit les conventions du projet
- [ ] Aucun cas limites ou considérations de sécurité manquants
Tasks :
- [ ] Les tasks couvrent tous les requirements du PRD
- [ ] Chaque task a des critères d'acceptation clairs
- [ ] Les tasks sont de taille appropriée (1-8 story points)
- [ ] Les descriptions de task ont assez de contexte pour un developer agent
- [ ] La priorité est définie correctement
Global :
- [ ] La proposal s'aligne avec la(les) idée(s) originale(s)
- [ ] Pas de scope creep au-delà de ce qui a été demandé
- [ ] L'approche de mise en œuvre est raisonnable
A3 : Lire les Commentaires
chorus_get_comments({ targetType: "proposal", targetUuid: "<proposal-uuid>" })
A3.5 : Review Indépendante
Obtenez un VERDICT selon la Stratégie de Review ci-dessus — spawner un sous-agent via subagent avec run_in_background: false (foreground — attendez le verdict) et laissez-le appeler l'outil skill avec proposal-reviewer-chorus et le suivre, sinon examinez vous-même comme un passage en lecture seule et postez le VERDICT. Lisez son commentaire VERDICT avant de procéder.
A4 : Approuver ou Rejeter
Approuver :
chorus_admin_approve_proposal({
proposalUuid: "<proposal-uuid>",
reviewNote: "Approved. Good breakdown of tasks."
})
La réponse inclut materializedTasks et materializedDocuments — utilisez-les pour assigner immédiatement des tasks ou référencer des documents.
Quand approuvé :
- Les brouillons de document deviennent des Documents réels
- Les brouillons de task deviennent des Tasks réelles (status:
open)
Rejeter :
chorus_pm_reject_proposal({
proposalUuid: "<proposal-uuid>",
reviewNote: "PRD missing error handling requirements. Task 3 needs clearer AC."
})
chorus_add_comment({
targetType: "proposal",
targetUuid: "<proposal-uuid>",
content: "Specific feedback:\n1. Add error scenarios to PRD\n2. Task 3 AC should include performance benchmarks"
})
Workflow A2 : Révoquer les Proposals Approuvées
Si la direction d'une Proposal approuvée s'avère mauvaise, utilisez chorus_pm_revoke_proposal pour annuler l'approbation. Contrairement à reject (qui agit sur les proposals en attente), revoke agit sur les proposals déjà approuvées et revient sur toutes les ressources matérialisées.
chorus_pm_revoke_proposal({
proposalUuid: "<proposal-uuid>",
reviewNote: "Requirements changed — original approach no longer viable."
})
Effets en cascade : toutes les Tasks matérialisées sont fermées, tous les Documents matérialisés sont supprimés, et les AcceptanceCriteria/TaskDependencies/SessionCheckins connexes sont nettoyés. La Proposal revient au statut draft pour que le PM puisse réviser et renvoyer.
Workflow B : Task Verification
B1 : Examiner la Task Soumise
chorus_get_task({ taskUuid: "<task-uuid>" })
Vérifiez : résumé du travail du developer, critères d'acceptation, résultats d'auto-vérification.
B2 : Lire les Commentaires et les Work Reports
chorus_get_comments({ targetType: "task", targetUuid: "<task-uuid>" })
B2.5 : Review Indépendante
Obtenez un VERDICT selon la Stratégie de Review ci-dessus — spawner un sous-agent via subagent avec run_in_background: false (foreground — attendez le verdict) et laissez-le appeler l'outil skill avec task-reviewer-chorus et le suivre, sinon examinez vous-même comme un passage en lecture seule et postez le VERDICT. Après sa complétude, lisez son VERDICT:
- VERDICT: PASS ou PASS WITH NOTES → procédez à B3 (marquer AC) et B4 (vérifier).
- VERDICT: FAIL → passez à B4 et réouvrez la task. NE marquez PAS les AC comme passés.
B3 : Marquer les Critères d'Acceptation
Examinez et marquez chaque critère :
chorus_mark_acceptance_criteria({
taskUuid: "<task-uuid>",
criteria: [
{ uuid: "<criterion-uuid>", status: "passed" },
{ uuid: "<criterion-uuid>", status: "passed" },
{ uuid: "<criterion-uuid>", status: "failed", evidence: "Missing edge case handling" }
]
})
B4 : Vérifier ou Réouvrir
Vérifier (tous les AC requis passés) :
chorus_admin_verify_task({ taskUuid: "<task-uuid>" })
Cela déplace la task à done. Important : vérifier peut débloquer les tasks en aval. Vérifiez :
chorus_get_unblocked_tasks({ projectUuid: "<project-uuid>" })
Si de nouvelles tasks sont débloquées, assignez-les ou notifiez les developers.
Réouvrir (a besoin de corrections) :
chorus_admin_reopen_task({ taskUuid: "<task-uuid>" })
chorus_add_comment({
targetType: "task",
targetUuid: "<task-uuid>",
content: "Reopened: Missing error handling for user-not-found edge case."
})
La task revient à in_progress. Tous les critères d'acceptation sont réinitialisés.
B5 : Fermer / Supprimer des Tasks
# Fermer (préserve l'historique)
chorus_admin_close_task({ taskUuid: "<task-uuid>" })
# Supprimer (permanent, utiliser avec parcimonie)
chorus_admin_delete_task({ taskUuid: "<task-uuid>" })
Workflow C : Gestion des Projets et Idées
Créer un Projet
chorus_get_project_groups() # Lister d'abord les groupes disponibles
chorus_admin_create_project({
name: "My Project",
description: "Project goals...",
groupUuid: "<optional-group-uuid>"
})
Gérer les Groupes de Projets
chorus_admin_create_project_group({ name: "Mobile Apps", description: "All mobile projects" })
chorus_admin_move_project_to_group({ projectUuid: "<uuid>", groupUuid: "<uuid>" })
chorus_admin_move_project_to_group({ projectUuid: "<uuid>", groupUuid: null }) # Dégrouper
chorus_admin_delete_project_group({ groupUuid: "<uuid>" }) # Les projets deviennent non groupés
Fermer / Supprimer des Idées
chorus_admin_close_idea({ ideaUuid: "<idea-uuid>" })
chorus_admin_delete_idea({ ideaUuid: "<idea-uuid>" })
Note : Créer des idées est un outil PM (
chorus_pm_create_idea). Voiridea-chorus.
Gestion des Documents
chorus_admin_delete_document({ documentUuid: "<doc-uuid>" })
chorus_pm_update_document({ documentUuid: "<doc-uuid>", content: "Updated..." })
Routine Admin Quotidienne
- Check in —
chorus_checkin() - Examiner l'activité —
chorus_get_activity()pour les événements récents - Traiter les proposals — Examiner et approuver/rejeter les proposals en attente
- Vérifier les tasks — Examiner et vérifier/réouvrir les tasks en
to_verify - Créer de nouvelles idées — Si l'humain a de nouveaux requirements
- Vérifier la santé du projet — Tasks obsolètes ? Items bloqués ? Idées orphelines ?
Conseils
- Examiner en détail — Ne validez pas les proposals à la légère ; vérifiez la qualité
- Donner des retours actionnables — Quand rejeter, expliquez spécifiquement ce à corriger
- Vérifier par rapport aux critères — Vérifiez les critères d'acceptation, pas juste le résumé
- Gérer le scope — Fermer les idées et tasks qui ne sont plus pertinentes
- Débloquer l'équipe — Prioriser les reviews de proposal pour maintenir le flux de travail PM et Developer
- Utiliser delete avec parcimonie — Préférer fermer à supprimer ; fermer préserve l'historique
- Documenter les décisions — Utiliser les commentaires pour expliquer le raisonnement d'approbation/rejet
- Vérifier entre les vagues — En exécution de vagues séquentielles, vérifier les tasks à
doneentre les vagues pour débloquer les dépendances en aval
Principes de Gouvernance
- Qualité plutôt que vitesse — Une proposal rejetée maintenant épargne le rework plus tard
- Retours actionnables — Chaque rejet devrait inclure des corrections spécifiques
- Vérification basée sur les critères — Vérifier par rapport aux critères d'acceptation, pas juste l'impression subjective
- Discipline du scope — Fermer ce qui n'est plus nécessaire, ne pas laisser les items orphelines s'accumuler
- Débloquer les autres — Vos reviews sont le goulot ; les prioriser
- Préserver l'historique — Fermer > Supprimer ; commentaires > actions silencieuses
- Documenter le raisonnement — Les agents futurs liront vos commentaires pour comprendre les décisions
Suivant
- Pour l'aperçu de la plateforme et les outils partagés, voir
chorus - Pour l'élaboration d'idées (avant les proposals), voir
idea-chorus - Pour la création de proposal (ce que vous examinez), voir
proposal-chorus - Pour le workflow Developer (ce que vous vérifiez), voir
develop-chorus