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

Contest

ASecurity

Adversarially judge a distilled ontology one candidate at a time — synonymy, polysemy, orphans, circular evidence, and coverage

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

Security Analysis

A100/100

Scanned 9/19/2026

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

Installs into .claude/skills of the current project.

Are you the author of Contest?

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

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

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: contest
description: "Adversarially judge a distilled ontology one candidate at a time — synonymy, polysemy, orphans, circular evidence, and coverage"
allowed-tools: ["Bash", "Read", "Grep", "Glob", "Edit", "Write", "Task", "AskUserQuestion"]
argument-hint: "[--out=<dir>] [--rounds=<n>] [--panel]"
user-invocable: true
disable-model-invocation: true
---


# /scholar:contest

Stage 4. Attack the ontology. Four passes, serial by default: one judge, one
candidate at a time, every verdict traceable to the evidence that settled it.

Read `../../references/evidence-tiers.md` before recording any number. The
analyzer ships beside it at `../../references/term-metrics.py`; `<analyzer>`
below is that path.

User arguments: $ARGUMENTS

## Pass 1 — mechanical

Run the analyzer:

```console
$ <analyzer> notes/ontology/<subject>/
```

It reports synonymy candidates, polysemy candidates, orphans, circular
evidence, and fan-out per type.

```
THE ANALYZER PROPOSES. IT NEVER DECIDES.
```

A high similarity score is a question — *are these one concept?* — not an
answer. Record the number in `evidence/metrics.md` with the command that
produced it, per the evidence tiers.

## Pass 2 — serial judgment

One candidate at a time. For each, write to `evidence/contested.md`:

- **Claim** — what the ontology currently asserts.
- **Objection** — the strongest case against it, argued properly rather than
  noted.
- **Evidence** — what settles it, cited or measured.
- **Verdict** — upheld, revised, or killed.

```
KILLS ARE RECORDED, NOT DISCARDED
```

A kill often carries more than a survivor, because it names a boundary the
ontology drew in the wrong place. A candidate rejected for the wrong reason
tells you the type above it is mis-specified.

Judge one candidate fully before starting the next. Batching them produces
verdicts that argue with each other.

## Pass 3 — completeness

Read `sources.jsonl` and ask what the study does not know:

- Which sources were never opened, and whether the vocabulary plausibly lives
  in one of them.
- Which terms rest on a single citation.
- Which types have exactly one member. A one-member type is usually a
  description wearing a type's clothes.
- Which terms have no citation that shows them in use, only in definition.

## Pass 4 — stop condition

Stop when a round surfaces no new contested claim, or at `--rounds`
(default 3). The convergence rule is `/spike:ratchet`'s: stop when the design
stops fighting back, not when a counter runs out.

## The circularity check

Runs in every pass. A citation whose quoted text contains the term it supports
proves the corpus uses the word, which was never in question, and hides
whether the corpus uses it the way the definition claims.

This is not theoretical. Routing eval prompts in this repository contained
their own skill's name, which made every rename candidate look expensive until
the self-reference was noticed.

## Panels

`--panel` hands one contested claim to independent adversarial participants
via `/weave:ask`, recording their verdicts in `evidence/contested.md` beside
the serial one. Where `weave` is not installed, say so and continue serially —
the panel is an amplifier, not a dependency.

## Rules

- Every analyzer finding has a recorded verdict before this stage hands off.
- A verdict cites or measures. "On reflection this seems fine" is not a
  verdict.
- Do not edit `terms.jsonl` to make a finding go away. Revise the claim and
  record why.
- A claim raised and not settled goes in `evidence/contested.md` as open, not
  in the brief.

## Output

Open with a one-line hero (`✓ <n> candidates judged, <n> killed, <n> open` or
`⚠ Blocked: <reason>`), then exactly these sections:

1. `## Findings` — what the analyzer proposed, by kind.
2. `## Verdicts` — each candidate, its objection, and how it resolved.
3. `## Kills` — what was killed and what the kill revealed.
4. `## Coverage` — what the study does not know, from pass 3.

End with an `AskUserQuestion` panel offering next steps (for example: another
round, run render, widen the corpus, stop here) — skip the panel only in plan
mode.

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 →