Validation Methodology
prime-radiant-inc/greenfield
Cross-cutting validation discipline. An agent skill from prime-radiant-inc/greenfield.
Validation-first design for AI agent output — every spec requirement must be automatically verifiable.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins validation-first --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/JuliusBrussee/blueprint/skills/validation-first .claude/skills/validation-first && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "validation-first" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-first into .claude/skills/validation-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validation-first", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-firstType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins validation-first --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/JuliusBrussee/blueprint/skills/validation-first .agents/skills/validation-first && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "validation-first" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-first into .agents/skills/validation-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validation-first", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins validation-first --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/JuliusBrussee/blueprint/skills/validation-first .cursor/skills/validation-first && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "validation-first" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-first into .cursor/skills/validation-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validation-first", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hashgraph-online/awesome-codex-plugins.git --path plugins/JuliusBrussee/blueprint/skills/validation-first--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins validation-first --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/JuliusBrussee/blueprint/skills/validation-first .gemini/skills/validation-first && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "validation-first" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-first into .gemini/skills/validation-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validation-first", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hashgraph-online/awesome-codex-plugins validation-firstInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/JuliusBrussee/blueprint/skills/validation-first .github/skills/validation-first && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "validation-first" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-first into .github/skills/validation-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validation-first", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins validation-first --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/JuliusBrussee/blueprint/skills/validation-first .opencode/skills/validation-first && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "validation-first" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/JuliusBrussee/blueprint/skills/validation-first into .opencode/skills/validation-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validation-first", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
validation-firstValidation-first design for AI agent output — every spec requirement must be automatically verifiable.
Validation First is an agent skill from hashgraph-online/awesome-codex-plugins. Validation-first design for AI agent output — every spec requirement must be automatically verifiable. Covers the 6-gate validation pipeline, phase gates between Hunt phases, merge protocol, completion signals, and acceptance criteria design patterns. Trigger phrases: "validation gates", "quality gates", "validation-first design", "how to validate agent output", "acceptance criteria design"
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering User stories, Design patterns and Quality gates. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Validation First loads about 4.3k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,698 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 1,698 words, ~4,272 tokens.
.claude/skills/validation-first/SKILL.md (or your agent's skills folder).Every spec requirement must include testable acceptance criteria that an agent can automatically verify. This is not optional — it is the foundation that makes SDD work.
Why? AI agents are non-deterministic. Without automated validation, there is no way to know whether an agent's output is correct. Validation gates turn "the agent generated some code" into "the agent generated code that provably meets the specification."
The validation-first rule applies at every level:
Every implementation must pass through six ordered checkpoints. Each successive gate is more expensive to run, so catching failures early saves significant time.
What: The project compiles/transpiles without errors.
# Generic pattern — substitute your project's build command
{BUILD_COMMAND}Why it matters: If the code does not build, nothing else can be validated. This is the cheapest possible check.
What it catches:
Acceptance criteria pattern:
- [ ] `{BUILD_COMMAND}` completes with exit code 0
- [ ] No warnings related to {domain} (warnings in other domains are acceptable)What: Unit tests pass on all changed files.
# Generic pattern
{TEST_COMMAND}
# Or targeted at changed files
{TEST_COMMAND} --filter {changed-files}Why it matters: Unit tests verify individual functions and modules in isolation. They are fast, deterministic, and catch logic errors.
What it catches:
Acceptance criteria pattern:
- [ ] All existing unit tests pass
- [ ] New unit tests cover all acceptance criteria for R{N}
- [ ] No test relies on external services or network accessWhat: End-to-end and integration tests verify that components work together.
# Generic pattern
{TEST_COMMAND} --e2e
# Or with a specific test runner
{E2E_TEST_COMMAND}Why it matters: Unit tests verify components in isolation. Integration tests verify they work together. Many bugs only appear at integration boundaries.
What it catches:
Acceptance criteria pattern:
- [ ] User can complete {workflow} end-to-end
- [ ] API endpoint returns correct response for {scenario}
- [ ] Error propagation works correctly from {source} to {destination}What: Performance benchmarks pass defined thresholds.
# Generic pattern
{BENCHMARK_COMMAND}
# Or specific checks
{TEST_COMMAND} --performanceWhy it matters: Functional correctness is necessary but not sufficient. Performance regression can make a feature unusable even if it produces correct output.
What it catches:
Acceptance criteria pattern:
- [ ] API response time < {N}ms at p95 under {M} concurrent users
- [ ] Page load time < {N}s on simulated 3G connection
- [ ] Memory usage does not exceed {N}MB during {operation}
- [ ] No operation blocks the main thread for > {N}msNote: Not every task needs performance gates. Apply Gate 4 when:
What: The application starts successfully and basic smoke tests pass.
# Generic pattern — start the application
{START_COMMAND}
# Verify it is running
curl -f http://localhost:{PORT}/health
# Or run smoke tests
{SMOKE_TEST_COMMAND}Why it matters: Code can build and pass all tests but fail to start. Launch verification catches configuration issues, missing environment variables, port conflicts, and startup race conditions.
What it catches:
Acceptance criteria pattern:
- [ ] Application starts with `{START_COMMAND}` and responds to health check
- [ ] Main screen/page renders without errors
- [ ] No error-level entries in application logs during startup
- [ ] Application shuts down gracefully on interrupt signalWhat: A human reviews the output for quality, design intent, and requirements that are difficult to automate.
Why it matters: Some things cannot be automated — UX quality, architectural elegance, naming consistency, documentation clarity. Gate 6 is where the human acts as the final quality filter.
What it catches:
How it works in practice:
Acceptance criteria pattern:
- [ ] Implementation reviewed by human for spec intent alignment
- [ ] No architectural concerns raised
- [ ] Code style consistent with project conventions| Gate | Purpose | Command Pattern | Typical Duration | Automated? |
|---|---|---|---|---|
| 1. Compilation | Code compiles cleanly | {BUILD_COMMAND} | Seconds | Yes |
| 2. Unit Verification | Individual functions behave correctly | {TEST_COMMAND} | Seconds-Minutes | Yes |
| 3. Integration | Modules cooperate as expected | {E2E_TEST_COMMAND} | Minutes | Yes |
| 4. Benchmarks | Speed and resource use within budget | {BENCHMARK_COMMAND} | Minutes | Yes |
| 5. Smoke Test | Application boots and responds | {START_COMMAND} + health check | Seconds | Yes |
| 6. Manual Audit | Meets design intent and quality bar | Human inspection | Variable | No |
For the full validation gate reference with detailed examples, see
references/validation-gates.md.
Every spec requirement must map to at least one validation gate. When writing specs (see ck:cavekit-writing), each acceptance criterion should indicate which gate verifies it.
### R1: User Authentication
**Acceptance Criteria:**
- [ ] Valid credentials return session token — **Gate 2** (unit test)
- [ ] Invalid credentials return 401 error — **Gate 2** (unit test)
- [ ] Session token grants access to protected endpoints — **Gate 3** (integration)
- [ ] Login page renders within 2s — **Gate 4** (performance)
- [ ] Application starts with auth module loaded — **Gate 5** (launch)If a requirement cannot be mapped to any gate, it has one of two problems:
Either way, an unmapped requirement will not be reliably met by an agent.
Phase gates are mandatory verification checkpoints between Hunt phases. They ensure that the output of one phase is solid before the next phase builds on it.
| Transition | Gate Condition | How to Verify |
|---|---|---|
| Spec → Plan | All domains have specs with testable acceptance criteria | Review cavekit-overview.md; every R{N} has AC items |
| Plan → Implement | Plans reference specs, define sequence, include test strategies | Review plan files; every task maps to spec requirements |
| Implement → Iterate | Code builds (Gate 1), tests pass (Gate 2), impl tracking is current | Run {BUILD_COMMAND} and {TEST_COMMAND}; check impl tracking |
| Iterate → Monitor | Convergence detected: changes decreasing iteration-over-iteration | Compare diffs across last 3-5 iterations |
| Monitor → Spec | Gap found or new requirement identified | Gap analysis identifies unmet acceptance criteria |
Phase gates are enforced by the iteration loop. When a prompt includes phase gate checks, the agent:
## Exit Criteria (Phase Gate)
Before reporting completion:
- [ ] `{BUILD_COMMAND}` succeeds with exit code 0
- [ ] `{TEST_COMMAND}` passes with no new failures
- [ ] All files created/modified are listed in impl tracking
- [ ] All dead ends encountered are documented
- [ ] Test health table is updated with current countsWhen working with agent teams (multiple agents dispatched via the Agent tool), the merge protocol ensures that integrating work from different agents does not break validation gates.
Agent A completes work in its isolated branch
Agent B completes work in its isolated branch
Agent C completes work in its isolated branch
Merge sequence (one at a time):
1. Merge Agent A's branch → main
2. Run: {BUILD_COMMAND} → must pass
3. Run: {TEST_COMMAND} → must pass
4. Run: Launch verification → must pass
5. If all pass → proceed
6. If any fail → fix before merging next branch
7. Merge Agent B's branch → main
8. Run: {BUILD_COMMAND} → must pass
9. Run: {TEST_COMMAND} → must pass
10. ...repeat for each agent branchMerging all agent branches simultaneously and then running tests makes it impossible to determine which merge caused a failure. Merging one at a time with validation between each merge pinpoints failures immediately.
git branch -D <branch>).Completion signals are specific strings that agents emit when all exit criteria for a task or phase are met. They enable automation to detect when an agent is done.
The prompt defines the signal:
When ALL exit criteria are met, output exactly:
<all-tasks-complete>The agent emits the signal after verifying all exit criteria
The iteration loop detects the signal and stops iterating
## Exit Criteria
Complete all of the following before emitting the completion signal:
- [ ] All T- tasks are DONE or BLOCKED with documented blockers
- [ ] `{BUILD_COMMAND}` succeeds
- [ ] `{TEST_COMMAND}` passes with no new failures
- [ ] Implementation tracking is updated
- [ ] All dead ends are documented
When ALL criteria above are met, output:
<all-tasks-complete>
If you cannot meet all criteria, document what is blocking
and do NOT output the completion signal.Write or generate tests before implementing the feature. The test defines what "correct" means.
1. Read spec requirement R{N} acceptance criteria
2. Generate test cases that verify each criterion
3. Run tests → all fail (RED)
4. Implement the feature
5. Run tests → all pass (GREEN)
6. Refactor if neededThis is TDD-within-SDD. See superpowers:test-driven-development for the existing TDD skill.
Run gates in order. If an earlier gate fails, do not run later gates.
Gate 1 (Build) → FAIL → fix build errors → retry Gate 1
Gate 1 (Build) → PASS → Gate 2 (Unit Tests)
Gate 2 (Tests) → FAIL → fix failing tests → retry Gate 2
Gate 2 (Tests) → PASS → Gate 3 (Integration)
...Earlier gates are cheaper. Fixing a build error costs seconds. Fixing an integration error costs minutes. Fix cheap problems first.
Not every iteration needs all gates. Use progressive depth based on the phase:
| Phase | Required Gates | Optional Gates |
|---|---|---|
| Early Implement | 1 (Build), 2 (Unit) | — |
| Mid Implement | 1, 2, 3 (Integration) | 4 (Performance) |
| Late Implement | 1, 2, 3, 5 (Launch) | 4 |
| Pre-Release | All 1-6 | — |
When a gate that previously passed starts failing, treat it as a P0 issue:
superpowers:verification-before-completionThe existing verification-before-completion skill provides a general framework for verifying work before marking it done. Validation-first design extends this with the specific 6-gate pipeline and phase gate system used in SDD.
How they work together:
superpowers:verification-before-completion ensures the agent checks its workck:validation-first defines exactly what checks to run and in what orderck:cavekit-writingEvery spec requirement must have acceptance criteria that map to validation gates. The spec-writing skill defines how to write those criteria. Validation-first design defines how to verify them.
ck:impl-trackingValidation results are recorded in the implementation tracking document's Test Health table. Gate failures become Issues. Gate-related dead ends are documented in the Dead Ends section.
ck:methodologyValidation gates operate continuously across all Hunt phases. Phase gates control transitions between phases. The iteration loop uses gate results as convergence signals.
© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/JuliusBrussee/blueprint/skills/validation-first of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 78497e5
Validation First next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Validation First this skillhashgraph-online/awesome-codex-plugins | 1.2k | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Validation Methodologyprime-radiant-inc/greenfield | 292 | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| QA Reviewdigipulse-engineering/GAAI-framework | 163 | — | ~3.4k | Automated safety check: Pass | Custom licence | |
| Solo ReviewLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.6k | Automated safety check: Notes | MIT | |
| Nw UX Tui PatternsnWave-ai/nWave | 617 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Build Doddanshapiro/kilroy | 222 | — | ~2.5k | Automated safety check: Pass | MIT |
prime-radiant-inc/greenfield
Cross-cutting validation discipline. An agent skill from prime-radiant-inc/greenfield.
digipulse-engineering/GAAI-framework
Validate that implemented code fully satisfies Story acceptance criteria, respects rules, and introduces no regressions.
LeoYeAI/openclaw-master-skills
Final code review and quality gate — run tests, check coverage, audit security, verify acceptance criteria from spec, and generate ship-ready report.
nWave-ai/nWave
Terminal UI and CLI design patterns for product owners. An agent skill from nWave-ai/nWave.
danshapiro/kilroy
A skill your agent uses when converting a spec, requirements document, or goal statement into a Definition of Done with acceptance criteria and integration test scenarios
tamdogood/builder-essential-skills
Inspect an unfamiliar repository, turn a focused Markdown behavior scenario into a deterministic test in the repository's native test stack, run it, and preserve traceability between intent and code.
hashgraph-online/awesome-codex-plugins
Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.
hashgraph-online/awesome-codex-plugins
Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…
hashgraph-online/awesome-codex-plugins
Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
hashgraph-online/awesome-codex-plugins
Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…
Validation-first design for AI agent output — every spec requirement must be automatically verifiable. Validation First is an agent skill from hashgraph-online/awesome-codex-plugins. Validation-first design for AI agent output — every spec requirement must be automatically verifiable.
Validation First fits situations like: phrases: validation gates; validation-first design; how to validate agent output; acceptance criteria design.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a claude-code`. Or copy the skill folder (plugins/JuliusBrussee/blueprint/skills/validation-first in hashgraph-online/awesome-codex-plugins) into .claude/skills/validation-first in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a codex`. Or copy the skill folder (plugins/JuliusBrussee/blueprint/skills/validation-first in hashgraph-online/awesome-codex-plugins) into .agents/skills/validation-first in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill validation-first -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validation-first, .gemini/skills/validation-first, .github/skills/validation-first and .opencode/skills/validation-first in your project.
Going by SKILL.md and its folder, Validation First needs the command-line tools its instructions call (curl and git).
SKILL.md contains no URLs. Its commands use curl and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Validation First is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Validation First: Validation Methodology (prime-radiant-inc/greenfield, 292 stars), QA Review (digipulse-engineering/GAAI-framework, 163 stars), Solo Review (LeoYeAI/openclaw-master-skills, 2.2k stars) and Nw UX Tui Patterns (nWave-ai/nWave, 617 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.
Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.