mcpField
C
cross-agent-install-smoke

cross-agent-install-smoke

github.com/wyattowalshTesting & quality535 installsUpdated 8w ago
Repository

About cross-agent-install-smoke

cross-agent-install-smoke is a repository skill for checking additive skill-sync installs without changing live harness installations. It provides a default dry-run check and an opt-in smoke test isolated to a temporary HOME.

Key features

  1. 01Dry-run JSON assertions
  2. 02Opt-in temporary HOME smoke test
  3. 03INSTALL_SMOKE=1 phase gate
  4. 04Validation script for selected gates

Use cases

  1. 01Check skills-sync JSON in CI or locally
  2. 02Test install behavior without using a live home directory

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wyattowalsh/agents --skill cross-agent-install-smoke

After installing, type/cross-agent-install-smokein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

evals/
evals.json
scripts/
check.py
dry_run.py
local_smoke.py
scripts/asset_toolkit/
validate_hooks.py

Details

From the project README

Cross-Agent Install Smoke

Validate additive skills sync without mutating live harness installs.

Scope: Install smoke only. Do not run live apply installs unless the maintainer explicitly requests it.

Dispatch

$ARGUMENTSAction
Empty / phase1 / dry-runRun phase 1 dry-run JSON assertions
phase2 / local / smokeRun phase 2 temp-HOME smoke (requires INSTALL_SMOKE=1)
allRun phase 1, then phase 2 when gated
helpShow phases, gates, and example commands

Phase 1 — Dry-Run JSON

Run the deterministic checker from the repo root:

uv run python skills/cross-agent-install-smoke/scripts/dry_run.py

Phase 1 executes the repo skills-sync dry-run command and asserts:

  • top-level keys: ok, mode, inventory_count, include_installed, agents
  • mode is dry-run
  • each agent row includes agent plus bucket fields missing, already_present, unresolved, skipped
  • bucket fields may be legacy string lists or compact objects {count, sample, truncated} (Wave 1b+ default JSON)
  • when present, optional buckets (projection_ensure, projection_blocked, store_missing, internal_projection, pin_blocked) use the same shapes

Pass criteria: script exits 0 and prints a JSON summary to stdout. Phase 1 is dry-run only — never --apply.

Phase 2 — Temp-HOME Smoke

Phase 2 is opt-in and mutates only a temporary home directory.

INSTALL_SMOKE=1 uv run python skills/cross-agent-install-smoke/scripts/local_smoke.py

The script:

  1. Refuses to run unless INSTALL_SMOKE=1
  2. Creates an isolated HOME under a temp directory
  3. Runs the repo validation command against the repo
  4. Runs a single-harness skills-sync dry-run JSON probe
  5. Cleans up the temp home

Never point phase 2 at a production home directory.

Validation Contract

uv run python skills/cross-agent-install-smoke/scripts/check.py
INSTALL_SMOKE=1 uv run python skills/cross-agent-install-smoke/scripts/check.py

Completion criteria:

  1. Phase 1 (dry_run.py) exits 0 in CI and local maintainer runs.
  2. Phase 2 runs only when INSTALL_SMOKE=1 is set.
  3. scripts/check.py exits 0 for the selected phase gates.

Critical Rules

  1. Default to dry-run; never apply live installs from this skill.
  2. Treat skills sync JSON as evidence, not authority over repo policy.
  3. Run phase 1 before recommending any cross-harness install reconciliation.
  4. Gate phase 2 behind INSTALL_SMOKE=1 and a disposable temp HOME.
  5. Report harness-specific inventory errors without masking top-level ok: false.

Comments

Markdown supported