# Skills Validate

Use when explicitly asked to run a live or plan-only application test for a published...

- Repository: https://github.com/scenario-labs/skills (1448 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add scenario-labs/skills --skill skills-validate -g -a claude-code -y`
Codex: `npx skills add scenario-labs/skills --skill skills-validate -g -a codex -y`
Cursor: `npx skills add scenario-labs/skills --skill skills-validate -g -a cursor -y`
Gemini CLI: `npx skills add scenario-labs/skills --skill skills-validate -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add scenario-labs/skills`

## Description

Use when explicitly asked to run a live or plan-only application test for a published Scenario skill.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

Validate the skill named in the invocation arguments by having a fresh agent do real work with it,
then report where that agent got stuck. A defect here is a defect in the skill text, never in the
agent.

Flags: `--pr <number>` targets a PR instead of detecting one, `--plan-only` runs the zero-cost
planning protocol from docs/application-test.md instead of live generation, `--task "..."` supplies
the use case instead of writing one, `--no-post` stops before publishing anything, `--keep` keeps
the run directory.

Live runs spend Scenario credits. Keep every generation the smallest one that still proves the
point.

Determine the context (step 6) before anything else. A PR from a fork (`isCrossRepository: true`) is
quarantined: follow step 1 of `.agents/skills/skills-pr-handle/SKILL.md` for what may run, where,
and with which tools. Read its skill from `refs/pr/$PR`, take its mechanical results from the PR's
CI, never a local run, and install it in step 4 from `git archive "refs/pr/$PR"`, never the working
tree.

## 1. Review the objective

Read the skill's `SKILL.md` and every file it links; `node scripts/lib/skills.mjs --dir <name>`
prints its folder, nested under `skills/dcc/` or `skills/game-engines/` for an expert tool. If no
skill has that name, list the close ones and stop.

State, in your own words: the objective (one sentence), the triggering conditions the `description`
claims, and the three to six non-obvious facts the skill exists to teach, the ones an agent would
otherwise guess wrong (upload flow, `jobs_wait` re-calls, `runs_as` wiring, dry runs, launch
semantics). Those facts are the traps the run has to spring.

## 2. Write a concrete use case

The rest: https://github.com/scenario-labs/skills/blob/HEAD/.agents/skills/skills-validate/SKILL.md
