Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Coding
AAR Loop
Try itAAR with folder-based lessons, auto-trigger for all tasks, US Army 4-question method for AI agents.
What it does
A human-run version of the Army's After Action Review, pointed at an AI agent's own session. Ask the same 4 questions the Army asks after every rotation at the National Training Center, answer them honestly about what the agent just did, and write down what changed as a result. Do this every sessio…
The skill document
AAR Loop
A human-run version of the Army's After Action Review, pointed at an AI agent's own session. Ask the same 4 questions the Army asks after every rotation at the National Training Center, answer them honestly about what the agent just did, and write down what changed as a result. Do this every session and the agent accumulates real, checkable lessons instead of starting from zero each time.
Where this comes from
The US Army formalized the After Action Review in the mid-1970s, after Vietnam, as a structured debrief for training exercises. Became official doctrine in 1993 with field manual TC 25-20. Fifty years of practice on one method because it works on a simple mechanism: separate the debrief from blame, and the same mistake gets caught before it repeats.
This skill borrows that mechanism for AI agent sessions. Research parallel: Reflexion (Shinn et al., 2023) showed agents that generate a verbal self-reflection after a failed attempt and carry that reflection into the next attempt outperform agents with no memory of what went wrong.
The 4 questions
Ask all four, in order, about the task or session just finished. Answer briefly and honestly.
- What was supposed to happen? The plan, the instruction, the expected outcome.
- What actually happened? The real outcome, including partial completions, errors, silent failures.
- Why was there a difference? The actual mechanism, not a mood. "The API caps batch writes at 100" is a why. "I should have been more careful" is not.
- What do we do the same or differently next time? The concrete rule that would have prevented the gap.
If the answer to question 3 is "nothing went wrong, this worked exactly as planned," that is a valid AAR. Write down what worked as a lesson too.
Folder Structure
Lessons are stored as individual files for scalability:
workspace/
├── LESSONS.md # Index file (like MEMORY.md)
└── lessons/
├── 2026-07-31_aar-skill-install.md
├── 2026-07-30_thinking-leak.md
└── 2026-07-29_config-override.md
Individual Lesson File Format
Each lesson file in lessons/ folder:
---
date: 2026-07-31
tags: [config, bug]
task: "Fix thinking leak"
fix_applied: true
---
## What Was Supposed To Happen?
[Expected outcome]
## What Actually Happened?
[Actual outcome]
## Why Was There A Difference?
[Root cause analysis]
## What Can We Learn?
[Concrete, checkable lesson]
## Fix Plan (if applicable)
**Target:** `AGENTS.md`
**Edit:** Add rule about agent-level config override
Index File (LESSONS.md)
LESSONS.md serves as an index (like MEMORY.md):
# Lessons Index
## 2026-07-31 — AAR Skill Installation
- Task: Install AAR skill dari GitHub
- Lesson: Skill dari GitHub perlu manual install, ClawHub belum ada
- Detail: [lessons/2026-07-31_aar-skill-install.md](lessons/2026-07-31_aar-skill-install.md)
- Tags: skill, install
## 2026-07-30 — Thinking Leak Fix
- Task: Fix internal monolog bocor ke chat
- Lesson: Agent-level override bisa nge-bypass global config
- Detail: [lessons/2026-07-30_thinking-leak.md](lessons/2026-07-30_thinking-leak.md)
- Tags: config, bug
Auto-Trigger for ALL Tasks
AAR runs after EVERY task, not just big ones:
| Task Size | AAR Format | Example |
|---|---|---|
| Small (< 5 min, read-only, simple edits) | 1-sentence quick capture | "Lesson: Config override di agent-level bisa bypass global setting" |
| Medium (multi-step, file edits, deployments) | Full AAR with fix plan | Complete 4-question analysis |
| Large (infra, production, client-facing, irreversible) | Full AAR + verifier review | Complete analysis + second pair of eyes |
Trigger: After Verify phase in RPDV workflow.
Extracting a concrete lesson
Question 4 only pays off if the lesson is specific enough to check later. Test every lesson: could a different agent, six months from now, read this line and know exactly what to do or not do?
Concrete, checkable (ship these):
- "Batch size over 100 rows fails with silent timeout; cap batch writes at 100."
- "Agent-level config override bypasses global setting; always check both levels."
Vague, do not ship:
- "Write better code."
- "Be more careful with APIs."
Using the script
# Create new lesson
python3 scripts/append_lesson.py \
--task "Task name" \
--expected "Expected outcome" \
--actual "Actual outcome" \
--why "Root cause" \
--lesson "Lesson learned" \
--tags "tag1,tag2" \
--fix-target "file.md" \
--fix-edit "exact edit"
# List all lessons
python3 scripts/append_lesson.py --list
# Search lessons
python3 scripts/append_lesson.py --search "keyword"
The script:
- Creates individual lesson file in
lessons/folder - Auto-updates
LESSONS.mdindex - Prevents duplicate entries
Workflow
- Finish the task.
- Ask and answer the 4 questions (out loud or in thinking).
- Extract 1-3 concrete, checkable lessons.
- For each lesson, decide if it needs a durable fix. If yes, write fix plan.
- Run
scripts/append_lesson.pyto create lesson file + update index. - Report back: the 4 answers, fix plan status, lesson(s) written.
Rules
- Every lesson names a specific tool, command, number, file, or condition.
- Every fix plan names an exact target file and exact edit.
- Never apply a fix plan without approval, unless user said "apply" or "fix it".
- Run AAR on ALL tasks, not just big ones. Quick capture for small tasks.
- Check for duplicates before writing.
- Lessons folder structure:
lessons/YYYY-MM-DD_{topic-slug}.md - Index file:
LESSONS.md(like MEMORY.md)
Loading lessons next session
Two ways to make lessons automatic:
- Project-local: AGENTS.md has pointer: "Read LESSONS.md before starting work."
- On demand: Before similar task, run
python3 scripts/append_lesson.py --search
A lessons file nobody loads is a diary, not a loop. The loop only closes when the next session actually reads it before acting.
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.
More from akdira
Browse all skillsAnti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces tha...
Autonomous daily self-improvement system for AI agents. Runs nightly self-reflection, self-audit, memory compaction, prompt evolution, and skill gap analysis at 2AM. Agent automatically gets smarter every day through structured introspection and continuous learning loops.
Elite UX/UI & Advanced GSAP Motion Engineer. Enforces Python-driven true randomization for layout variance, strict AIDA page structure, wide editorial typogr...
Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained...
The original v1 taste-skill, preserved for projects depending on its exact behavior. The current default is `design-taste-frontend` (v2 experimental), which...
Advanced browser automation via Camoufox Firefox fork — handles anti-bot protection for authorized automation tasks