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 closedloop-ai/claude-plugins --skill plan-validategit clone --depth 1 https://github.com/closedloop-ai/claude-pluginsWrote 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/closedloop-ai/claude-plugins/plan-validate)<a href="https://agentmods.dev/skills/closedloop-ai/claude-plugins/plan-validate"><img src="https://agentmods.dev/badge/skills/closedloop-ai/claude-plugins/plan-validate.svg" alt="Measured on agentmods" height="20"></a>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.00089 | $0.01054 |
| Opus 5 | $0.00044 | $0.00527 |
| Sonnet 5 | $0.00018 | $0.00211 |
| Haiku 4.5 | $0.00009 | $0.00105 |
Grade A, and why
plan-validate 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 yesterday.
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 — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Plan Validate
Deterministic plan.json validation that replaces the plan-validator Sonnet agent for all structural checks. The semantic consistency check (storage/query alignment, task/architecture contradictions) still requires the LLM agent and should be run separately when needed.
When to Use
Activate this skill instead of launching @code:plan-validator at every plan validation site. The orchestrator should only launch the full plan-validator agent for semantic-only checks after plan creation or modification phases.
Usage
Run the validation script:
python3 ${CLAUDE_SKILL_DIR}/scripts/validate_plan.py <WORKDIR> --auto-sync
The --auto-sync flag detects questions answered in the markdown content that are still in the openQuestions JSON array, extracts the answer text, and moves them to answeredQuestions before validation — writing the updated plan.json back to disk.
Three answer formats are supported:
- Inline with prefix —
**Answer: text**,*Answer: text*, or plainAnswer: texton the question line. - A-### keyed answer — a separate
A-001: answer textline corresponding toQ-001. - Inline comment — extra text appended after the known question text on the question line, without any
Answer:prefix. Metadata markers like(BLOCKING T-X.Y)and[Recommended: ...]are stripped.
The question checkbox does not need to be checked for any format. When a question is migrated from an unchecked [ ] line, the script checks it automatically.
If none of these yield answer text, falls back to the recommendedAnswer field from the JSON entry. Questions with no extractable answer are left in openQuestions.
Always pass --auto-sync so that users can answer questions by editing the markdown directly.
Interpreting Output
The script prints JSON to stdout matching the exact plan-validator output format.
Plan Valid (PLAN_VALID)
{
"status": "VALID",
"issues": [],
"has_unanswered_questions": false,
"unanswered_questions": [],
"has_answered_questions": false,
"answered_questions": [],
"has_addressed_gaps": false,
"addressed_gaps": [],
"pending_tasks": [{"id": "T-1.1", "description": "...", "acceptanceCriteria": ["AC-001"]}],
"completed_tasks": [],
"manual_tasks": [],
"decision_table_path": ".closedloop-ai/decision-tables/pln-001.md",
"decision_table_status": "pending"
}
What ships with it
4 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.
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.
- yesterday First seen · 102 lines · 89 tokens per session scan A a9de0f4923c1
plan-validate is a skill published in the GitHub repository closedloop-ai/claude-plugins (103 stars, last pushed yesterday), licensed Apache-2.0. It adds 89 tokens to every session and 1,054 once invoked, about $0.0004 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-09-07.
Other skills, from other repositories
pr-reviewer
Reviews a diff or security scope read-only using evidence-tiered findings, structural and context-error rubrics, and repository review policy. Use when asked to "review my changes", "structural review", "review for AI patterns", or "security audit". For applying fixes use tidy; for UI defects use ui-design.
autoship
Runs a changesets npm release through the version PR, CI publish, and registry verification. Use when asked to "release this package", "autoship", "merge Version Packages", or diagnose a release that did not publish. For feature PRs use pr-creator or pr-babysitter.
scaffold-cli
Scaffolds a TypeScript CLI and npm package with the house toolchain, dual tsdown outputs, CLI contracts, changesets, and publishing templates. Use when asked to "scaffold a CLI" or "start an npm package". For an existing package release use autoship; for existing API ergonomics use dx-audit.
claw-mux
Control cmux terminal topology and I/O — send commands to panes, read output, split layouts, monitor logs, orchestrate multi-pane workflows. Requires cmux environment.
report-manager
Manage and refine vision-powers reports: list, open, delete, search, and refine sections. Use when asked to list, open, delete, search, or update generated HTML reports.
fetch-sitemap
Extract URLs from an XML sitemap with optional regex filtering.