Synthèse automatique
Valide que la session de travail est correctement terminée en vérifiant que l'état est enregistré et qu'une preuve d'activité existe.
Points forts
- Évite la perte de progrès en forçant la vérification de l'état sauvegardé
- Fournit un résumé structuré de la session
- Détecte les états orphelins ou incohérents
- Remplace le hook Stop de Claude Code pour Codex CLI
Limites
- Nécessite une invocation manuelle – ne s'exécute pas automatiquement
- Ne peut pas bloquer la fermeture, seulement avertir
- Dépend de la structure de fichiers active_context.yaml et .proof/session_log.jsonl
À la fin de chaque session de codage, avant de fermer l'outil CLI ou de changer de projet.
Pour des vérifications rapides où une validation exhaustive n'est pas nécessaire ou quand l'utilisateur a besoin de terminer immédiatement sans enregistrement.
Analyse de sécurité
SûrThe skill only reads local state files and runs a safe ls command to check for proof file existence. No external network calls, no destructive operations, no obfuscated code, and no data exfiltration.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
I'm done for today. Please run the session completion check and let me know if everything is saved properly.Before I close the CLI, validate my session to make sure all progress and proof are captured.name: edge-done description: Validate session completion before ending work. Use when finishing a coding session to ensure state was saved and proof exists.
Session Completion Validation
This skill replaces the Stop hook from Claude Code. Run it before ending your session to validate that work was properly recorded.
When to Use
Call this skill when:
- Finishing work for the session
- Before closing Codex CLI
- When switching to a different project
- The user says "done", "finished", "that's all", "goodbye"
Instructions
1. Read Current State
Load active_context.yaml and check:
| Check | Requirement | Validation |
|-------|-------------|------------|
| State exists | active_context.yaml file present | File can be read |
| Objective set | objective field has value | Not null or empty |
| Plan exists | plan array has items | At least one step |
| Progress made | At least one step completed OR in_progress | Status check |
2. Check for State Modification
Compare the current state against what was loaded at session start:
- Were any steps advanced?
- Were any steps marked completed?
- Was any memory added?
If NO state modification occurred:
WARNING: No progress recorded this session
- No steps were completed
- No steps were advanced
- State is unchanged from session start
Did you forget to update active_context.yaml?
3. Check for Proof
Look for evidence of work in .proof/session_log.jsonl:
# Check if proof file exists and has entries
ls -la .proof/session_log.jsonl
| Condition | Status | |-----------|--------| | File exists with entries | Proof captured | | File missing or empty | No proof recorded |
If NO proof exists:
WARNING: No proof captured this session
- .proof/session_log.jsonl is missing or empty
- Run $edge-log to record what you did
4. Validate Plan Consistency
Check for orphaned or inconsistent states:
| Issue | Detection | Suggestion | |-------|-----------|------------| | Step marked in_progress but no current_step | Orphaned work | Mark complete or reset | | current_step points to completed step | Stale pointer | Advance current_step | | Blocked steps without notes | Missing context | Add blocking reason |
5. Generate Session Summary
Produce a summary of the session:
========================================
SESSION COMPLETION CHECK
========================================
Session: [session.id]
Objective: [objective]
Progress:
Steps completed this session: [N]
Current step: [current_step] - [description]
Overall progress: [completed/total] steps
State Changes:
- [List of what changed in active_context.yaml]
Proof Captured:
- [N] log entries in .proof/session_log.jsonl
- Last entry: [timestamp] - [action summary]
Validation:
[x] State file modified
[x] Proof file has entries
[x] Plan is consistent
[ ] Issue: [if any]
Status: READY TO END | NEEDS ATTENTION
========================================
6. Block or Allow
If all checks pass:
Session validation PASSED
You may end this session. Progress and proof are recorded.
Next session: Run $edge-context to reload state.
If checks fail:
Session validation FAILED
Issues that need attention:
1. [Issue 1]
2. [Issue 2]
Suggested actions:
- [How to fix issue 1]
- [How to fix issue 2]
Please resolve these before ending the session, or acknowledge:
"End anyway - I understand progress may be lost"
Comparison to Claude Code Stop Hook
| Claude Code (Hook) | Codex CLI (Skill) | |--------------------|-------------------| | Automatic - runs when session ends | Manual - user must invoke | | Blocks termination if checks fail | Warns but cannot block | | State hash comparison | Manual state review | | Proof file existence check | Same check, manual |
Quick Validation
For a fast check without full summary:
Quick Session Check:
- State modified: [yes/no]
- Proof exists: [yes/no]
- Ready to end: [yes/no]
Tips
- Run early, run often: Check validation before committing to end
- Log as you go: Use
$edge-logafter each major action - Update state promptly: Mark steps complete immediately after finishing
Integration with Other Skills
The $edge-step skill should automatically call $edge-log after completing each step, which means proof should accumulate naturally.
Recommended workflow:
$edge-context- Load state at session start$edge-step(repeats) - Execute work$edge-done- Validate before ending
If Validation Fails
No state modification
# Add a note to active_context.yaml showing session activity
# Even if no steps completed, document what was investigated
No proof captured
# Create proof retroactively
mkdir -p .proof
echo '{"timestamp":"<now>","type":"session_summary","action":"<what you did>","outcome":"<result>"}' >> .proof/session_log.jsonl
Inconsistent plan state
# Fix in active_context.yaml
current_step: [correct value]
plan:
- description: "..."
status: [correct status]
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/session-completion-validation-mm78nnu0/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/session-completion-validation-mm78nnu0' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/session-completion-validation-mm78nnu0/download' --output '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md.part' && mv '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md.part' '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md' && test -s '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/edge-done' && cp -R '.skill-downloads/session-completion-validation-mm78nnu0' '.claude/skills/edge-done'Codex
test -f '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md' && test -s '.skill-downloads/session-completion-validation-mm78nnu0/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/edge-done' && cp -R '.skill-downloads/session-completion-validation-mm78nnu0' '.agents/skills/edge-done'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/session-completion-validation-mm78nnu0'openskills read 'session-completion-validation-mm78nnu0'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/session-completion-validation-mm78nnu0/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Lecteur PDF
Productivite
Lit et extrait le texte de fichiers PDF (rapports, contrats, tableurs). Gère les fichiers locaux, les URL et les pièces jointes WhatsApp. Utilisez-le dès qu'un contenu PDF est nécessaire, même sans demande explicite.
Workflows de messagerie Discord
Productivite
Utilisez l'outil message pour envoyer, modifier et modérer des messages Discord avec des composants interactifs.
Aperçu interactif des verdicts
Productivite
Générer un aperçu HTML interactif des verdicts (garder/supprimer) pour la revue par le mainteneur, puis traiter le JSON de retour.