Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Scholar Verify

ASecurity

Re-check a finished study against the corpus it cites — refs that moved, files that vanished, quotations that no longer match, numbers that changed

3 stars
0 votes
0 copies
3 views
Added 9/19/2026
ai-agentsgobash

Works with

claude code

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 9/19/2026

$npx -y skills add tony/skills --skill scholar-verify --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scholar Verify?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Scholar Verify
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tony-scholar-verify/badge)](https://www.skillsdirectory.com/skills/tony-scholar-verify)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: scholar-verify
description: >-
  Re-check a finished study against the corpus it cites — refs that moved,
  files that vanished, quotations that no longer match, numbers that changed
disable-model-invocation: true
allowed-tools: ["Bash", "Read", "Grep", "Glob", "WebFetch"]
metadata:
  argument-hint: "[<study-dir>] [--refresh-metrics]"
  source: "plugins/scholar/skills/verify/SKILL.md"
---

# this skill

A study is a set of claims about a corpus that keeps moving. Without this, it
rots into confident falsehood: every link still resolves, every number still
reads as measured, and none of it is true any more.

Read `references/citation.md` for what a citation was required to carry.

User arguments: $ARGUMENTS

## Procedure

### 1. Walk every citation

For each `cites` entry in `terms.jsonl`, confirm three things separately,
because they fail differently:

The ref still exists. A tag can be moved or deleted, and a deleted tag makes
every URL built on it a 404 rather than a wrong answer.

The file still exists at that path on that ref.

```console
$ curl -s -o /dev/null -w '%{http_code}\n' -L '<url>'
```

The quoted text still appears at the recorded locator. This is the one that
fails silently: a file that grew by ten lines leaves a line-anchor citation
resolving to unrelated code while still returning 200.

### 2. Re-run the measurements

With `--refresh-metrics`, run every command recorded in `evidence/metrics.md`
and diff the output against what was recorded. A number that changed is not
automatically wrong — the corpus moved — but it is no longer evidence for the
claim it was cited under.

### 3. Report by failure mode

Four categories, because the remedy differs:

- **Moved** — the ref advanced or the tag was retargeted. Re-pin.
- **Vanished** — the file or ref is gone. The claim needs a new source or it
  needs retracting.
- **Misquoted** — the locator resolves but the text there is not what was
  quoted. This is the dangerous one, and it is why quotations are recorded
  rather than just links.
- **Changed** — a measurement produced a different number.

## Rules

- Do not edit a claim in place. Anything that overturns a standing claim goes
  to the `scholar-revise` skill, which records what was believed and why it failed.
- Report a broken citation; do not repair it by finding a new source that
  happens to support the same claim. That is fitting evidence to a conclusion.
- A citation that cannot be checked — a source now behind a paywall, a deleted
  repository — is reported as uncheckable, not as passing.

## Output

Open with a one-line hero (`✓ <n> citations checked, <n> stale` or
`⚠ <n> misquoted`), then exactly these sections:

1. `## Moved` — each citation whose ref advanced, with the new ref.
2. `## Vanished` — each source that is gone.
3. `## Misquoted` — each locator whose text no longer matches, with both texts.
4. `## Changed` — each measurement that produced a different number, with both.

End with an `ask-user-choice` panel offering next steps (for example: revise
the overturned claims, re-pin the moved ones, stop here) — skip the panel only
in plan mode.


## Portability notes

- `ask-user-choice` — present the listed options and wait for the user to pick one. Hosts with a structured multiple-choice tool (Claude Code's `AskUserQuestion`) should use it; otherwise print a numbered list and wait for a numbered reply. Never proceed on an assumed answer.
- `$ARGUMENTS` — the text the user passed when invoking this skill. If your host does not substitute it, read it as the user's request in the current turn, and ask when there is none.
- Bundled files — every relative path in this skill points at a file shipped inside this skill directory. Read them from here, not from the host's plugin tree.

Attribution

tonytony
View sourceSee grades on GitHubMore from tony →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →