360 Secure SkillHub
360 安全技能中心

challenge

核心功能:从代码库知识库生成自适应选择题、代码跟踪题,评估用户答案并给出评分(通过/部分通过/失败),记录学习进度与连续答对 streak。典型场景:用于测试代码库贡献者的知识掌握程度,或帮助开发者巩固代码库知识。输入为用户答题内容,输出含题目、评分结果、解析(失败时),并推送下一道适配挑战题。

athola
athola
热度 62.86
最近更新 2026-08-26 21:12:21
分类:开发依赖:读写文件 / 内部调用大模型 / 代码执行应用场景:测验

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-gauntlet-challenge
Metadata
name
challenge
description
Presents adaptive codebase challenge questions with multiple-choice and trace exercises
version
1.9.8
triggers
["testing contributor knowledge of the codebase"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/gauntlet","emoji":"🦞"}}
source
claude-night-market
source_plugin
gauntlet

Night Market Skill — ported from claude-night-market/gauntlet. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Run Gauntlet Challenge

Present challenges from the knowledge base and evaluate answers.

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

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