ワンクリックで
apastra-validate
Validate all promptops files against JSON schemas. Catch formatting errors before running evaluations.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Validate all promptops files against JSON schemas. Catch formatting errors before running evaluations.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
PromptOps skills for versioning, evaluating, tracing, and shipping AI prompts as disciplined software assets. Agent-as-harness — your IDE agent runs evals, compares baselines, surfaces trace evidence, and gates quality.
Upgrade from local-first evaluation to automated GitHub Actions CI. Installs workflows for PR gating, release promotion, and auto-merge.
Quick setup guide for apastra PromptOps. Create your first prompt spec, dataset, evaluator, and suite in 5 minutes.
Run prompt evaluations using your IDE agent as the harness. Load suites, execute test cases, score results, and compare against baselines.
Generate new prompt specs, datasets, evaluators, and suites from templates. Creates correctly-formatted files that pass schema validation.
Inspect agent traces, hook events, tool-call transcripts, and run artifacts; turn them into PromptOps evidence, eval cases, and artifact references.
| name | apastra-validate |
| description | Validate all promptops files against JSON schemas. Catch formatting errors before running evaluations. |
Validate PromptOps files against the apastra JSON schemas. Uses the shell validators in promptops/validators/ for deterministic schema checks, plus agent-driven cross-reference checks.
Use this skill when you want to:
Use the shell scripts in promptops/validators/ to validate each file against its JSON schema. These use npx ajv-cli under the hood.
| File Pattern | Validator Script |
|---|---|
promptops/prompts/*.yaml | bash .agent/scripts/apastra/validators/validate-prompt-spec.sh <file> |
promptops/datasets/*.jsonl | bash .agent/scripts/apastra/validators/validate-dataset.sh <file> |
promptops/evaluators/*.yaml | bash .agent/scripts/apastra/validators/validate-evaluator.sh <file> |
promptops/suites/*.yaml | bash .agent/scripts/apastra/validators/validate-suite.sh <file> |
promptops/evals/*.yaml | bash .agent/scripts/apastra/validators/validate-quick-eval.sh <file> |
promptops/policies/*.yaml | bash .agent/scripts/apastra/validators/validate-regression-policy.sh <file> |
Run each validator for every file matching the pattern. Exit code 0 = pass, 1 = fail. Collect all results before reporting.
To validate everything at once:
for f in promptops/prompts/*.yaml; do bash .agent/scripts/apastra/validators/validate-prompt-spec.sh "$f"; done
for f in promptops/datasets/*.jsonl; do bash .agent/scripts/apastra/validators/validate-dataset.sh "$f"; done
for f in promptops/evaluators/*.yaml; do bash .agent/scripts/apastra/validators/validate-evaluator.sh "$f"; done
for f in promptops/suites/*.yaml; do bash .agent/scripts/apastra/validators/validate-suite.sh "$f"; done
for f in promptops/evals/*.yaml; do bash .agent/scripts/apastra/validators/validate-quick-eval.sh "$f"; done
for f in promptops/policies/*.yaml; do bash .agent/scripts/apastra/validators/validate-regression-policy.sh "$f"; done
After schema validation passes, compute digests for all validated files:
python .agent/scripts/apastra/runtime/digest.py <file>
Report the digest alongside each file so the user can track content changes.
These checks require reading file contents — the agent performs them after schema validation:
promptops/datasets/promptops/evaluators/inputs keys match prompt spec variables keysmetrics match suite thresholds keys (if thresholds are defined){{variable}} placeholders match case inputs keyscase_id values are unique within each datasetValidation Report
=================
Schema Validation (via promptops/validators/):
✅ promptops/prompts/summarize.yaml
✅ promptops/datasets/summarize-smoke.jsonl — 5 cases
❌ promptops/evaluators/broken.yaml
└── ajv error: must have required property 'metrics'
Cross-References:
✅ Suite summarize-smoke → dataset summarize-smoke exists
⚠️ Dataset classify-smoke → inputs.category not in prompt spec variables
Digests:
promptops/prompts/summarize.yaml sha256:abc123...
promptops/datasets/summarize-smoke.jsonl sha256:def456...
Summary: 4 passed, 1 error, 1 warning