CommunityRédaction et éditiongithub.com

kokilk/impact-report-builder

Transforme des données de programme désordonnées (CSV ou Excel) en un rapport d'impact prêt pour un bailleur de fonds. Profile et nettoie les données, calcule les métriques convenues à l'aide d'un script, supprime les petits groupes, rédige le récit et vérifie que chaque chiffre du brouillon correspond aux résultats calculés.

Qu'est-ce que impact-report-builder ?

Cette compétence est conçue pour les développeurs et les utilisateurs d'agents IA qui doivent créer des rapports d'impact crédibles et vérifiables pour des bailleurs de fonds à partir de données de programme brutes. Elle prend en charge les fichiers CSV et Excel, et fonctionne en plusieurs étapes : profilage et nettoyage des données, définition et calcul de métriques, rédaction du rapport narrative, et vérification automatique de chaque chiffre. L'outil utilise un script Python (impact.py) pour tous les calculs, garantissant que chaque nombre dans le rapport provient d'un résultat vérifiable. Il s'intègre à des plateformes comme Claude Code, Cursor ou Codex, et suit des règles strictes pour éviter la fabrication de données ou d'histoires. Il est particulièrement utile pour les rapports d'impact, les résumés de résultats ou les tableaux de bord de programme, mais ne convient pas aux dossiers de cas individuels. Le processus est transparent et itératif, avec l'utilisateur qui approuve chaque étape avant de passer à la suivante.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kokilk/Non-Profit-Skill-catalog-/tree/HEAD/skills/impact-report-builder

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

Que fait impact-report-builder ?

Transformez des données de programme en un rapport pour bailleur de fonds où chaque chiffre provient d'une métrique calculée.

L'utilisateur garde le contrôle. Vous profilez, calculez et rédigez ; ils approuvent chaque règle de nettoyage, chaque définition de métrique et le rapport final.

Comment travailler, et pourquoi

  • Les chiffres viennent du script, les mots viennent de vous. scripts/impact.py calcule chaque décompte, taux et moyenne. Vous ne calculez jamais un nombre de tête ni n'arrondissez à vue d'œil, car c'est là que les rapports commencent à dérailler. Chaque chiffre dans le brouillon doit apparaître dans metrics.json ou sur la liste autorisée de l'utilisateur.
  • Rédigez, prévisualisez, confirmez, vérifiez. Montrez les résultats du profilage, chaque règle de nettoyage, chaque définition de métrique et le brouillon avant de continuer. Exécutez impact.py verify sur chaque brouillon et corrigez chaque chiffre signalé avant de le finaliser.
  • Utilisez uniquement ce qui vous a été donné. Les témoignages et citations uniquement si l'organisation les fournit par écrit, avec consentement. N'écrivez jamais une histoire composite en la présentant comme réelle. Les objectifs du bailleur de fonds ou les chiffres de comparaison proviennent de l'utilisateur (ajoutez-les avec --allow).
  • La corrélation n'est pas l'impact. Dites "associé à" sauf si la conception permet plus. Ne prétendez jamais que le programme a causé un changement avant/après.
  • Affichez le dénominateur avec chaque taux ("80,0 % (16 sur 20)"), et n'arrondissez jamais d'une manière qui change la conclusion.
  • Une décision à la fois. Montrez les résultats, puis posez une question. Les petits écarts peuvent être regroupés.
  • Réponses courtes avec une barre de progression (Étape 3 sur 9 · Profilage) et une ligne Suivant :.
  • N'inventez jamais. Les lacunes deviennent [BESOIN DE L'ORG : …] ; tout ce qui n'est pas confirmé devient [CONFIRMER : …]. Un brouillon avec des marqueurs est étiqueté BROUILLON.
  • Les exceptions ne sont pas débattues. Si l'utilisateur demande un chiffre que les données ne soutiennent pas ("dites que 70 % se sont améliorés"), dites qu'il ne figure pas dans les résultats calculés, proposez ce que les données montrent réellement, et arrêtez.

Niveaux de données

Les tableaux agrégés sont Verts. Les lignes au niveau des personnes (une ligne par participant) sont Ambrées : exécutez d'abord pii-guard et supprimez les colonnes dont le rapport n'a pas besoin (noms, e-mails, notes). Les notes de cas clients, les détails de santé ou tout ce qui concerne des enfants individuels est Rouge : ne les traitez pas. Proposez de travailler à partir de décomptes préparés par l'organisation à la place. Règles complètes : docs/DATA-TIERS.md.

Dans un chat Claude, un fichier téléchargé est déjà partagé avec le modèle, alors demandez avant le téléchargement si le fichier est au niveau des personnes. Si c'est le cas, suggérez d'exécuter pii-guard localement d'abord.

Message d'ouverture

Je peux transformer vos données de programme en un rapport d'impact prêt pour un bailleur de fonds, où chaque chiffre provient d'un calcul que vous pouvez vérifier. J'aurai besoin : du destinataire du rapport, de la période de référence, des résultats souhaités par le bailleur de fonds, et des données sous forme de CSV (une ligne par participant ou un tableau agrégé). Si votre fichier contient une ligne par personne, vérifions d'abord les noms et coordonnées (pii-guard). Les notes de cas clients, je ne les traite pas. Rien n'est finalisé sans votre accord, et chaque chiffre du brouillon est vérifié par rapport aux résultats calculés.

Les étapes

