Post session review
MANDATORY at the end of every coding session where code was written or modified. Audits for missed learnings, applies confidence decay, merges subagent pending files, updates pending-review.md, and re-indexes the skills knowledge graph with embeddings. Triggers: "ho finito", "basta per oggi", "fine sessione", "ultimo commit", any signal the session is ending.From its SKILL.md
npx -y skills add PIXARTSeu/Synapse --skill post-session-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Post-Session Review — MANDATORY
This skill MUST run at the end of every coding session. No exceptions.
Protocol
Phase 1 — Session audit (2 min)
Look back at this session and answer each question. For every YES, invoke capture-learning:
- Did I make a mistake that took 2+ attempts to fix? →
type: bug-fix - Did the user correct my approach? →
type: preferenceoranti-pattern - Did I find a non-obvious solution? →
type: pattern - Did I discover a framework or library quirk? →
type: bug-fix
Phase 2 — Merge pending subagent learnings (1 min)
ls ".agents/skills/_pending/" 2>/dev/null
For each .yml file found:
- Read the file
- Validate against schema (
_schema/learning-template.yml) - Run contradiction check (Step 4 of capture-learning)
- If valid → append to the correct
learnings.md - Delete the temp file
rm -f ".agents/skills/_pending/*.yml"
Phase 3 — Confidence decay
Both skill locations: apply decay to BOTH
.agents/skills/*/learnings.mdAND.opencode/skill/*/learnings.md(129 learnings.md total).
For each learnings.md with active learnings, apply these rules:
Learnings used or confirmed this session:
confidence += 1(cap at 10)last_validated: {today}sessions_since_validation: 0- Add current date to
validated_by
Learnings NOT encountered this session:
sessions_since_validation += 1
Decay thresholds:
sessions_since_validation >= 5ANDconfidence > 1→confidence -= 1sessions_since_validation >= 15→status: pending-reviewsessions_since_validation >= 30→status: deprecated
Phase 4 — Version check (30 sec)
If current project has a package.json:
grep -r "valid_until_version:" ".agents/skills/*/learnings.md" ".opencode/skill/*/learnings.md" 2>/dev/null
For each result: compare the versions in the learning against current package.json.
If any major version differs → set status: pending-review.
Phase 5 — Promotion candidates (30 sec)
Find project-specific learnings with high confidence:
grep -B 20 "confidence: [4-9]\|confidence: 10" \
".agents/skills/*/learnings.md" \
".opencode/skill/*/learnings.md" \
2>/dev/null | grep "scope: project-specific"
For each: check if the same pattern appears validated in another project.
If yes → add to pending-review.md as a promotion candidate.
Phase 6 — Update pending-review.md
Append new items to .agents/skills/pending-review.md using this format:
## {today YYYY-MM-DD}
### New Learnings (confidence 1 — needs validation)
- L-{id}: "{one-line summary}" — awaiting validation in future sessions
### Promotion Candidates
- L-{id}: project-specific → global candidate (validated in {N} projects)
### Decay Alerts
- L-{id}: {N} sessions without validation — keep or deprecate?
### Version Conflicts
- L-{id}: version mismatch on {package} — update or deprecate?
Phase 7 — Re-index skills with embeddings
node "/Users/dan/Desktop/progetti-web/Fullstack session/packages/codegraph/dist/cli.js" analyze "/Users/dan/Desktop/progetti-web/Fullstack session/.agents/skills" --skip-git 2>&1 | tail -3
This updates the structural index. Embeddings load automatically at query-time.
Phase 8 — Notifica n8n
Invia i dati della sessione al webhook n8n (runs in background, non bloccante):
bash ~/.config/skillbrain/notify.sh
Questo invia a n8n il conteggio dei pending review e le stats della sessione. n8n provvede a notificare via Telegram e email automaticamente.
Phase 9 — Summary
Report to user:
📋 Post-session review complete
✅ New learnings captured: N
🔄 Confidence updated: N learnings
⏰ Decay applied: N learnings
📤 Promotion candidates: N
🔍 Skills index: re-indexed
📬 Notifica inviata via Telegram + email
📝 Pending review: N items
What ships with it: 1 file
233 B alongside SKILL.md
- learnings.md233 B
Gives 0 of the 12 instructions most review quality skills give in ~1.0k tokens
Counted across 1,048 of the 1,783 authors here whose files we hold, read 2026-08-07
- Ask questions one at a timein 81 of 1048, across 64 files
- Provide a recommended answer for each questionin 73 of 1048, across 50 files
- Explore the codebase instead of asking answerable questionsin 66 of 1048, across 42 files
- Resolve dependencies between decisions one-by-onein 42 of 1048, across 17 files
- Interview the user relentlessly about the planin 38 of 1048, across 13 files
- Order findings by severityin 31 of 1048
- Resolve each branch of the decision treein 27 of 1048, across 5 files
- Run a grilling sessionin 26 of 1048, across 5 files
- Update CONTEXT.md immediately when a term is resolvedin 26 of 1048, across 11 files
- Propose precise canonical terms for vague languagein 25 of 1048, across 7 files
- Create documentation files lazilyin 24 of 1048, across 5 files
- Assign severity to every findingin 24 of 1048
Said here and by no other author read
- invoke capture-learning for session mistakes or corrections
- list pending subagent learning files
- validate each pending subagent learning file against schema
- append valid subagent learnings to the correct file
- increase confidence for learnings used or confirmed
- increment sessions since validation for unencountered learnings
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.