关于 challenge
用于从知识库生成挑战并评估开发者回答的技能。它按知识条目和挑战类型自适应出题,并记录得分与连续答对情况。
主要功能
- 01根据知识条目自适应选题
- 02展示带上下文的问题
- 03按通过、部分通过或失败评分
- 04记录进度与连续答对情况
- 05失败时展示答案和解释
适用场景
- 01检查开发者对项目知识的掌握
- 02在开发过程中进行知识测验
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill challenge安装后在 Claude Code 中输入/challenge确认已加载。
详细介绍
Run Gauntlet 挑战
展示知识库中的挑战并评估答案。
不要使用的情况
- 知识库尚不存在(使用
gauntlet:extract) - 为新贡献者提供循序渐进的引导路径(使用
gauntlet:onboard)
回合内 Provider 设置
生成挑战前,注册回合内变体 provider,以免仅为生成一个同伴 Claude 而调用 Anthropic API (问题 #464)。在 Claude Code 之外,这一操作 不会执行,默认的 Anthropic provider 仍保持启用。
from gauntlet.providers.in_loop import (
register_in_loop_provider_if_inside_claude_code,
)
register_in_loop_provider_if_inside_claude_code()
步骤
-
加载状态:读取
.gauntlet/knowledge.json和开发者 进度 -
检查待处理的挑战:如果
.gauntlet/state/pending_challenge.json存在,则先将 开发者最近的一条消息作为答案进行评估,再生成新挑战 -
生成挑战:使用自适应权重选择一个知识条目和挑战类型
-
展示挑战:显示问题及其上下文
-
评估答案:为回答评分(通过/部分通过/未通过)
-
记录结果:更新开发者进度和连续答对次数
-
通过时:如果来自 pre-commit gate,则写入通过令牌。在会话中时,展示 下一项挑战。
-
未通过时:展示正确答案及说明。展示 新挑战。
评分
| 结果 | 分数 | 连续答对次数 |
|---|---|---|
| 通过 | 1.0 | +1 |
| 部分通过 | 0.5 | 重置 |
| 未通过 | 0.0 | 重置 |
完成条件
- 在生成挑战前,
.gauntlet/knowledge.json必须存在且可读取;如果文件缺失,技能会显示错误 并建议运行gauntlet:extract - 每次挑战尝试都会产生一个分数(1.0/0.5/0.0),写入 开发者的进度存储,并更新连续答对次数
-
.gauntlet/state/pending_challenge.json存在时,必须先进行评估,再 生成新挑战;评估后删除或更新该文件 - 未通过时,必须先展示正确答案及说明,再展示下一项挑战(不得悄然跳过)
评论
支持 Markdown