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.
npx skills add pantheon-org/tekhne --skill yaml-validatorgit clone --depth 1 https://github.com/pantheon-org/tekhneWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pantheon-org/tekhne/yaml-validator)<a href="https://agentmods.dev/skills/pantheon-org/tekhne/yaml-validator"><img src="https://agentmods.dev/badge/skills/pantheon-org/tekhne/yaml-validator/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pantheon-org/tekhne/yaml-validator"><img src="https://agentmods.dev/badge/skills/pantheon-org/tekhne/yaml-validator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.03568 |
| Opus 5.5 | $0.00022 | $0.01427 |
| Sonnet 5.5 | $0.00011 | $0.00714 |
| Haiku 4.5 | $0.00006 | $0.00357 |
Grade A, and why
k8s-yaml-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 24d 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.
How it starts
The opening of the file, as written. The whole thing — 413 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Kubernetes YAML Validator
Mindset
Mental Model: Validation is a layered funnel—syntax → schema → cluster constraints → runtime behavior. Each layer catches different classes of errors, and a pass at one layer must never be read as a pass at the next: yamllint clean says nothing about schema compliance, and kubeconform clean says nothing about whether an admission webhook will reject the resource. You must always run every applicable layer, never stop at the first one that returns clean. The classic pitfall this catches: a manifest that is syntactically perfect and schema-valid but still gets rejected by a PodSecurity admission webhook — a gotcha that only the cluster-constraints layer can surface.
Decision Framework:
- Syntax first: Fix YAML structure before schema issues (broken YAML can't be validated)
- Schema second: Verify API compliance before cluster-specific checks
- Cluster third: Test against real constraints (RBAC, quotas, admission webhooks)
- Runtime last: Consider how the resource behaves in production
When to use this skill:
- Before applying any YAML to a cluster (development, staging, production)
- When debugging mysterious kubectl apply failures
- During CI/CD pipeline execution (catch errors early)
- When working with unfamiliar CRDs (validation guides learning)
- After generating YAML with k8s-yaml-generator
When NOT to use this skill:
- The manifest has already passed server-side dry-run against the exact target cluster and namespace in this same session, and nothing has changed since — re-running the full funnel adds no new information.
- The task is generating a new resource rather than checking an existing one — use
k8s-yaml-generatorand let its own validation step call into this skill. - Only a single, well-understood field is in question (e.g. confirming a typo) — a direct
kubectl explainlookup is faster and does not require the full workflow.
Validation philosophy: Report all issues, prioritize by severity, suggest fixes but never apply them automatically — this is a hard constraint, not a stylistic preference, and it must never be relaxed even when a fix is obvious.
What ships with it
39 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .audits/2026-03-06/analysis.md 1.1 KB
- .audits/2026-03-06/audit.json 458 B
- .audits/2026-03-06/remediation-plan.md 2.1 KB
- .audits/2026-09-23/Analysis.md 582 B
- .audits/2026-09-23/audit.json 728 B
- .audits/2026-09-23/Remediation.md 1.1 KB
- .audits/2026-10-02/Analysis.md 489 B
- .audits/2026-10-02/audit.json 552 B
- .audits/2026-10-02/Remediation.md 1.0 KB
- .audits/latest 10 B
- assets/.yamllint 1.6 KB
- assets/certificate-crd-test.yaml 248 B
- assets/comprehensive-test.yaml 1.0 KB
- assets/deployment-test.yaml 501 B
- evals/instructions.json 4.5 KB
- evals/scenario-1/capability.txt 106 B
- evals/scenario-1/criteria.json 2.2 KB
- evals/scenario-1/task.md 688 B
- evals/scenario-2/capability.txt 96 B
- evals/scenario-2/criteria.json 1.8 KB
- evals/scenario-2/task.md 413 B
- evals/scenario-3/capability.txt 115 B
- evals/scenario-3/criteria.json 2.0 KB
- evals/scenario-3/task.md 920 B
- evals/scenario-4/capability.txt 94 B
- evals/scenario-4/criteria.json 2.0 KB
- evals/scenario-4/task.md 608 B
- evals/scenario-5/capability.txt 101 B
- evals/scenario-5/criteria.json 1.9 KB
- evals/scenario-5/task.md 507 B
- evals/scenario-6/capability.txt 99 B
- evals/scenario-6/criteria.json 1.9 KB
- evals/scenario-6/task.md 274 B
- evals/summary.json 630 B
- references/k8s_best_practices.md 3.6 KB
- references/validation_workflow.md 13 KB
- scripts/detect_crd_wrapper.sh 1.0 KB runs code
- scripts/detect_crd.py 8.8 KB runs code
- scripts/setup_tools.sh 2.3 KB runs code
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.
- 24d ago Changed · +1 lines d7792725fce1
- 1mo ago Changed · +5 lines · -2 tokens per session 841c7ee00042
- 1mo ago First seen · 407 lines · 57 tokens per session scan A cba0cd1cf02d
k8s-yaml-validator is a skill published in the GitHub repository pantheon-org/tekhne (10 stars, last pushed today), licensed MIT. It adds 55 tokens to every session and 3,568 once invoked, about $0.0002 per session on Opus 5.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-09-03.
Other skills, from other repositories
gh-fix-ci
Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use gh to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL.
comet-github-ci-triage
A workflow for diagnosing failed GitHub Actions checks on a Comet pull request. GitHub Actions runs automated builds and tests; a pull request is a proposed code change waiting to be reviewed and merged.
ci-auto-fix
Diagnoses and fixes failing GitHub Actions CI, verifies locally, pushes, and confirms the checks pass on the new revision — never weakens checks. Triggers on "CI is failing", "fix the CI", "the build is red", "/ci-auto-fix".
fix-ci-until-green
Drive a failing GitHub Actions run to green in as few CI runs as possible, with a bounded fix-critique-commit-push-recheck loop that batches every evidenced fix into each push. Use when the user supplies a GitHub Actions run URL or run ID and wants the failure fixed, or asks to "make CI green", "fix the failing…
ci-failure-triage
Diagnose failed CI runs, build logs, test output, deployment checks, or pipeline summaries and produce a root-cause hypothesis, reproduction path, likely owner, fix plan, and escalation guidance. Use when Codex needs to triage broken builds, flaky tests, failed checks, or release-blocking automation failures.
ci-automation
Use when the pytorch-test-refactoring orchestrator emits "schedulecron" or "needagent" with phase "cidebug", when a CronCreate cron job fires and you need to run orchestrator.py --ci-check, or when the user says "look after the ci", "monitor ci", "check ci status", "watch the pr", or "debug ci failures".