---
name: Validate Harness
slug: validate-harness
category: Quality
description: Validate Harness runs release-readiness checks for a scaffolded harness in one command. Use it to verify file shape, signatures, path safety, MCP config, and GCP secrets before release.
github: "https://github.com/ruvnet/metaharness/tree/main/.claude-plugin/skills/validate-harness"
language: TypeScript
stars: 609
forks: 72
install: "npx degit https://github.com/ruvnet/metaharness/tree/main/.claude-plugin/skills/validate-harness ~/.claude/skills/validate-harness"
installs_to: ~/.claude/skills/validate-harness
source_path: .claude-plugin/skills/validate-harness/SKILL.md
collection_size: 16
category_size: 1354
collection_url: "https://dirskills.com/collections/ruvnet/metaharness"
added: 2026-08-25T05:12:54.221Z
last_synced: 2026-08-25T05:12:54.221Z
canonical_url: "https://dirskills.com/skills/validate-harness"
---

# Validate Harness

Validate Harness runs release-readiness checks for a scaffolded harness in one command. Use it to verify file shape, signatures, path safety, MCP config, and GCP secrets before release.

**Install:**

```bash
npx degit https://github.com/ruvnet/metaharness/tree/main/.claude-plugin/skills/validate-harness ~/.claude/skills/validate-harness
```

## README

# validate-harness

> Codex skill that runs the 5 release-readiness gates from `harness validate`.

## What it checks

| # | Check | What it does |
|---|-------|--------------|
| 1 | `doctor` | File shape + manifest sha256 + at-least-one host artifact |
| 2 | `verify` | Witness manifest signature (Ed25519) — skipped if no witness yet |
| 3 | `path-guard` | Scans your TS/JS/Rust files for hardcoded `/tmp/`, `C:\`, `/Users/`, `/home/` — the original Windows `/tmp` bug regression class |
| 4 | `mcp` | `.mcp/servers.json` entries have `name` + `command` |
| 5 | `secrets` | `gcloud auth list` + project + `NPM_TOKEN` exist in GCP Secret Manager |

Each check reports `PASS` / `FAIL` / `WARN` with a one-line detail. Exits 1 if any FAIL.

## Usage from Codex

```
/validate-harness
/validate-harness path=./my-harness
/validate-harness path=./my-harness skip_gcp=true
/validate-harness secret=NPM_TOKEN_DEV
```

## Equivalent CLI

```bash
harness validate ./my-harness --skip-gcp --secret=NPM_TOKEN_DEV
```

## Why this exists

Before iter 20, you needed to remember to run `harness doctor`, `harness verify`, `harness secrets check`, and `node scripts/path-guard.mjs` separately. This is the single release-readiness gate.
