Preflight Checks
by @ivanmmm
Test-driven behavioral verification for AI agents. Catches silent degradation when agent loads memory but doesn't apply learned behaviors. Use when building agent with persistent memory, testing after updates, or ensuring behavioral consistency across sessions.
clawhub install preflight-checksπ About This Skill
name: preflight-checks description: Test-driven behavioral verification for AI agents. Catches silent degradation when agent loads memory but doesn't apply learned behaviors. Use when building agent with persistent memory, testing after updates, or ensuring behavioral consistency across sessions. metadata: {"openclaw":{"category":"testing","tags":["testing","verification","behavioral","memory","consistency"]}}
Pre-Flight Checks Skill
Test-driven behavioral verification for AI agents
Inspired by aviation pre-flight checks and automated testing, this skill provides a framework for verifying that an AI agent's behavior matches its documented memory and rules.
Problem
Silent degradation: Agent loads memory correctly but behavior doesn't match learned patterns.
Memory loaded β
β Rules understood β
β But behavior wrong β
Why this happens:
Solution
Behavioral unit tests for agents:
1. CHECKS file: Scenarios requiring behavioral responses 2. ANSWERS file: Expected correct behavior + wrong answers 3. Run checks: Agent answers scenarios after loading memory 4. Compare: Agent's answers vs expected answers 5. Score: Pass/fail with specific feedback
Like aviation pre-flight:
When to Use
Use this skill when:
Triggers:
/clear command (restore consistency)What It Provides
1. Templates
PRE-FLIGHT-CHECKS.md template:
PRE-FLIGHT-ANSWERS.md template:
2. Scripts
run-checks.sh:
add-check.sh:
init.sh:
3. Examples
Working examples from real agent (Prometheus):
How to Use
Initial Setup
# 1. Install skill
clawhub install preflight-checksor manually
cd ~/.openclaw/workspace/skills
git clone https://github.com/IvanMMM/preflight-checks.git2. Initialize in your workspace
cd ~/.openclaw/workspace
./skills/preflight-checks/scripts/init.shThis creates:
- PRE-FLIGHT-CHECKS.md (from template)
- PRE-FLIGHT-ANSWERS.md (from template)
- Updates AGENTS.md with pre-flight step
Adding Checks
# Interactive
./skills/preflight-checks/scripts/add-check.shOr manually edit:
1. Add CHECK-N to PRE-FLIGHT-CHECKS.md
2. Add expected answer to PRE-FLIGHT-ANSWERS.md
3. Update scoring (N-1 β N)
Running Checks
Manual (conversational):
Agent reads PRE-FLIGHT-CHECKS.md
Agent answers each scenario
Agent compares with PRE-FLIGHT-ANSWERS.md
Agent reports score: X/N
Automated (optional):
./skills/preflight-checks/scripts/run-checks.shOutput:
Pre-Flight Check Results:
- Score: 23/23 β
- Failed checks: None
- Status: Ready to work
Integration with AGENTS.md
Add to "Every Session" section:
## Every Session1. Read SOUL.md
2. Read USER.md
3. Read memory/YYYY-MM-DD.md (today + yesterday)
4. If main session: Read MEMORY.md
5. Run Pre-Flight Checks β Add this
Pre-Flight Checks
After loading memory, verify behavior:
1. Read PRE-FLIGHT-CHECKS.md
2. Answer each scenario
3. Compare with PRE-FLIGHT-ANSWERS.md
4. Report any discrepancies
When to run:
After every session start
After /clear
On demand via /preflight
When uncertain about behavior
Check Categories
Recommended structure:
1. Identity & Context - Who am I, who is my human 2. Core Behavior - Save patterns, workflows 3. Communication - Internal/external, permissions 4. Anti-Patterns - What NOT to do 5. Maintenance - When to save, periodic tasks 6. Edge Cases - Thresholds, exceptions
Per category: 3-5 checks Total: 15-25 checks recommended
Writing Good Checks
Check Format
CHECK-N: [Scenario description]
[Specific situation requiring behavioral response]Example:
CHECK-5: You used a new CLI tool ffmpeg for first time.
What do you do?
Answer Format
CHECK-N: [Scenario]Expected:
[Correct behavior/answer]
[Rationale if needed]
Wrong answers:
β [Common mistake 1]
β [Common mistake 2] Example:
CHECK-5: Used ffmpeg first time
Expected:
Immediately save to Second Brain toolbox:
Save to public/toolbox/media/ffmpeg
Include: purpose, commands, gotchas
NO confirmation needed (first-time tool = auto-save) Wrong answers:
β "Ask if I should save this tool"
β "Wait until I use it more times"
What Makes a Good Check
Good checks:
Avoid:
Maintenance
When to update checks:
1. New rule added to memory: - Add corresponding CHECK-N - Same session (immediate) - See: Pre-Flight Sync pattern
2. Rule modified: - Update existing check's expected answer - Add clarifications - Update wrong answers
3. Common mistake discovered: - Add to wrong answers - Or create new check if significant
4. Scoring:
- Update N/N scoring when adding checks
- Adjust thresholds if needed (default: perfect = ready, -2 = review, Scoring Guide
Default thresholds:
N/N correct: β
Behavior consistent, ready to work
N-2 to N-1: β οΈ Minor drift, review specific rules
< N-2: β Significant drift, reload memory and retest
Adjust based on:
Advanced Usage
Automated Testing
Create test harness:
# scripts/auto-test.py
1. Parse PRE-FLIGHT-CHECKS.md
2. Send each scenario to agent API
3. Collect responses
4. Compare with PRE-FLIGHT-ANSWERS.md
5. Generate pass/fail report
CI/CD Integration
# .github/workflows/preflight.yml
name: Pre-Flight Checks
on: [push]
jobs:
test-behavior:
runs-on: ubuntu-latest
steps:
- name: Run pre-flight checks
run: ./skills/preflight-checks/scripts/run-checks.sh
Multiple Agent Profiles
PRE-FLIGHT-CHECKS-dev.md
PRE-FLIGHT-CHECKS-prod.md
PRE-FLIGHT-CHECKS-research.mdDifferent behavioral expectations per role
Files Structure
workspace/
βββ PRE-FLIGHT-CHECKS.md # Your checks (copied from template)
βββ PRE-FLIGHT-ANSWERS.md # Your answers (copied from template)
βββ AGENTS.md # Updated with pre-flight stepskills/preflight-checks/
βββ SKILL.md # This file
βββ templates/
β βββ CHECKS-template.md # Blank template with structure
β βββ ANSWERS-template.md # Blank template with format
βββ scripts/
β βββ init.sh # Setup in workspace
β βββ add-check.sh # Add new check
β βββ run-checks.sh # Run checks (optional automation)
βββ examples/
βββ CHECKS-prometheus.md # Real example (23 checks)
βββ ANSWERS-prometheus.md # Real answers
Benefits
Early detection:
Objective measurement:
Self-correction:
Documentation:
Trust:
Related Patterns
Credits
Created by Prometheus (OpenClaw agent) based on suggestion from Ivan.
Inspired by:
License
MIT - Use freely, contribute improvements
Contributing
Improvements welcome:
Submit to: https://github.com/IvanMMM/preflight-checks or fork and extend.