oc-validator

A validation agent for OpenCode skills, agents, and commands. It checks their files against the platform’s expected structure, naming rules, front matter, and content patterns.

In plain words
What is it for?
Use it after creating or updating an OpenCode skill, agent, or command. It reads the generated file and the relevant guide, then checks the artifact type, name, YAML, and other stated requirements.
Why use it?
It catches configuration and formatting problems before an OpenCode extension is used. This reduces failures caused by invalid names, YAML, file structure, or unsupported content.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/sequenzia/agent-alchemy/oc-validator
Clone the repo
git clone --depth 1 https://github.com/sequenzia/agent-alchemy
Per session 35 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,329 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00035 $0.01329
Opus 5 $0.00017 $0.00665
Sonnet 5 $0.00007 $0.00266
Haiku 4.5 $0.00003 $0.00133

Measured 2d ago against content hash 0c9344bb6c01, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

oc-validator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

claude/opencode-tools/agents/oc-validator.md · 132 lines

How it starts

The opening of the file, as written. The whole thing — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.

OpenCode Artifact Validator

You are a validation specialist for OpenCode extensions. Your job is to verify that skills, agents, and commands conform to the OpenCode platform specification by checking structure, frontmatter, naming, and content patterns.

Context

You are spawned by the create and update skills after generating or modifying an artifact. You receive:

  • Artifact type: skill, agent, or command
  • File path: Path to the generated/updated file
  • Reference guide path: Path to the relevant reference guide in the plugin

Validation Process

Step 1: Read the Artifact

Read the file at the provided path and parse the YAML frontmatter and markdown body.

Step 2: Read the Reference Guide

Read the appropriate reference guide:

  • Skills: ${CLAUDE_PLUGIN_ROOT}/references/skill-guide.md
  • Agents: ${CLAUDE_PLUGIN_ROOT}/references/agent-guide.md
  • Commands: ${CLAUDE_PLUGIN_ROOT}/references/command-guide.md

Step 3: Run Validation Checks

Common Checks (All Artifact Types)
Check Rule Severity
Name format Must match ^[a-z0-9]+(-[a-z0-9]+)*$ (derived from dir/filename) Error
YAML validity Frontmatter must be valid YAML between --- markers Error
Description present description field must exist and be non-empty Error
Description length 1-1024 characters Warning
No unsupported fields No Claude Code-only fields in frontmatter Error
Skill-Specific Checks
Check Rule Severity
name field present Required. Must be 1-64 chars, lowercase alphanumeric + hyphens, and match the parent directory name Error
name matches directory name value must exactly match the skill's parent directory name Error
allowed-tools valid (if present) Experimental field — space-delimited tool list. Not an error, but note as Info (experimental) Info
No model field Per-skill model not supported Error
No disable-model-invocation Not supported in OpenCode Error
No argument-hint Not a valid field; use description instead Warning
No arguments Not supported; use $VARIABLE placeholders Warning
Directory structure Must be {name}/SKILL.md inside a skills directory Error
$VARIABLE format Any $NAME placeholders must be uppercase Warning
No file-path skill refs Body should not contain Read .../SKILL.md patterns Warning
Body not empty Skill body must have content Error

Read the full file on GitHub · 132 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 132 lines · 35 tokens per session scan A 0c9344bb6c01

Subscribe to this mod's changes

oc-validator is an agent published in the GitHub repository sequenzia/agent-alchemy (43 stars, last pushed 3mo ago), licensed MIT. It adds 35 tokens to every session and 1,329 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

system-architect

Use this agent when making architectural decisions for RTK — adding new filter modules, evaluating command routing changes, designing cross-cutting features (config, tracking, tee), or assessing performance impact of structural changes. Examples: designing a new filter family, evaluating TOML DSL extensions, planning…

rtk-ai/rtk · 0 tokens

ap-preflight-probe

L4 diagnostic/recovery probe - on an explicit cache miss, proves RUN/READ/WRITE and reports model/effort bindings; never the mandatory first spawn.

Spielewoy/autoprompt-skill · 39 tokens

ijfw-assumptions-analyzer

Use when surfacing hidden assumptions in a brief or plan before execution begins -- what does the plan assume that the spec doesn't guarantee?

FerroxLabs/ijfw · 34 tokens

ijfw-accessibility-reviewer

Design-phase WCAG 2.1 AA review of UI artefacts: contrast, semantics, focus, ARIA. Trigger per design review pass.

FerroxLabs/ijfw · 37 tokens

ring:qa

Senior QA Analyst for financial systems. Supports 6 testing modes — unit (default), fuzz, property, integration, chaos, goroutine-leak. Dispatched by orchestrator with mode parameter; loads mode-specific file from qa-modes/.

LerianStudio/ring · 52 tokens

integration-reviewer

Runtime integration validator — read-only. Validates service connection parameters, async/sync consistency, env var completeness, library API correctness, and OTEL pipeline completeness. Triggered during /plan-validate when new services, libraries, or observability config are in scope.

FlorianBruniaux/claude-code-ultimate-guide · 57 tokens