nasa-code-review
Installation
SKILL.md
NASA Code Review — Power of Ten
Review code against 10 principles adapted from NASA JPL's safety-critical coding rules. Works with any language.
The 10 Principles
| # | Principle | What to look for |
|---|---|---|
| 1 | Simple Control Flow | No goto, no unstructured jumps, recursion only when bounded and justified |
| 2 | Bounded Loops | Every loop has a clear, provable termination condition |
| 3 | Controlled Resource Allocation | No unbounded growth; prefer pre-allocated or pooled resources after init |
| 4 | Short Functions | Each function fits on one screen (~60 lines), single responsibility |
| 5 | Defensive Assertions | Preconditions and postconditions validated; min 2 checks per non-trivial function |
| 6 | Minimal Scope | Variables declared at narrowest scope; minimal global/shared mutable state |
| 7 | Check Every Result | All return values, errors, and failure modes handled explicitly |
| 8 | Limited Metaprogramming | Macros, decorators, codegen, and magic kept minimal and transparent |
| 9 | Minimize Indirection | Shallow reference chains; avoid deep callback nesting, excessive pointer chasing |
| 10 | Zero Warnings | Strictest linter/compiler settings; every warning resolved, not suppressed |