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 agentmods add skills/ar9av/obsidian-wiki/impl-validatornpx skills add Ar9av/obsidian-wiki --skill impl-validatorgit clone --depth 1 https://github.com/Ar9av/obsidian-wikiWhat 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 | $0.00105 | $0.01146 |
| Opus 5 | $0.00053 | $0.00573 |
| Sonnet 5 | $0.00021 | $0.00229 |
| Haiku 4.5 | $0.00011 | $0.00115 |
Grade A, and why
impl-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 3d 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.
Copies of this mod
2 near-identical copies found in the catalogue:
- beeweave-impl-validator — 92% identical, 10 lines differ
- impl-validator — 91% identical, 12 lines differ
How it starts
The opening of the file, as written. The whole thing — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Implementation Validator — Quality Subagent
You are a critical reviewer. Another skill or agent has just done work and wants you to check it. Your job is to verify that what was produced actually matches what was intended — not to be encouraging, but to catch real problems before the user sees them.
This skill runs in two modes:
- Subagent mode — spawned programmatically by another skill passing a structured
check:block. Read the block, run the checks, return structured output. - User mode — the user invokes
/impl-validatordirectly, usually with a description of what was just done.
Input Format (Subagent Mode)
When spawned by another skill, you receive a block like:
impl-validator check:
goal: "<what the implementation was supposed to accomplish>"
artifacts: [<list of files written, commands run, or text output produced>]
checks:
- <specific thing to verify>
- <specific thing to verify>
...
Parse this block and treat each field as your mandate.
Input Format (User Mode)
The user describes what was just done. Infer the goal and artifacts from context. Ask one clarifying question if the goal is ambiguous — do not proceed on a guess for critical checks.
Validation Protocol
Step 1: Understand the Goal
Restate the goal in one sentence. If you can't, the goal is underspecified — flag this as a WARN.
Step 2: Check Each Artifact
For each artifact (file, output, config):
- Existence check — does the file/output actually exist? Read it.
- Completeness check — does it contain all required sections/fields the goal implies?
- Correctness check — does the content logically match the stated goal? Look for:
- Placeholder text left in place (
<TODO>,{{variable}},INSERT HERE) - Copy-paste errors (wrong tool name, wrong path, stale dates)
- Logical contradictions (e.g. a diff that claims page X is "only in codex" but also lists it under claude)
- Missing required fields (e.g. a SKILL.md missing
name:ordescription:frontmatter) - Off-by-one or empty-set edge cases (e.g. page count = 0 when vault is known non-empty)
- Placeholder text left in place (
- Convention check — does it follow the project's established patterns?
- Skills: has YAML frontmatter with
nameanddescription; instructions are in imperative voice; steps are numbered; no placeholder text - Wiki pages: has all required frontmatter fields (
title,category,tags,sources,created,updated) - Shell scripts: have a shebang line; are
chmod +x-able; useset -e - Plist files: valid XML;
Labelmatches filename;ProgramArgumentsreferences a real path
- Skills: has YAML frontmatter with
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.
- 3d ago First seen · 119 lines · 105 tokens per session scan A 31d2548ec1b1
impl-validator is a skill published in the GitHub repository Ar9av/obsidian-wiki (3,325 stars, last pushed 2d ago), licensed MIT. It adds 105 tokens to every session and 1,146 once invoked, about $0.0005 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.
Other skills, from other repositories
deeprefine
Agent-native DeepRefine refinement loop — same control flow as DeepRefine.refine(), graphify search instead of FAISS, session LLM, dry-run review before approved graph writes.
deeprefine
Agent-native DeepRefine refinement loop — same control flow as DeepRefine.refine(), graphify search instead of FAISS, session LLM, dry-run review before approved graph writes.
deeprefine
Claude Code adapter for the DeepRefine agent-native refinement loop. Use when the user invokes /deeprefine, or asks to refine, diagnose, review, or apply changes to a Graphify / LLM-Wiki knowledge graph. Must follow the canonical DeepRefine skill rules and stop for review before graph writes.
binder-modeling
Binder data modeling — define entity types, fields, relations, constraints, views, and navigation. Use when asked to "create a type", "add a field", "define a schema", "set up relations", "model entities", "create a view", "set up navigation", "render entities as files", or design a binder workspace schema.
binder-app
Build a small HTTP app (dashboard, kanban board, admin panel, custom UI) on top of an existing Binder workspace. Use when asked to "create an app", "build a dashboard", "show records in a chart", "make a kanban/board", "build an admin panel", or "add a UI on top of binder".
binder-import
Import external data into a Binder workspace. Handles CSV, JSON, YAML, Markdown files, and directories of Markdown. Use when asked to "import data", "load records from a file", "ingest documents", "migrate data into binder", or bulk-create records from an external source.