From tl
Runs a structured session retrospective after work sessions, epics, or when users ask 'what did we learn?' Evaluates velocity, quality, process, blockers, and persists learnings to MEMORY.md.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tl:retro [focus area or session topic][focus area or session topic]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running a **session retrospective** -- a structured reflection on the current session to extract durable learnings and update project memory. Focus area (optional): **$ARGUMENTS**
You are running a session retrospective -- a structured reflection on the current session to extract durable learnings and update project memory. Focus area (optional): $ARGUMENTS
Retro works in 7 phases:
Gather session data (git + backlog + conversation context)
-> Analyze across 5 dimensions
-> Extract keep/stop/try learnings
-> Team learning health (if team exists)
-> Update MEMORY.md with durable insights
-> Capture action items as tasks
-> Present structured report
Run:
git log --oneline --since="8 hours ago"
Note which commits were made this session, how many files were touched, and the types of changes.
If the project uses a task tracker, check backlog activity: how many tasks were completed, what types they were, and whether any were closed as duplicates or stale (vs. genuinely completed). If no task tracker is configured, skip this step and rely on git activity and conversation context alone.
Review the current conversation for:
Evaluate the session across these five dimensions:
For each dimension from Phase 2, identify:
Be specific and actionable. "Communication was good" is not useful. "Sending spike reports via SendMessage with structured format made orchestrator processing 3x faster" is useful.
Every "could improve" or "try next time" item MUST pass through this gate before being included in the report or becoming a task:
If an observation fails the gate, sharpen it:
Drop observations you cannot sharpen — they are not actionable yet. If the root cause is unclear, create an investigation task instead ("Investigate why X keeps happening in Y").
Only run this phase if .claude/team.yaml exists. Skip entirely for non-team sessions.
Read all .claude/tackline/memory/agents/*/learnings.md files. For each member, assess:
If any learnings file exceeds 50 lines (warning threshold) or 60 lines (hard cap):
.claude/tackline/memory/agents/<name>/archive.md/promote or /tend after this retro to evaluate them with full graduation criteriaFor each member:
### Team Learning Health
| Member | Entries | Recent | Status | Action Needed |
|--------|---------|--------|--------|--------------|
| [name] | [total] | [recent] | [status] | [prune/archive/promote/none] |
| ... | ... | ... | ... | ... |
**Cross-agent notes delivered this session**: [count]
**Entries pruned/archived**: [count]
**Entries promoted to rules**: [count]
Append a summary to .claude/tackline/memory/team/retro-history.md:
## Retro: [date]
- Tasks completed: [count]
- New learnings: [count] across [members] members
- Pruned/archived: [count] entries
- Key insight: [most significant learning from this session]
Read the current MEMORY.md:
~/.claude/projects/<project-path>/memory/MEMORY.md
Determine which learnings are durable (useful across sessions) vs. ephemeral (only relevant to this session). Only persist durable learnings.
Durable examples:
Ephemeral examples (do NOT persist):
When adding new learnings, include the dispatch: field for provenance tracking (optional but recommended). Use dispatch: retro-session for learnings discovered during retro, or dispatch: task-xyz if the learning traces to a specific task.
Using Write or Edit, update MEMORY.md:
Example format for new learnings entries:
## Workflow Patterns
- /blossom → /sprint pipeline: spike-driven discovery feeds execution naturally (added: 2026-02-13, dispatch: retro-session)
The dispatch: field is optional. Use dispatch: retro-session for learnings discovered during retro, or dispatch: task-xyz if the learning traces to a specific task. Existing entries without this field are backward-compatible.
If detailed notes are needed for a topic, create a separate file in the memory directory (e.g., team-patterns.md, skill-authoring.md) and link to it from MEMORY.md.
Read MEMORY.md after edits to confirm it is well-structured and under the line limit.
If the project uses a task tracker, create a task for each sharpened action item from Phase 3 (items that passed the sharpening gate). Include the retro date, relevant finding context, and the specific change to make. Every item here already passed the sharpening gate, so it should be implementable in one session without design decisions. Typically 1-3 tasks per retro; zero is fine if no concrete follow-ups emerged.
If no task tracker is configured, list action items in the report only.
Present a structured retrospective report:
## Session Retrospective
### Summary
[1-2 sentence summary of what this session accomplished and its overall character]
### Git Session Stats
[If git activity data was gathered in Phase 1a, include:]
- **Commits**: [total] ([feat] feat, [fix] fix, [chore] chore, [docs] docs, [refactor] refactor)
- **Fix rate**: [percentage]% [interpretation: low/normal/high]
- **Top churning files**: [list top 2-3 with change volume]
### What Went Well
- [specific item with evidence]
- [specific item with evidence]
### What Could Improve
- [specific item with evidence and suggested change]
- [specific item with evidence and suggested change]
### Action Items
- [ ] [task ID]: [title] (P[priority])
- [ ] [task ID]: [title] (P[priority])
### Memory Updates
- [list each change made to MEMORY.md: added, updated, or removed]
See also: /evolution (track how definitions changed over time — feeds retro analysis with concrete edit history), /handoff (standard session close follows retro — retro extracts learnings, handoff prepares the next session), /curate (optimize learnings generated by retro), /promote (graduate durable learnings to rules — run after retro to evaluate promotion signals), /tend (full lifecycle: curate + promote).
npx claudepluginhub tyevans/tackline --plugin tacklineCreates session retrospectives with AI diary, git context, and timestamp extraction from conversation logs. Supports quick, detailed, and deep modes.
[ADD v0.11.0] Run a retrospective — context-aware, data-driven review with pre-populated tables
Generates adaptive-depth session retrospective reports (retro.md) from plan.md and lessons.md, converting outcomes into persistent process improvements. Supports deep/light modes and directory resolution logic.