Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install a5c-ai-babysitter-library-specializations-algorithms-optimization-skills-invariantgit clone https://github.com/a5c-ai/babysitter.gitcp babysitter/SKILL.MD ~/.claude/skills/a5c-ai-babysitter-library-specializations-algorithms-optimization-skills-invariant/SKILL.md---
name: invariant-analyzer
description: Identify and verify loop invariants for correctness proofs
allowed-tools:
- Read
- Write
- Grep
- Glob
---
# Invariant Analyzer Skill
## Purpose
Identify and verify loop invariants to help construct correctness proofs for algorithms.
## Capabilities
- Automatic loop invariant inference
- Invariant verification against code
- Precondition/postcondition extraction
- Generate formal proof structure
- Identify missing invariants
## Target Processes
- correctness-proof-testing
- algorithm-implementation
## Invariant Analysis Framework
### Loop Invariant Properties
1. **Initialization**: True before first iteration
2. **Maintenance**: If true before iteration, true after
3. **Termination**: Provides useful property at end
### Common Invariant Patterns
- Range invariants: "for all i in [0, k), property P(i) holds"
- Accumulator invariants: "sum equals sum of a[0..k-1]"
- Pointer invariants: "left < right and all elements < left are processed"
- State invariants: "data structure maintains property X"
## Input Schema
```json
{
"type": "object",
"properties": {
"code": { "type": "string" },
"language": { "type": "string" },
"loopIndex": { "type": "integer" },
"expectedInvariant": { "type": "string" }
},
"required": ["code"]
}
```
## Output Schema
```json
{
"type": "object",
"properties": {
"success": { "type": "boolean" },
"invariants": { "type": "array" },
"preconditions": { "type": "array" },
"postconditions": { "type": "array" },
"proofOutline": { "type": "string" }
},
"required": ["success"]
}
```