From tl
Runs a session health diagnostic to assess context load, scope drift, and quality degradation. Use when responses feel degraded or before starting major new work in a long session.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tl:session-healthThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
!`git log --oneline -5`
!git log --oneline -5
You are running a session health check — a quick diagnostic of the current conversation to determine if you should continue, summarize, checkpoint, or start fresh. Context: $ARGUMENTS
Review what you've done this session:
| Load Level | Files Read | Agents | Breadth | Signal |
|---|---|---|---|---|
| Light | <20 | 0-2 | 1-2 areas | Healthy, continue |
| Moderate | 20-60 | 3-5 | 3-4 areas | Watch quality |
| Heavy | 60-120 | 6-9 | 5+ areas | Check quality signals; consider fresh session |
| Overloaded | 120+ | 10+ | Many areas | Quality degraded — fresh session recommended |
Note: Raw file counts are a lagging indicator. Quality signals (step 3) are the primary degradation signal — a session with 30 files but heavy hedging is more degraded than one with 80 files and sharp answers.
Ask yourself:
Scope drift isn't always bad — discovered work is natural. But if you've drifted far from the original intent, flag it.
Quality signals are the primary degradation signal. A session can be Heavy by file count but still sharp; a session can be Moderate by file count but already degrading. Check these first and let them override the load level assessment:
| Signal | Healthy | Degrading |
|---|---|---|
| Hedging language | Direct, confident answers | "I think", "it might", "probably", "as I recall" — increasing over time |
| Repetition | Novel, additive responses | Re-explaining things already stated earlier in the session |
| Tool call quality | Targeted searches, specific file reads | Broad grep patterns, re-reading files already read, "let me check again" |
| Tool call failure rate | Rare failures or none | Repeated tool failures, fallbacks to guessing |
| Answer specificity | Cites file paths, line numbers, exact values | Vague references, omitting specifics that were available |
Rate each signal: Good / Watch / Degrading. If two or more signals are Degrading, elevate the overall session health to Fresh regardless of load level.
git status # Any uncommitted work?
Check your task tracker for in-progress and available work.
If .claude/team.yaml exists, read it and check each member's learnings:
ls .claude/tackline/memory/agents/*/learnings.md 2>/dev/null
For each member in the team manifest, check:
/curate)Report team state in the output:
**Team**: [team name] — [N] members
- [member]: [line count] learnings, last updated [date] — [healthy / stale / bloated]
If no team is configured, skip this section silently (not an error — many projects don't use teams).
Based on the above, recommend ONE of:
| Action | When | How |
|---|---|---|
| Continue | Light-moderate load, on-topic, quality fine | Keep working |
| Partial summarize | Heavy load but good progress, quality still sharp | Selectively compress completed work threads while preserving in-progress work at full context. For each completed thread (a task or subtask where the output is final): write a 3-5 bullet summary capturing goal, approach, outcome, and key decisions, then release the detailed exchange from working context. Leave all in-progress threads uncompressed. This is a model-side operation — do not ask the user to summarize. |
| Checkpoint & Continue | Moderate load, mid-batch work, or want a save point | Commit current work, write intermediate results to .claude/tackline/memory/scratch/<slug>.md if mid-batch, sync task state, then continue |
| Fresh session | Overloaded, scope has drifted, or 2+ quality signals degrading | Run /handoff to capture context, commit all work, sync task state, push, then start a new session |
| Break into subagents | Remaining work is parallelizable | Dispatch independent tasks to subagents to avoid further context fill |
## Session Health: [Healthy / Watch / Summarize / Fresh]
**Load**: [Light/Moderate/Heavy/Overloaded] — ~X files read, ~Y agents, Z areas
**Scope**: [On track / Minor drift / Significant drift] — started with [X], now doing [Y]
**Quality**: [Good / Showing wear / Degrading]
**Uncommitted work**: [Yes/No] — [details if yes]
**Team**: [team name — N members, M stale | No team configured]
### Recommendation
[Action] — [1-2 sentence rationale]
### If continuing, suggested next steps:
**Sharpening requirement**: Each step must be a concrete command or specific file reference, not a suggestion.
- **Before**: "Consider refactoring the authentication module"
- **After**: "Run /review on src/auth/ — 3 files changed in last 5 commits, fix rate 40%"
1. [runnable command or specific file path]
2. [runnable command or specific file path]
After producing the health report, emit a pipe-format summary so /advise or /retro can consume health signals:
## Session health signals
**Source**: /session-health
**Input**: [current session, $ARGUMENTS if provided]
**Pipeline**: (none — working from direct input)
### Items (4)
1. **Context load** — [Light | Moderate | Heavy | Overloaded]
- files-read: [~N]
- agents-dispatched: [~N]
- topic-breadth: [N areas]
- confidence: CONFIRMED
2. **Quality signals** — [Good | Showing wear | Degrading]
- hedging: [Good | Watch | Degrading]
- repetition: [Good | Watch | Degrading]
- tool-call-quality: [Good | Watch | Degrading]
- answer-specificity: [Good | Watch | Degrading]
- confidence: CONFIRMED
3. **Scope coherence** — [On track | Minor drift | Significant drift]
- original-goal: [one-line summary]
- current-work: [one-line summary]
- batch-progress: [N/M items complete | not applicable]
4. **Recommendation** — [Continue | Partial summarize | Checkpoint & Continue | Fresh session | Break into subagents]
- rationale: [one sentence]
- next-action: [specific command or file reference]
- confidence: CONFIRMED
### Summary
[One paragraph: load level, quality assessment, and recommended action with a concrete reason.]
npx claudepluginhub tyevans/tackline --plugin tacklineMonitors and maintains conversation context health during long Claude Code sessions. Detects degradation signals like stale files or repeated errors, and applies corrective actions. Use after many turns or when experiencing errors.
Analyzes Antigravity sessions to classify scope deltas, rework patterns, root causes, and hotspots, auto-improving prompts and project health.
Recaps Claude Code sessions using claude-view tools to list recent ones, fetch details, and summarize duration, model, turns, commits, metrics. Activates on recap/summary/review requests.