Back to skills
extension
Category: Development & EngineeringNo API key required

mission-airlock

Run test and lint validation gate. Use after implementation to verify code quality.

personAuthor: jakexiaohubgithub

/mission-airlock - Validation Gate

Run tests, lint, and type checking before task completion.


Instructions

Step 1: Detect Project Type

Check for these files in project root:

| File | Type | |------|------| | package.json | Node.js | | Cargo.toml | Rust | | pyproject.toml or setup.py | Python | | go.mod | Go | | Makefile | Make | | build.gradle | Gradle | | pom.xml | Maven |

Step 2: Run Tests

| Type | Command | |------|---------| | Node.js | npm test (if "test" script exists in package.json) | | Rust | cargo test | | Python | pytest or python -m unittest discover | | Go | go test ./... | | Make | make test (if target exists) | | Gradle | ./gradlew test | | Maven | mvn test |

Step 3: Run Lint

| Type | Command | |------|---------| | Node.js | npm run lint or npx eslint . or npx biome check . | | Rust | cargo clippy -- -D warnings | | Python | ruff check . or flake8 . | | Go | golangci-lint run or go vet ./... | | Make | make lint (if target exists) | | Gradle | ./gradlew spotlessCheck or ./gradlew checkstyleMain | | Maven | mvn checkstyle:check (if configured) |

Step 4: Run Type Check (if applicable)

| Type | Command | |------|---------| | Node.js | npx tsc --noEmit (if tsconfig.json exists) | | Python | mypy . (if configured) |

Step 5: Report Result

  • All pass → === RESULT: PASS ===
  • Any fail → === RESULT: FAIL ===

Pod Integration

On PASS: Proceed to bd close <task_id>.

On FAIL: Create blocking bug:

bd create -t bug --title="Airlock: [summary]" --priority=1
bd comments <bug-id> --add "[CONTEXT] Task: <task-id>, Failure: <type>, Output: <error>"
bd dep add <task-id> <bug-id>
bd sync

Bug Severity

| Failure | Severity | Blocks? | |---------|----------|---------| | Tests fail | blocker (P1) | Yes | | Build fail | critical (P0) | Yes + halt Ralph | | Lint/Type fail | warning (P2) | No |