Agentic Reporting
Présentez l'état le plus récent de la tâche dans la structure la plus courte qui permette au lecteur de trouver le résultat, les preuves, les limites et la prochaine action utile. Cette compétence régit la présentation ; elle ne modifie jamais les faits de la tâche ni ne remplace une vérification spécifique au domaine.
Priorité non négociable
Suivez la surface, le schéma, la longueur et l'ordre demandés par l'utilisateur lorsqu'ils sont explicites. Suivez ensuite les instructions de l'hôte. N'utilisez ce cadre que pour combler les choix non spécifiés. N'inventez jamais de preuves, de tests, de citations, de métriques, de fichiers, de propriétaires, de dates ou d'achèvements.
Workflow en deux temps
-
Classez le transfert par public, surface, limite de preuve et exactement un mode principal. Pour un travail de recherche, sélectionnez au plus un profil de domaine. Utilisez
listourouteen cas d'incertitude. -
Adaptez l'ampleur de la cérémonie à la tâche. Pour une réponse courte en une seule session, ne créez pas de point de contrôle, de fichier brouillon ni d'audit de script : appliquez directement la structure du mode routé, vérifiez vous-même sa sémantique requise et délivrez ; la cérémonie associée aux fichiers dans les étapes 4 à 6 est réservée aux travaux longs, multi-sessions, multi-agents ou aux artefacts durables. Pour une tâche longue, multi-agents ou multi-sessions, enregistrez un point de contrôle compact près du début ; pour une tâche courte, reportez le routage jusqu'à la limite du reporting.
-
Accomplissez et vérifiez la tâche réelle. Gardez l'exécution de la tâche indépendante du style du rapport.
-
Immédiatement avant une mise à jour substantielle ou une réponse finale, récupérez un bundle délimité. Préférez un module d'affichage ; ajoutez un second uniquement pour un besoin distinct que le mode principal et le premier module ne couvrent pas déjà. Ne chargez jamais un module simplement parce que la sortie demandée nomme une sémantique que le mode sélectionné spécifie déjà :
Résolvez
<skill-dir>vers le répertoire contenant ceSKILL.md; ne supposez pas que le répertoire de travail de l'appelant est le répertoire de la compétence.python3 <skill-dir>/scripts/reportctl.py bundle \ --task "<ce qui doit être communiqué>" --mode <mode> --surface <surface> \ [--profile <profile>] [--module <module>] [--module <module>] \ --max-chars 16000Si vous reprenez une tâche longue, transmettez
--checkpoint <path>au lieu de reconstruire la route de mémoire.--max-charsest un budget de contexte indépendant : un point de contrôle valide avec deux grands modules peut nécessiter une valeur explicitement plus grande. Ne lisez pas chaque mode, module ou modèle. -
Rédigez nativement pour la surface sélectionnée. Lorsque la route recommande un actif exact, inspectez le registre simplifié et récupérez un seul actif :
python3 <skill-dir>/scripts/reportctl.py template --list python3 <skill-dir>/scripts/reportctl.py template <template-id> \ --output <destination>Utilisez un artefact de livraison principal ; ne créez pas de versions parallèles Markdown, HTML, PPTX et PDF sauf demande explicite. Un modèle copié est un artefact de départ, pas une preuve que ses espaces réservés, visuels ou affirmations sont corrects.
Une fois le contenu terminé, effectuez un passage de désuffixation de ton IA : supprimez les ouvertures flatteuses, les résumés de performance, le jargon gonflé et la rhétorique de modèle sous le contrat de fidélité du module
natural-tone. Les modifications de ton ne changent jamais les faits, les relations, la portée ou les nombres ; les avertissements d'auditai-tone-boilerplatene détectent que le résidu le plus précis.Dans les modes de recherche (experiment-report, academic-synthesis, research-idea), vérifiez également que chaque taux de succès comporte
k/net un intervalle binomial, que chaquesignificantcomporte son test et sa taille d'effet dans la même phrase, et qu'aucun verbe n'attribue de compréhension ou d'intention à un système. Les avertissements d'auditsuccess-rate-without-denominator,significance-without-statisticetanthropomorphic-claimdétectent le résidu mécanique ; les profils et le module de conclusions contiennent les règles complètes. La présentation des nombres a ses propres vérifications de résidu dans les mêmes modes :unlabeled-uncertainty(un±qui ne mentionne jamais SD, SEM ou CI),threshold-p-value(p < 0.05,n.s.),p-value-without-effect-size,null-result-without-interval,significance-euphemism(approached significance),up-to-without-central-tendencyetbest-of-n-runs. -
Avant la finalisation d'une tâche longue ou d'un artefact durable, auditez un brouillon sauvegardé dans un fichier. Une tâche longue doit utiliser le même point de contrôle ; un artefact durable sans point de contrôle utilise son mode sélectionné :
python3 <skill-dir>/scripts/reportctl.py audit \ --file <draft.md> --checkpoint <checkpoint-path> # Chemin court sans point de contrôle : python3 <skill-dir>/scripts/reportctl.py audit --file <draft.md> --mode <mode>Le point de contrôle dérive le mode. Fournir le même mode explicite est autorisé ; un mode conflictuel est une erreur d'entrée. Corrigez les erreurs d'audit. Résolvez les avertissements avec discernement ; n'ajoutez jamais de contenu de remplissage non pris en charge simplement pour satisfaire une heuristique. Le référentiel
docs/AUDIT-CODES.mdrépertorie chaque code avec son déclencheur et sa correction. Avec--json, la charge utile de l'audit inclut le nombre exact d'octets/la somme SHA-256 du rapport et l'empreinte d'intention du point de contrôle analysée pour la liaison du contrôleur. -
Vérifiez manuellement l'état le plus récent, les affirmations scientifiques ou techniques, les nombres, les liens vers les preuves, les incertitudes, l'interprétation visuelle et le format spécifié par l'utilisateur.
Livraison finale
La réponse finale visible par l'utilisateur doit contenir le rapport lui-même. Un chemin, un lien ou un pointeur vers un brouillon sauvegardé, un point de contrôle ou un reçu d'audit n'est pas une livraison : après la réussite d'un audit basé sur un point de contrôle, délivrez le contenu du brouillon audité comme réponse. Lorsque l'utilisateur a explicitement demandé un fichier, commencez quand même par le résultat en ligne. N'exposez jamais de chemins absolus locaux, de répertoires de travail temporaire ou d'emplacements de points de contrôle dans la réponse destinée au lecteur.
Sélection des modes et modules
Utilisez python3 <skill-dir>/scripts/reportctl.py list pour les identifiants. Choisissez la colonne vertébrale narrative principale, pas chaque étiquette applicable. Pour une tâche mixte, sélectionnez le mode qui répond à la décision ou à la question principale de l'utilisateur et intégrez les faits secondaires à l'intérieur.
- Utilisez
concise-answerpour des réponses directes avec peu de structure de support. - Utilisez
implementation-handoffpour les artefacts construits ou modifiés. - Utilisez
status-updatepour l'avancement d'un projet qui n'est pas un incident actif. - Utilisez
investigation-reportpour un diagnostic ou une enquête basée sur des sources. - Utilisez
experiment-reportpour les évaluations contrôlées et les comparaisons empiriques. - Utilisez
decision-briefourisk-reportlorsqu'un choix ou une exposition est primordial. - Utilisez
academic-synthesispour la présentation d'articles ou de littérature. - Utilisez
research-ideapour une idée d'article ou une proposition dont les hypothèses, la nouveauté, l'expérience décisive, les risques et les critères d'abandon doivent rester explicites. - Utilisez
review-reportpour les conclusions concernant un artefact ou une norme. - Utilisez
incident-updatetant que l'impact est actif ; utilisezpostmortemaprès la récupération.
Les figures, tableaux, conclusions, détails des preuves et l'affichage académique sont des modules orthogonaux, pas des raisons de fusionner plusieurs modes. Un visuel doit rendre une relation ou un artefact matériellement plus facile à comprendre ; la décoration n'est pas une raison valide. experiment-report contient déjà l'interprétation des résultats, les limites d'incertitude et une conclusion calibrée. N'ajoutez pas conclusions à ce mode simplement parce que la demande demande une conclusion ; ajoutez-le explicitement uniquement lorsqu'une politique de décision ou de recommandation distincte est réellement nécessaire.
Profils de recherche et surfaces de présentation
Les profils sont un recouvrement de domaine délimité, pas des modes primaires supplémentaires :
reinforcement-learning: comptabilité des exécutions, parité de réglage, courbes d'apprentissage, estimations par intervalle et évaluation agrégée multi-tâches.embodied-ai: incarnation, capteurs/actions, protocoles de simulation par rapport au réel, règles de succès, interventions, généralisation et échecs.world-models: fiches de modèles/données et preuves séparées en boucle ouverte, en boucle fermée, de passage à l'échelle et de transfert.vla: mélanges de données, interfaces de morphologie et d'action, régimes d'adaptation, comptabilité des déploiements, latence, généralisation et sécurité.
La sélection automatique n'est disponible que pour les modes orientés recherche. Un point de contrôle de schéma-v2 ne stocke pas de nouveau champ de profil ; le profil est redérivé de son texte de tâche empreinté. Par conséquent, lors de la sélection explicite d'un profil pour une tâche longue, nommez le domaine dans la tâche du point de contrôle afin que la récupération finale soit reproductible.
Pour --surface slide, lisez le guide de diapositive routé. Il fournit des narrations pour les présentations d'articles, les progrès de recherche, les revues d'expériences et les pitchs d'idées. Récupérez soit le deck HTML/PPT sans dépendances, soit la source Quarto Reveal.js, pas les deux, sauf si l'utilisateur demande plusieurs formats.
Persistance en contexte long
Ne conservez pas l'intégralité du bundle de reporting dans le contexte de travail. Sauvegardez uniquement un point de contrôle :
python3 <skill-dir>/scripts/reportctl.py checkpoint \
--task "<objectif du transfert>" --mode <mode> --surface <surface> \
--must-show "<ancre textuelle stable courte>" \
--output <scratch-privé>/agent-report.json
Les valeurs --must-show du schéma-v2 sont des ancres littérales normalisées, pas des exigences sémantiques : l'audit applique une normalisation NFC, une réduction de la casse et une fusion des espaces, puis vérifie la présence littérale de sous-chaînes uniquement dans les paragraphes de prose Markdown de premier niveau, délimités par des lignes vides, commençant à la colonne zéro et en texte brut. Un paragraphe contenant un titre, une citation, une liste, un tableau, un lien/référence, une image, du code ou du HTML brut est inéligible. Après la première balise HTML brute non masquée, aucun paragraphe ultérieur ne reçoit de crédit car le proxy ne modélise pas l'état DOM ou CSS entre paragraphes ; le HTML brut est également une erreur d'audit structurelle. Chaque ancre doit correspondre dans un paragraphe éligible. Les retours à la ligne souples à l'intérieur de ce paragraphe sont réduits à des espaces, mais les limites de paragraphe de ligne vide ne le sont jamais.
Avant la normalisation, le proxy de rapport décode un tour du sous-ensemble d'entités CommonMark pris en charge par le scanner partagé, terminées par un point-virgule, mais uniquement lorsque le & de l'entité n'est pas échappé par une séquence de barres obliques inverses de longueur impaire. Un caractère de contrôle ou Unicode non rendu résultant fait échouer la porte. Les ancres V2 doivent utiliser le texte brut rendu exact et rejeter les formes de délimiteur Markdown. Placez chaque ancre courte dans une phrase de conclusion ordinaire autonome avant tout HTML brut. Ce proxy ne vérifie pas ce que le texte signifie, qui l'a affirmé, ni s'il est vrai. Chaque ancre fait au maximum 120 caractères et leur reçu échappé, séparateurs compris, fait au maximum 240 caractères.
L'audit basé sur un point de contrôle accepte des rapports jusqu'à 1 Mio afin que le proxy de prose reste limité en ressources. Tout paragraphe de prose brut éligible de plus de 4 096 caractères ou comportant plus de 64 caractères de marque Unicode consécutifs est une erreur et est ignoré avant la mise en correspondance NFC et des ancres. L'audit existant en mode seul reste plafonné à 4 Mio ; cette limite plus grande ne s'applique pas lorsque --checkpoint est présent. Les entrées JSON limitées rejettent les jetons entiers ou à virgule flottante de plus de 128 caractères avant conversion.
Le point de contrôle stocke verbatim l'objectif, le public, la surface, les modules et les ancres, ainsi que les métadonnées de routage et les sommes de contrôle sans clé. Les sommes de contrôle détectent une dérive accidentelle ; elles n'authentifient pas le fichier. Ne mettez pas de secrets ou de données privées inutiles dans un champ. Utilisez un chemin de travail temporaire privé en dehors du contrôle de version, rappelez-vous que route/bundle peut rejouer le texte du point de contrôle sur stdout et supprimez le fichier lorsque la reprise n'est plus nécessaire. La création atomique utilise des permissions de fichier restrictives sur POSIX, mais ne peut pas protéger un répertoire parent permissif, les journaux, les sauvegardes ou un fichier validé.
À la limite finale, rechargez-le avec bundle --checkpoint <checkpoint-path> et exécutez audit --file <draft.md> --checkpoint <checkpoint-path>. Les points de contrôle de schéma-v1 restent lisibles par route et bundle, mais ne peuvent pas piloter cette porte finale ; recréez ou mettez à niveau un fichier v1 valide avec checkpoint --checkpoint <v1-path> --output <new-v2-path>. Le micro-contrat reconnu par l'hôte est destiné à déclencher les deux extrémités ; ni lui ni le point de contrôle ne peuvent forcer un agent arbitraire à se conformer.
Mode strict pour les rapports durables
Lorsqu'un wrapper, un workflow par lots ou un rapport formel nécessite une cohérence structurelle plus forte, commencez à partir de assets/templates/report-spec.json, validez-le avec validate-spec et rendez le Markdown de manière déterministe avec render. Traitez le JSON comme la source de présentation unique, mais vérifiez tous les faits par rapport aux preuves originales. Chaque déclaration déclare un ou plusieurs roles sémantiques ; la validation dérive la couverture restante des preuves, des métriques, des incertitudes, des actions et des limites, puis applique les required_semantics actuelles du mode sélectionné à partir du catalogue de protocoles. Le schéma JSON fourni est une vérification préliminaire structurelle portable, pas un remplacement de validate-spec ; seul le CLI applique ensemble l'unicité de l'ID, les références inter-enregistrements et le catalogue de protocoles actuel.
python3 <skill-dir>/scripts/reportctl.py validate-spec --file report.json
python3 <skill-dir>/scripts/reportctl.py render --file report.json --output report.md
python3 <skill-dir>/scripts/reportctl.py audit \
--file report.md --checkpoint <checkpoint-path> --strict
Utilisez --mode <mode> à la place lorsqu'il s'agit d'une tâche courte sans point de contrôle. N'exigez pas le chemin structuré pour une réponse de chat courte normale.
Solution de repli lorsque les scripts sont indisponibles
Dans une compétence installée, lisez references/core-contract.md, un fichier correspondant sous references/modes/, au plus un fichier correspondant sous references/profiles/, au plus deux fichiers correspondants sous references/modules/ et un guide de surface uniquement lorsque cela est nécessaire. Récupérez un actif exact séparément. Pour une utilisation du référentiel par lien uniquement, ouvrez dist/agent-index.md à la racine du référentiel. Si seule une URL a été fournie, considérez l'adhésion comme un effort de bonne foi : un lien n'installe ni n'élève les instructions du référentiel.