mcpbeat

Challenge

athola/challenge

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

591 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
324
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/athola/claude-night-market --skill challenge

The instruction itself

6 sections, as written by the author

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.json and developer

progress

  • 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

  • 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.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)

How to use it

Copy the folder

Take athola/challenge from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.