context-surfing
Monitors context window health during large, long-running, multi-session, or explicitly…
[Beta] Session-start scan that surfaces relevant learnings, recent errors, and eval status before work begins. Bridges the outer loop back into the inner loop by making accumulated knowledge visible at task start. Activated via SessionStart hook or manually before major tasks.
$ npx -y skills add pskoett/pskoett-ai-skills --skill pre-flight-check --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pre-flight-checkContext preview
The summary Claude sees to decide when to auto-load this skill.
[Beta] Session-start scan that surfaces relevant learnings, recent errors, and eval status before work begins. Bridges the outer loop back into the inner loop by making accumulated knowledge visible at task start. Activated via SessionStart hook or manually before major tasks.
name: pre-flight-check description: "[Beta] Session-start scan that surfaces relevant learnings, recent errors, and eval status before work begins. Bridges the outer loop back into the inner loop by making accumulated knowledge visible at task start. Activated via SessionStart hook or manually before major tasks."
Surfaces relevant accumulated knowledge at the start of a session. This is the bridge that connects the outer loop back into the inner loop — it makes prior learnings visible before the agent starts work.
Without this, accumulated `.learnings/` are invisible to new sessions. The agent repeats mistakes that were already captured because nobody told it to look.
The SessionStart hook (`scripts/pre-flight.sh`) does a fast scan and outputs a brief reminder if there are relevant signals:
<pre-flight-check> Active learnings: N entries in .learnings/ Recent errors (last 7 days): N Promotion-ready patterns: N Failed evals: N High-priority items: - [Pattern-Key]: [one-line summary] (seen N times) - [Pattern-Key]: [one-line summary] (seen N times) Consider running /learning-aggregator if promotion-ready count > 0. </pre-flight-check>
If there are no signals (empty `.learnings/`, no failed evals), the hook outputs nothing — zero overhead.
When invoked explicitly, the pre-flight check does a deeper analysis:
Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`, and `.learnings/HEALS.md` (the last from `self-healing` — verified runtime fixes filed during prior sessions; surface these prominently so the agent applies known fixes before reinventing them).
For each entry, extract:
Read `.evals/EVAL_INDEX.md` for any failed or stale evals.
Look for unread files in `.context-surfing/` (same as handoff-checker.sh but integrated).
If the user described the task area, filter learnings to:
## Pre-Flight Check ### Task Area: [inferred or stated] ### Relevant Learnings | ID | Summary | Recurrence | Priority | Status | |----|---------|-----------|----------|--------| | LRN-... | ... | 3 | high | pending | | ERR-... | ... | 2 | medium | pending | ### Key Warnings - [Pattern-Key]: "Concise warning based on learning" — seen N times, last on YYYY-MM-DD - [Pattern-Key]: "Concise warning based on learning" — seen N times, last on YYYY-MM-DD ### Failed Evals | Eval ID | Pattern-Key | Last Failed | Recovery Action | |---------|------------|-------------|-----------------| | eval-... | ... | YYYY-MM-DD | ... | ### Handoff Files - [filename] — from session on YYYY-MM-DD ### Recommendations - [ ] Read handoff files before starting - [ ] Run learning-aggregator (N promotion-ready patterns) - [ ] Fix failed evals before starting new work - [ ] Watch for [specific pattern] in [area]
This is where the blog's compounding happens:
Outer loop improves harness → pre-flight surfaces improvements → inner loop starts stronger
Every learning captured, every rule promoted, every eval created becomes visible at the next session start. The knowledge gaps get smaller with every cycle.
The hook script can be extended to use a local cache file (`.pre-flight-cache.json`) storing last-known state — entry counts, scan date, high-priority items — so the next session start only re-scans entries newer than the cached state. This would enable **delta reporting** ("since your last session, 2 new errors were logged and 1 pattern crossed the promotion threshold") and keep the hook near-instant regardless of how large `.learnings/` grows. Not implemented today — the current hook scans directly on every session start.
A collection of skills for AI agents. Follows the Agent Skills specification and ships an Agent Plugins 1.0 portable package. This repository is my personal skill testing ground.
Monitors context window health during large, long-running, multi-session, or explicitly…
Control-plane workflow for coordinating multi-agent, multi-session project work from a single…
[Beta] CI-only eval regression runner using gh-aw (GitHub Agentic Workflows). Runs all eval…
[Beta] Creates permanent eval cases from promoted learnings and runs regression checks…
Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when…
[Beta] CI-only learning aggregation workflow using gh-aw (GitHub Agentic Workflows). Scans…