challenge

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

athola/claude-night-market74 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: challenge
description: Presents adaptive codebase challenge questions with multiple-choice and trace exercises. Use when testing contributor knowledge of the codebase.
license: MIT
---

# 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.

```python
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

| Result | Score | Streak |
|--------|-------|--------|
| Pass | 1.0 | +1 |
| Partial | 0.5 | reset |
| Fail | 0.0 | reset |

## 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)

More Testing skills

← All Testing skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY