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 athola/claude-night-market --skill challengegit clone --depth 1 https://github.com/athola/claude-night-marketWrote 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/athola/claude-night-market/challenge)<a href="https://agentmods.dev/skills/athola/claude-night-market/challenge"><img src="https://agentmods.dev/badge/skills/athola/claude-night-market/challenge/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/athola/claude-night-market/challenge"><img src="https://agentmods.dev/badge/skills/athola/claude-night-market/challenge.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.00026 | $0.00571 |
| Opus 5 | $0.00013 | $0.00285 |
| Sonnet 5 | $0.00005 | $0.00114 |
| Haiku 4.5 | $0.00003 | $0.00057 |
Grade A, and why
challenge 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 8d 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 — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run Gauntlet Challenge
Present challenges from the knowledge base and evaluate answers.
When NOT To Use
- The knowledge base does not exist yet (use
gauntlet:extract) - A staged path for a new contributor (use
gauntlet:onboard)
In-Loop Provider Setup
Before generating a challenge, register the in-loop variation provider so we do not call out to the Anthropic API just to spawn a sibling Claude (issue #464). Outside Claude Code this is a no-op and the default Anthropic provider remains active.
from gauntlet.providers.in_loop import (
register_in_loop_provider_if_inside_claude_code,
)
register_in_loop_provider_if_inside_claude_code()
Steps
-
Load state: read
.gauntlet/knowledge.jsonand developer progress -
Check for pending challenge: if
.gauntlet/state/pending_challenge.jsonexists, evaluate the developer's most recent message as an answer before generating a new one -
Generate challenge: use adaptive weighting to select a knowledge entry and challenge type
-
Present challenge: show the question with context
-
Evaluate answer: score the response (pass/partial/fail)
-
Record result: update developer progress and streak
-
On pass: write pass token if from pre-commit gate. Show next challenge if in session.
-
On fail: show correct answer with explanation. Present a new challenge.
Scoring
| Result | Score | Streak |
|---|---|---|
| Pass | 1.0 | +1 |
| Partial | 0.5 | reset |
| Fail | 0.0 | reset |
Exit Criteria
-
.gauntlet/knowledge.jsonexists and is readable before a challenge is generated; if missing, the skill surfaces the error and suggests runninggauntlet:extract - Each challenge attempt results in a score (1.0/0.5/0.0) written to the developer's progress store and a streak update applied
-
.gauntlet/state/pending_challenge.jsonis evaluated before generating a new challenge when it exists; the file is removed or updated after evaluation - On fail, the correct answer and explanation are shown before the next challenge is presented (not skipped silently)
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.
- 8d ago First seen · 75 lines · 26 tokens per session scan A 408425855e02
challenge is a skill published in the GitHub repository athola/claude-night-market (337 stars, last pushed yesterday), licensed MIT. It adds 26 tokens to every session and 571 once invoked, about $0.0001 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-03.
Other skills, from other repositories
land
Build a stepped deck an audience works through until one thing of it stays with them. Use when the user needs an audience to come away holding one thing.
test-levels
This skill explains the 3 test levels (Unit, Integration, E2E) using the "Building a Car" analogy and provides guidance on when to use each type. Includes project-specific Playwright examples.
grasp
Build a walkthrough the user works through until they can pass a quiz on it. Use when the user needs to understand something deeply and be quizzed on it.
toy
Build a world the human drives until how a thing behaves is intuitive. Use when the user needs to hold how something behaves and reading has not made it intuitive.
learn
Help the user understand something well enough to explain it. Use when the user needs to understand something and it is not yet clear what kind of understanding they need.
algorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright…