关于 gauntlet-curate
gauntlet-curate 是用于检查 DSA 题库覆盖情况并准备 YAML 题目提案的技能,供人工审核。它会报告分类缺口,但不会修改已整理的题目文件。
主要功能
- 01按清单目标统计题目数量
- 02按覆盖缺口排列分类
- 03准备供审核的 YAML 提案
- 04使用 BankProblem 验证提案
适用场景
- 01找出题目数低于预期的分类
- 02准备纳入人工审核报告的新增题目
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill gauntlet-curate安装后在 Claude Code 中输入/gauntlet-curate确认已加载。
详细介绍
Gauntlet Curate
审查 DSA 题库,找出覆盖缺口,并提出新的 YAML 条目供人工审核。
不适用的情况
- 标注此代码库,而非题库(使用
gauntlet:curate) - 重建知识库(使用
gauntlet:extract)
此技能的触发时机
当题库需要进行覆盖审查时,手动调用此技能
Skill(gauntlet:gauntlet-curate)。此技能旨在参与 /update-plugins 运行,
但尚未接入该命令(请参阅 openpackage.yml 注册信息)。它不同于
gauntlet:curate;后者用于逐条标注的知识采集,也是 /gauntlet-curate 目前调用的技能。
步骤
-
定位题库:路径为
plugins/gauntlet/data/problems/。 阅读_manifest.yaml,加载各类别预期的 NeetCode 数量。 -
调查当前覆盖情况:统计每个 YAML 文件中的题目数量(跳过
_manifest.yaml)。 运行分析脚本:cd plugins/gauntlet python scripts/curate_problems.py data/problems/ --output /tmp/gauntlet-curate-report.md -
找出缺口:实际数量低于清单中
neetcode_count的类别。 脚本会按缺口从大到小排序,因此缺口最大的类别会显示在最前面。 -
审查缺口类别中的现有题目,了解当前已有的覆盖内容,再提出新增题目。
-
按照下方的架构提出新的 YAML 条目。 将提案添加到报告的“Proposed New Problems”部分。 请勿直接将提案写入
data/problems/*.yaml。 -
验证提案,运行:
python -c " import yaml, sys sys.path.insert(0, 'src') from gauntlet.models import BankProblem proposals = yaml.safe_load(open('proposals.yaml')) for p in proposals: BankProblem.from_dict(p) print('All proposals valid.') " -
向人工审核者提交报告。 报告包含覆盖情况表、缺口列表和提案条目。 由人工决定将哪些提案合并到 YAML 文件中。
题目架构
每个提案条目都必须符合以下架构:
- id: category-NNN
title: Problem Title
difficulty: easy # easy | medium | hard | extra_hard
prompt: |
Problem statement with constraints and examples.
hints:
- First hint.
- Second hint.
solution_outline: |
Approach and time/space complexity.
tags: [tag1, tag2]
neetcode_id: neetcode-NNN
challenge_type: explain_why # explain_why | multiple_choice | trace
# | code_complete | debug | rank
必填字段:id、title、difficulty、prompt。
选填字段默认为空值。
安全限制
- 切勿直接修改
data/problems/下的文件。 - 切勿使用
--write或--fix标志运行:脚本有意不提供这些标志。 - 所有输出都必须是供人工审批的提案报告。
- 不得改动现有的人工精选题目。
输出
在 --output 指定的路径生成 Markdown 报告,其中包含:
- 覆盖情况汇总表(各类别的预期数量与实际数量)
- 按缺少数量排序的缺口列表
- 新提案的 YAML 架构模板
- 供人工审核者添加提案的空白区域
任何 YAML 文件变更都必须先经过人工审核。
完成标准
- 脚本无错误运行,并在
--output指定的路径生成 Markdown 报告(例如/tmp/gauntlet-curate-report.md) - 报告包含覆盖情况汇总表,比较
_manifest.yaml中每个类别的预期neetcode_count与实际数量,并按缺口从大到小排序 - 未修改
plugins/gauntlet/data/problems/下的任何文件;所有提案仅出现在报告的“Proposed New Problems”部分 - 报告中的每个提案 YAML 条目都已通过
BankProblem.from_dict()验证(必填字段:id、title、difficulty、prompt)