Academic Writing Loop : Relecture d'anglais académique (1 passage / boucle)
Relit un PDF d'article scientifique en anglais en tant que correcteur expérimenté en milieu académique. La référence est le guide Guide to Academic and Scientific Publication de Linda Olson (Proof-Reading-Service.com, 2014), organisé en points de contrôle dans references/proofreading_checklist.md. L'idée centrale du guide est « suivre les instructions aux auteurs, être précis, être cohérent ». De nombreuses graphies sont correctes, mais si elles fluctuent dans un même article, elles deviennent des erreurs. Les décisions orthographiques sont donc consignées dans style_sheet.md et respectées à tous les tours.
| Mode | Action | Livrable à l'utilisateur |
|---|---|---|
| 1 relecture | Relit le PDF spécifié une seule fois. | PDF annoté (surlignages et commentaires avec suggestions), rapport de relecture, feuille de style. |
| loop | Relecture → application au manuscrit (LaTeX) et regénération du PDF → nouvelle relecture par un autre correcteur, répété jusqu'à épuisement des remarques ou limite de tours. | PDF corrigé, version annotée du PDF original, rapports par tour et évolution, historique des modifications, questions à l'auteur. |
Ci-après, <skill_dir> est le répertoire contenant ce SKILL.md, <ws> est le dossier de travail, et AWL est l'abréviation de python <skill_dir>/scripts/awl.py. Dans les environnements sans python, utiliser python3.
0. Lancement : déterminer le mode et le PDF
Utilisation :
/academic-writing-loop 1回校正 paper.pdf
/academic-writing-loop loop paper.pdf
/academic-writing-loop loop 3 paper.pdf ← spécifier le nombre max de tours (par défaut 5)
loop N signifie « relecture jusqu'à N fois, regénération du PDF jusqu'à N−1 fois ». Le cycle se termine toujours par une relecture, ce qui permet de voir ce qui reste dans la version finale.
Estimation du temps (test : article de 2 pages, 640 mots) : 1 relecture ≈ 15 min. Loop : la première relecture est la plus longue, total ≈ 45 min (3 relectures, 2 regénérations). Le temps augmente presque proportionnellement au nombre de pages.
- Extraire le mode et le PDF des arguments du message. Les séparateurs peuvent être espaces,
、ou,.- 1 relecture :
1回校正1回一回oncesingle1 - loop :
loopループ繰り返し. Le nombre immédiatement après est le nombre max de tours (relectures, par défaut 5). - PDF : tout fichier se terminant par
.pdf. Les chemins relatifs sont résolus depuis le répertoire de travail ; si introuvable, chercher par nom de fichier. - Si le mode est absent, demander via un outil de question (AskUserQuestion, etc. ; sinon dans le chat) :
1回校正/loop(校正→修正→再校正を繰り返す). Si le PDF est absent, le demander aussi.
- 1 relecture :
- Si le message contient le nom de la revue cible, l'URL des instructions aux auteurs ou la préférence US/UK, les utiliser. Sinon, ne pas demander (pas de revue cible = conventions générales de l'anglais académique ; orthographe = majorité dans le manuscrit).
- Vérifier PyMuPDF :
python -c "import fitz". S'il est absent, exécuterpython -m pip install pymupdf(nécessaire pour le PDF annoté et les informations de position. Si l'installation échoue, continuer sans PDF annoté et en informer l'utilisateur).
1. Configuration (commune aux deux modes)
Le dossier de travail est <dossier du PDF>/<nom du PDF>_awl/ (s'il n'est pas accessible en écriture, le créer dans le répertoire de travail).
AWL init <ws> --pdf <pdf> --mode once|loop [--max-rounds 5] [--journal "<revue cible>"]
AWL extract <ws>/rounds/r01/paper.pdf -o <ws>/rounds/r01/paper.txt
AWL scan <ws>/rounds/r01/paper.txt -o <ws>/rounds/r01/scan.md
<ws>/
├── state.json Mode, limite de tours, raison de fin (géré par awl.py)
├── style_sheet.md Décisions orthographiques (communes à tous les tours)
├── original/ PDF reçu, non modifié
├── src/ Sources pour édition (loop seulement)
├── rounds/rNN/ paper.pdf paper.txt scan.md corrections.json report.md annotated.pdf
│ revision_log.json (loop) src/ changes.diff (loop)
├── author_queries.md Questions à l'auteur (loop)
└── work/ Images des pages, etc.
- Si
extractsignale « very little text per page », il s'agit d'un PDF scanné. Prévenir qu'une OCR (compétence pdf) est nécessaire. Si le texte n'est pas en anglais, annoncer que ce n'est pas le domaine de cette compétence et s'arrêter. - Si la revue cible est connue et accessible sur le Web, lire les instructions officielles aux auteurs (Author guidelines / Instructions for authors) et noter les règles de langue et de format (US/UK, nombre de mots, structure du résumé, titres, style de citation, figures et tableaux, abréviations, nombre de mots-clés) dans
style_sheet.mdsous « Revue cible et instructions » et dans chaque ligne concernée. Les instructions priment (guide §3). - En mode loop, informer l'utilisateur en 2-3 lignes : dossier de travail, nombre max de tours, et que la suite se déroulera sans confirmation. En mode 1 relecture, le résumé peut être intégré à la réponse finale.
2. Un tour de relecture (procédure commune aux deux modes)
Le contenu de la relecture suit references/proofreader_brief.md (procédure, format des remarques, format JSON) et references/proofreading_checklist.md (catégories et niveaux de gravité).
Qui relit
- Mode 1 relecture : vous-même.
- Mode loop : confier chaque tour à un sous-agent (outil Agent) différent. Un correcteur qui n'a pas le contexte de la révision juge uniquement ce qui est réellement écrit dans le PDF, non ce qu'il prétend avoir corrigé. Relire ses propres corrections dans le même contexte augmente les omissions.
- Article long (plus d'environ 12 pages ou 7000 mots de texte principal) : diviser en plages de pages (6-8 pages par plage, aux limites de sections) et confier en parallèle à plusieurs sous-agents. Fusionner avec
AWL merge, puis vérifier la cohérence globale (orthographe, terminologie, abréviations, citations et bibliographie, numérotation des figures/tableaux, titres) soit vous-même, soit l'agent de fusion, en consultant le résumé descan.md. - Si les sous-agents ne sont pas disponibles, tout faire séquentiellement vous-même. À partir du 2e tour en mode loop, lire impérativement le texte extrait du nouveau PDF (ne pas juger de mémoire).
Instruction pour le correcteur (tous les chemins en absolu ; le shell des sous-agents peut réinitialiser le répertoire de travail à chaque appel) :
Vous êtes un correcteur professionnel d'anglais académique. Lisez d'abord <skill_dir>/references/proofreader_brief.md et
<skill_dir>/references/proofreading_checklist.md jusqu'au bout, puis suivez leurs procédures, critères et formats de sortie.
- PDF à relire : <ws>/rounds/rNN/paper.pdf (texte extrait : <ws>/rounds/rNN/paper.txt)
- Candidates pour vérifications automatiques : <ws>/rounds/rNN/scan.md
- Décisions orthographiques : <ws>/style_sheet.md (au tour 1, remplir les réglages de base, la terminologie et les abréviations)
- Remarques du tour précédent : <ws>/rounds/r(NN-1)/corrections.json ← tours 2 et suivants seulement
- Pages à traiter : toutes ← en cas de division, indiquer « p.1–8 »
- Sortie : <ws>/rounds/rNN/corrections.json (en cas de division, corrections.partK.json)
- Outils : python <skill_dir>/scripts/awl.py (validate / report / annotate),
python <skill_dir>/scripts/pdf_tools.py render (pour visualiser des pages de figures en images)
- Remarques sur l'environnement : <exemple : Windows. Les chemins peuvent contenir des caractères japonais et des espaces, les entourer de guillemets. Ne pas écrire en dehors de <ws> et de <skill_dir>>
Ne pas changer le sens de l'auteur. Ne pas corriger les nombres, formules, citations, titres de références. En cas de doute, mettre dans query.
Terminez en retournant « Nombre (erreurs/clarté/style/questions auteur) • tendance des erreurs fréquentes • résultat de validate ».
Après la relecture, vérifier impérativement (même si confiée à un sous-agent, exécuter vous-même) :
AWL validate <ws>/rounds/rNN/corrections.json # jusqu'à ce que VALID soit obtenu
AWL report <ws>/rounds/rNN/corrections.json # → report.md
AWL annotate <ws>/rounds/rNN/paper.pdf <ws>/rounds/rNN/corrections.json -o <ws>/rounds/rNN/annotated.pdf
validate vérifie que chaque original des remarques existe réellement dans le texte du PDF. Les remarques dont l'original est introuvable sont soit des erreurs de transcription, soit des remarques sur un texte inexistant ; dans les deux cas, elles ne peuvent servir ni pour l'annotation ni pour la révision.
3. Mode 1 relecture
- Effectuer le §2 pour le tour r01.
AWL finalize <ws>→ produit<ws>/<nom du PDF>_proofread.pdf(version annotée) et<ws>/report.md.- Résumer brièvement pour l'utilisateur :
- Nombre (erreurs / clarté / style / questions auteur) et impression générale (2-3 phrases)
- Tendance des erreurs fréquentes : top 3-5, avec pour chacune un exemple (original → suggestion) et le nom de la règle
- Liste des questions à l'auteur (brève)
- Emplacement des fichiers (le PDF annoté permet de voir suggestions et raisons en survolant les surlignages ou dans la liste des commentaires)
- Ne pas coller le rapport complet. Enfin, mentionner qu'en mode loop, la révision et la regénération du PDF sont possibles.
4. Mode loop
4.1 Préparation des sources pour l'édition (peut être parallélisée avec la relecture r01)
init affiche les candidats sources proches du PDF.
- Sources LaTeX trouvées (.tex, dossier, .zip/.tar.gz d'Overleaf ou arXiv) : copier / extraire dans
<ws>/src/(le fichier contenant\documentclasset\begin{document}est le fichier principal). Compiler une fois et vérifier que les sources correspondent à la version du PDF :
Si la similarité est inférieure à 0.95, les versions diffèrent probablement. Demander à l'utilisateur laquelle utiliser.python <skill_dir>/scripts/build_pdf.py <ws>/src/<main>.tex --out <ws>/work/source_build.pdf AWL extract <ws>/work/source_build.pdf -o <ws>/work/source_build.txt AWL compare <ws>/rounds/r01/paper.txt <ws>/work/source_build.txt - Aucun candidat trouvé : demander une seule fois si les sources (LaTeX / zip Overleaf) existent. Avec les sources, la révision est plus précise et rapide.
- Pas de sources : reconstituer le LaTeX à partir du PDF selon
references/pdf_to_latex.md(confier à un sous-agent, en parallèle de la relecture r01 ; 20–40 min pour 10 pages). Respecter : la mise en page sera approximative, le texte anglais doit être reproduit à l'identique, erreurs comprises. - Manuscrit Word (.docx) : cette boucle édite du LaTeX. Pour préserver la mise en page, il est plus fiable d'utiliser le PDF annoté et le rapport de la 1re relecture pour effectuer les corrections dans Word. Demander à l'utilisateur son choix.
- Une fois prêt, exécuter
python <skill_dir>/scripts/snapshot.py <ws>/src <ws>/rounds/r01.
4.2 Tour r (r = 1, 2, …)
(a) Relecture : §2. Terminer par une ligne de progrès pour l'utilisateur. Exemple : r02 relecture terminée : erreurs 9 / clarté 4 (précédent 41 / 17), remarques précédentes résolues 52/58
(b) Décision de continuer : exécuter AWL status <ws> et suivre NEXT: dans la dernière ligne. Les conditions d'arrêt sont déterminées par le script (ne pas décider sur l'impression du moment) :
- Les remarques d'erreur + clarté tombent à 0 (convergence)
- Le nombre maximal de tours est atteint
- Le nombre d'erreurs + clarté n'a pas diminué par rapport au tour précédent (les corrections tournent en rond)
NEXT: STOP→ aller au §4.3. La décision est prise immédiatement après la relecture, donc le PDF final est toujours relu.
(c) Révision (appliquer les remarques du tour r et produire le PDF du tour r+1) : lancer le sous-agent de révision avec l'instruction ci-dessous et attendre la fin. Vérifier ensuite vous-même :
rounds/r{r+1}/paper.pdf,paper.txt,scan.mdexistent. La compilation a réussi, aucune référence non définie.rounds/r{r}/revision_log.jsonexiste etAWL verify <ws> --round rréussit (les éléments bloqués à cause de l'extraction peuvent être vérifiés sur l'image de la page et marquésverified_manually).- Si la compilation échoue, restaurer les fichiers abîmés depuis
rounds/r{r}/src/et recommencer la révision. Ne jamais soumettre un ancien PDF comme nouvelle version.
→ Retour en (a) avec r+1.
Instruction pour le réviseur (chemins en absolu) :
Vous êtes un éditeur côté auteur chargé d'appliquer les remarques de relecture au manuscrit. Lisez d'abord
<skill_dir>/references/reviser_brief.md jusqu'au bout et suivez ses règles (ne pas changer le sens ni les données,
ne pas modifier le texte pour les query, ordre local → global).
- Sources à éditer : <ws>/src/ (fichier principal : <main>.tex)
- Remarques actuelles : <ws>/rounds/rNN/corrections.json (consulter aussi report.md)
- Décisions orthographiques : <ws>/style_sheet.md (si une remarque est écartée pour raison de volonté de l'auteur ou convention du domaine, l'ajouter dans « parties non modifiées »)
- Questions à l'auteur : <ws>/author_queries.md (ajouter des query)
- Nouveau PDF : <ws>/rounds/rMM/paper.pdf (MM = NN+1). Les procédures de compilation, extraction, scan, snapshot, revision_log.json et verify suivent le §4 du reviser_brief.md.
- Remarques sur l'environnement : <identique au correcteur>
Terminez en retournant « Nombre d'applications/de refus/de questions auteur • résultat de la compilation • résultat de verify • ajouts à la feuille de style ».
4.3 Finalisation
AWL finalize <ws>(en cas d'interruption par l'utilisateur ou autre raison que la décision du script, utiliser--reason "<motif>"). Produit<nom du PDF>_corrected.pdf(version finale),<nom du PDF>_proofread_r01.pdf(version annotée du PDF original), éventuellement<nom du PDF>_corrected_remaining.pdf(s'il reste des remarques),changelog.md,progress.md. Les questions à l'auteur du dernier tour ne passent pas par le réviseur ;finalizeles ajoute àauthor_queries.md.- PDF avec différences colorées (optionnel) : copier
<ws>/srcdans<ws>/work/diff_src/pour ne pas salir l'original.Sicp -r <ws>/src <ws>/work/diff_src latexdiff <ws>/rounds/r01/src/<main>.tex <ws>/src/<main>.tex > <ws>/work/diff_src/diff.texlatexdifféchoue (code non nul oudiff.texvide ; sous MiKTeX, échec possible par manque de modules Perl), passer outre et mentionner dans la réponse. En cas de succès,build_pdf.py <ws>/work/diff_src/diff.tex --out <ws>/<nom du PDF>_diff.pdf. - Rédiger
<ws>/final_report.md:# Rapport de relecture anglais académique : <titre de l'article> - Mode / nombre de tours / raison de fin / revue cible, orthographe, style de citation (feuille de style) ## Évolution (tableau de progress.md) ## Tendances de l'anglais original (résumé et nombre par catégorie du tour r01 ; exemples des erreurs fréquentes avec règle) ## Principales corrections apportées (exemples représentatifs de changelog.md) ## Questions à l'auteur (author_queries.md, par ordre de priorité) ## Remarques restantes (points clés du report.md du dernier tour) ## Liste des fichiers - Réponse courte à l'utilisateur : nombre de tours et évolution (nombre d'erreurs+clarté), tendance des erreurs fréquentes, principales questions à l'auteur, remarques restantes, emplacement des fichiers. Ne pas coller le rapport complet.
Reprise après interruption
Si <ws>/state.json existe, exécuter AWL status <ws> pour voir l'état et reprendre à l'étape indiquée par NEXT:. init n'écrase pas un dossier de travail existant (utiliser --force pour recommencer).
Principes et justifications
- Ne pas changer le sens, ne pas inventer de contenu : la relecture porte sur la langue, non sur le contenu de la recherche. Ne pas modifier les nombres, données, formules, citations, titres de références, force des affirmations. Les points que le seul correcteur ne peut trancher sont renvoyés comme questions à l'auteur. Il s'agit d'un manuscrit réel ; des suppositions altèrent le propos de l'auteur.
- La cohérence est assurée par la feuille de style : chaque tour étant confié à un correcteur différent, les décisions doivent être conservées pour éviter un va-et-vient « passer en UK → repasser en US ». Les décisions suivent l'ordre : instructions aux auteurs > articles déjà publiés dans la revue > majorité dans le manuscrit, et ne changent pas en cours de route.
- Séparer relecture et révision : le correcteur examine uniquement le PDF et émet des remarques ; le réviseur vérifie leur bien-fondé avant de les appliquer ; le résultat est vérifié indépendamment par le correcteur suivant. Cette séparation détecte mieux les omissions et les erreurs introduites lors des corrections que si l'on vérifiait ses propres modifications.
- Insérer des vérifications automatiques :
validate(les remarques portent-elles sur du texte réel ?),verify(les corrections sont-elles bien arrivées dans le PDF ?),compare(la reconstitution correspond-elle à l'original ?) permettent de vérifier numériquement les hallucinations du modèle de langage. Ne pas les omettre. - La décision d'arrêt est confiée au script : suivre
NEXT:dansstatus. Un correcteur trouvera toujours quelque chose ; continuer sur impression ferait osciller entre préférences stylistiques. - Ne pas demander de confirmation entre les tours : dès que l'utilisateur a choisi le mode loop, l'exécution jusqu'au nombre maximal de tours est approuvée. Seule une ligne de progrès est fournie ; on ne s'arrête pour consultation qu'en cas de blocage (compilation irréparable, différence de version entre sources et PDF, PDF illisible).
- Ne pas modifier les fichiers originaux : ne pas écrire dans
original/ni dans le PDF original et les sources de l'utilisateur. Les modifications se font sur les copies dans<ws>/src/. - Les règles obsolètes du guide sont traitées comme des préférences stylistiques : le guide (2014) déconseille la scission d'infinitif ou le « they » singulier, mais la plupart des guides de style actuels les acceptent. Ne pas les considérer comme des erreurs sauf si les instructions aux auteurs les interdisent.