
Post Mortem
Promote high-scoring session learnings into MEMORY.md and agent constraints after AgentOps Phase 3 processing.
Overview
Post-mortem is a journey-wide agent skill that promotes Phase 3 learnings scoring ≥6 into MEMORY.md—usable whenever a solo builder needs to compound agent memory after coding sessions without manual curation drift.
Install
npx skills add https://github.com/boshu2/agentops --skill post-mortemWhat is this skill?
- Promotion threshold: composite score ≥ 6 from confidence + citations + recency
- Score components: high/med/low confidence (3/2/1), citation count, recency windows (<7d, <30d)
- Eligibility gated on Phase 3 learnings newer than .agents/ao/last-processed marker
- Auto-managed MEMORY.md sections: Last Session, Architecture, Process, and related slots
- Prevents re-scoring stale learnings unless the last-processed cursor is reset
- Confidence weights: high=3, med=2, low=1
- Recency: <7 days=3, <30 days=2, else=1
Adoption & trust: 849 installs on skills.sh; 384 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent sessions produce useful learnings but nothing systematic decides what gets written to MEMORY.md, so context resets or fills with low-value notes.
Who is it for?
Builders running boshu2/agentops who want scored, cursor-gated promotion from session learnings to persistent agent memory.
Skip if: Projects without AgentOps Phase 3 pipelines or teams that manage memory entirely by hand without automated scoring.
When should I use this skill?
After AgentOps Phase 3 has produced new learnings and you need Phase 4 promotion to MEMORY.md and improvement queues.
What do I get? / Deliverables
Eligible learnings above the score threshold land in the correct MEMORY.md sections with architecture and process entries ready for the next AgentOps improvement cycle.
- Scored promotion decisions for eligible learnings
- Updated MEMORY.md section entries
- Queued improvements from high-scoring insights
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Run Phase 4 after a feature sprint so architecture decisions score into MEMORY.md.
Promote review findings with multiple citations after a code-review-heavy session.
Adjust promotion threshold behavior when learnings age past the 30-day recency bucket.
Capture recurring support-resolution patterns as process entries for the next agent shift.
How it compares
AgentOps activation policy for MEMORY.md, not a generic incident post-mortem template for production outages.
Common Questions / FAQ
Who is post-mortem (AgentOps) for?
Solo and indie developers using AgentOps with Claude who need deterministic rules for turning session learnings into MEMORY.md and follow-on constraints.
When should I use AgentOps post-mortem?
After Build sessions when Phase 3 has new learnings, during Ship review when you want process patterns remembered, and in Operate iterate when tuning how much the agent retains between runs.
Is post-mortem safe to install?
It describes filesystem writes to project memory paths under your Claude config; review the Security Audits panel on this page and confirm paths before enabling auto-promotion.
SKILL.md
READMESKILL.md - Post Mortem
# Activation Policy (Phase 4) Governs how high-scoring learnings from Phase 3 are promoted to MEMORY.md, compiled into constraints, and queued as improvements. Only learnings newer than the last-processed marker are candidates. ## 1. Promotion Threshold A learning is promoted to MEMORY.md when its composite score reaches **6 or higher**. **Score formula:** ``` score = confidence + citations + recency ``` | Component | Values | |-----------|--------| | **Confidence** | `high` = 3, `med` = 2, `low` = 1 | | **Citations** | Base = 1; +1 per additional citation (e.g., 3 citations = 3) | | **Recency** | < 7 days = 3, < 30 days = 2, otherwise = 1 | **Maximum possible score:** 3 + N + 3 (unbounded on citations, but 9 is typical ceiling). **Eligibility gate:** Only learnings processed in Phase 3 (newer than the `last-processed` marker in `.agents/ao/last-processed`) are scored. Older learnings are never re-evaluated unless the cursor is manually reset. ## 2. MEMORY.md Section Schema Promoted entries are written into auto-managed sections of the project MEMORY.md at `~/.claude/projects/<project-path>/memory/MEMORY.md`. | Section | Purpose | Example Entry | |---------|---------|---------------| | Last Session | Most recent session summary | Date, summary, key outcome | | Architecture | Structural decisions and patterns | "Council is the core validation primitive -- no upstream deps except optional standards" | | Process | Workflow and execution patterns | "Pre-mortem mandatory for 3+ issue epics (7 consecutive positive ROI)" | | Debugging | Troubleshooting insights | "macOS cp alias prompts on overwrite -- use /bin/cp to bypass" | | Patterns | Reusable patterns and anti-patterns | "Lead-Only Commit: workers write, never git commit" | | Key Lessons | High-confidence cross-cutting lessons | "Skills source of truth is THIS REPO -- never edit installed copies" | **Section ownership:** Phase 4 manages all sections except `Last Session`, which is updated by the session-close hook. If a learning doesn't clearly fit a section, default to `Key Lessons`. ## 3. Per-Section Cap - **Maximum 15 entries per section.** - **200-line hard limit** on total MEMORY.md content. Claude Code auto-loads project memory on every session start; content beyond 200 lines is truncated and invisible to the agent. - When a section exceeds 15 entries after a proposed insertion: trigger eviction (see Section 5) before writing the new entry. - The 200-line limit is a secondary backstop. Even if all sections are under 15 entries, if total line count would exceed 200, evict the globally lowest-scoring entry across all sections. ## 4. Entry Format Each promoted entry is a **single line** for scannability: ``` - **<Short Title>**: <One-sentence insight> (source: `.agents/learnings/<file>`) ``` Rules: - Title is 2-5 words, title-cased. - Insight is one sentence, max 120 characters. - Source path enables traceability back to the full learning artifact. - No multi-line entries. If an insight can't fit in one sentence, it needs to be split or summarized more aggressively. **Example:** ``` - **Lead-Only Commit**: Workers write files but never git commit; lead validates and commits per wave (source: `.agents/learnings/2026-02-08-crank-patterns.md`) ``` ## 5. Eviction Policy When adding a new entry would exceed the per-section cap (15 entries): 1. **Sort** existing entries in the target section by citation count (ascending), then by age (oldest first) as tiebreaker. 2. **Remove** the entry with lowest citations + oldest date. 3. **Log** the eviction by appending to `.agents/ao/evictions.log`: ``` <ISO-8601-timestamp> EVICTED: <entry-title> from <section> (citations=N, age=Nd) ``` 4. **Preserve source:** If the evicted entry's source learning still exists in `.agents/learnings/`, it remains there. Eviction removes the entry from MEMORY.md only -- the full learning artifact is never deleted by this process. **Global eviction** (200-line backstop): When