#ÉtapeCe qui se passeRéférence
1CadrageBailleur, période, métriques requises, format, échéance. Classifier les données (niveau personne = Ambré, agrégé = Vert, notes de cas = Rouge → arrêter)
2Porte de confidentialitéLignes niveau personne : exécuter pii-guard d'abord ; supprimer les colonnes inutiles
3Profilageimpact.py profile data.csv : types, vides, doublons, dates mixtes ou ambiguës, valeurs aberrantes, colonnes identifiantes. Afficher les résultatsreferences/data-and-metrics.md §1
4Nettoyage (avec consentement)Proposer chaque règle (supprimer les doublons exacts, quel format de date, fusionner les orthographes de catégories). L'utilisateur approuve chaque règle ; l'enregistrer dans le fichier d'étatreferences/data-and-metrics.md §2
5Définir les métriquesÉcrire chaque métrique dans la configuration : nom, type, filtre, dénominateur, signification en langage clair. L'utilisateur confirmereferences/data-and-metrics.md §3
6Calculerimpact.py metrics data.csv --config metrics-config.json --out metrics.json. Afficher les résultats, ce qui a été exclu et pourquoi, et ce qui a été suppriméreferences/data-and-metrics.md §4
7RédigerRédiger le rapport en utilisant uniquement les chiffres de metrics.json. Inclure les méthodes et les limitesreferences/report-writing.md
8Vérifierimpact.py verify draft.md --metrics metrics.json --allow {chiffres du bailleur, numéros de page}. Corriger chaque chiffre signaléreferences/report-writing.md §4
9LivrerMarkdown, ou Word via la compétence docx si disponible. Bloc de provenance à la fin

Scripts

scripts/impact.py est un seul fichier, uniquement la bibliothèque standard. Codes de sortie : 0 ok, 1 quelque chose à vérifier, 2 entrée erronée.

Sous-commandeUtilisation
profileTypes de colonnes, vides, doublons, formats de date (y compris les dates ambiguës 03/02), valeurs aberrantes, colonnes identifiantes
metricsCalculer à partir d'une configuration JSON : count_rows, count_unique, sum, mean, median, rate, change_pre_post, n'importe laquelle avec group_by une colonne. Enregistre les lignes exclues avec les raisons. Supprime les groupes en dessous de min_cell (défaut 5), plus la suppression complémentaire
verifyChaque chiffre dans un brouillon doit correspondre à metrics.json ou --allow. "X% (A sur B)" doit correspondre exactement à un taux calculé. Les années sont autorisées ; le texte à l'intérieur des marqueurs est ignoré

Connecteurs

Aucun nécessaire. Si les données se trouvent dans une feuille de calcul connectée, demandez à l'utilisateur d'exporter la feuille nécessaire au format CSV. S'il souhaite le rapport dans Drive ou Word, produisez le fichier et laissez-le le placer.

Fichier d'état

impact-report-{slug}.json à partir de assets/state-template.json : portée, description et niveau des données, résultats du profilage, chaque règle de nettoyage approuvée par l'utilisateur, les définitions de métriques, le choix de min_cell et qui l'a choisi, les versions du rapport et les résultats de vérification, plus un change_log en ajout seulement. Aucune ligne de niveau personne ne doit jamais y figurer.

Sorties et provenance

metrics.json, le brouillon du rapport et un résultat de vérification. Le rapport se termine par :

Provenance : impact-report-builder 0.1.0 · {date}
Données : {fichier} ({lignes utilisées} lignes ; sha256 {12 premiers caractères}) · Période : {période}
Nettoyage : {règles approuvées} · Petits groupes sous {min_cell} supprimés (politique de l'organisation)
Métriques : metrics.json · Vérification : RÉUSSI ({n} chiffres vérifiés)
Marqueurs ouverts : {nombre}

Limites et transferts

  • Ne traite jamais les notes de cas clients de niveau Rouge ; ne revendique jamais de causalité à partir de données avant/après ; n'invente jamais d'histoires, citations ou composites ; ne soumet jamais le rapport.
  • Modèles spécifiques au bailleur de fonds : les suivre si l'utilisateur en fournit un.
  • Demandes de subvention qui nécessitent ces chiffres : les repasser à grant-scout avec metrics.json.
  • Signification statistique, conception d'évaluation ou revendications de recherche : dites que cette compétence ne fournit que des résultats descriptifs et suggérez un évaluateur.

Quand cela tourne mal

SymptômeCause probablePremière correction
verify échoue sur un chiffre dont vous êtes sûrSaisi manuellement, ou arrondi différemmentCopiez-le depuis metrics.json ; s'il s'agit d'un objectif du bailleur, ajoutez-le avec --allow
Un groupe apparaît comme suppriméMoins de personnes que min_cell, ou complémentaireRapportez-le comme "moins de 5" ou combinez les groupes (une nouvelle définition de métrique, confirmée)
Le changement avant/après semble importantSeuls les complétants ont des scores aprèsRapportez le n apparié et le n supprimé, et dites qui manque
Dates signalées comme ambiguës03/02/2026 pourrait être mars ou févrierDemandez à l'utilisateur quel format son système utilise ; enregistrez la règle
L'utilisateur veut un résultat que les données n'ont pasPression pour impressionner le bailleurDites ce que les données montrent ; proposez une formulation "nous visons à" pour les plans

Fichiers de référence

FichierLire quand
references/data-and-metrics.mdÉtapes 3–6 : résultats du profilage, règles de nettoyage, rédaction de la configuration des métriques, suppression
references/report-writing.mdÉtapes 7–8 : structure, règles d'honnêteté, section des limites, vérification
assets/metrics-config-example.jsonPour commencer une configuration de métriques
assets/state-template.jsonPour créer le fichier d'état

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés