Run Gauntlet Challenge

SkillAI & models

Presents adaptive codebase challenge questions with multiple-choice and trace exercises. Use when testing contributor knowledge of the codebase.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Run Gauntlet Challenge skill

What this skill tells your AI

The instructions your AI receives, as published by athola/claude-night-market in plugins/gauntlet/skills/challenge/SKILL.md and read by ahel’s review.

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

  1. Load state: read .gauntlet/knowledge.json and developer progress

  2. Check for pending challenge: if .gauntlet/state/pending_challenge.json exists, evaluate the developer's most recent message as an answer before generating a new one

  3. Generate challenge: use adaptive weighting to select a knowledge entry and challenge type

  4. Present challenge: show the question with context

  5. Evaluate answer: score the response (pass/partial/fail)

  6. Record result: update developer progress and streak

  7. On pass: write pass token if from pre-commit gate. Show next challenge if in session.

  8. On fail: show correct answer with explanation. Present a new challenge.

Scoring

ResultScoreStreak
Pass1.0+1
Partial0.5reset
Fail0.0reset

Exit Criteria

  • .gauntlet/knowledge.json exists and is readable before a challenge is generated; if missing, the skill surfaces the error and suggests running gauntlet: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.json is 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)

Signals

GitHub stars
337
Forks
34
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
challenge-athola
Source
github.com/athola/claude-night-market