Run test and lint validation gate. Use after implementation to verify code quality, or invoke directly with /airlock to run project tests and linting.
Runs project tests and linting to validate code quality before completion.
/plugin marketplace add thebrownproject/space-agents/plugin install space-agents@space-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/airlock.shRun project-specific tests and linting to validate implementation quality. The Airlock is the quality gate that code must pass through before an objective is considered complete.
The Airlock validates code changes by running:
The Pod invokes Airlock after the Worker/Inspector/Analyst cycle completes. If Airlock fails, the Pod should:
Run /airlock directly to:
When /airlock is invoked, execute the airlock validation script.
Use the current working directory as the project root, or accept an optional path argument.
Execute the airlock script:
bash scripts/airlock.sh [PROJECT_ROOT] [OUTPUT_FILE]
The script:
Exit code 0 (PASS):
=== RESULT: PASS ===
All validations passed. Code is clear to proceed.
Exit code 1 (FAIL):
=== RESULT: FAIL ===
One or more validations failed. Review output for details.
The Airlock automatically detects and validates these project types:
| Type | Detection | Test Command | Lint Command | Type Check |
|---|---|---|---|---|
| Node.js | package.json | npm test | npm run lint / eslint / biome | tsc --noEmit |
| Rust | Cargo.toml | cargo test | cargo clippy | (built-in) |
| Python | pyproject.toml / setup.py | pytest / unittest | ruff / flake8 | mypy |
| Go | go.mod | go test ./... | golangci-lint / go vet | (built-in) |
| Make | Makefile | make test | make lint | - |
| Gradle | build.gradle | ./gradlew test | spotless / checkstyle | - |
| Maven | pom.xml | mvn test | checkstyle | - |
When the Pod invokes Airlock after the Worker/Inspector/Analyst cycle:
Pod: Airlock validation passed. Objective complete.
Updating status to 'complete' in SQLite.
Pod: Airlock validation FAILED.
Creating blocker alert: ALT-XXX
Returning objective to Worker for fixes.
The Pod should:
User: /airlock
=== AIRLOCK VALIDATION ===
Project root: /path/to/project
Timestamp: 2026-01-16 14:30:00
Project type: node
--- Running Tests ---
> jest
PASS src/auth/jwt.test.ts
Tests: 5 passed
[OK] Tests passed
--- Running Lint ---
> eslint .
[OK] Lint passed
--- Running Type Check ---
> tsc --noEmit
[OK] Type check passed
=== RESULT: PASS ===
If the Airlock cannot detect the project type:
Project type: unknown
[WARN] Unknown project type - skipping tests
[SKIP] No tests configured
[SKIP] No linter configured
=== RESULT: PASS ===
The Airlock passes with warnings when no validation tools are configured. This allows new projects to proceed while recommending setup.
If required tools (pytest, eslint, etc.) are not installed:
[WARN] Python test runner not found
[WARN] No Python linter found (ruff/flake8)
Suggestion: Install ruff (pip install ruff)
The Airlock logs warnings and suggestions but does not fail due to missing tooling.
Failures are clearly marked with exit codes:
[FAIL] Tests failed (exit code: 1)
[FAIL] Lint failed (exit code: 1)
=== RESULT: FAIL ===
When Airlock fails, the Pod should create alerts with these severities:
| Failure Type | Severity | Alert Example |
|---|---|---|
| Tests fail | 1 (blocker) | Airlock: 3 tests failed in jwt.test.ts |
| Lint fail | 2 (warning) | Airlock: 5 lint errors found |
| Type check fail | 2 (warning) | Airlock: Type error in auth/jwt.ts:42 |
| Multiple failures | 1 (blocker) | Airlock: Tests and lint both failed |
Airlock ready. All systems nominal.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.