mcpField
G
gauntlet-curate

gauntlet-curate

github.com/athola开发34375 次安装1 天前更新
代码仓库

关于 gauntlet-curate

gauntlet-curate 是用于检查 DSA 题库覆盖情况并准备 YAML 题目提案的技能,供人工审核。它会报告分类缺口,但不会修改已整理的题目文件。

主要功能

  1. 01按清单目标统计题目数量
  2. 02按覆盖缺口排列分类
  3. 03准备供审核的 YAML 提案
  4. 04使用 BankProblem 验证提案

适用场景

  1. 01找出题目数低于预期的分类
  2. 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 目前调用的技能。

步骤

  1. 定位题库:路径为 plugins/gauntlet/data/problems/。 阅读 _manifest.yaml,加载各类别预期的 NeetCode 数量。

  2. 调查当前覆盖情况:统计每个 YAML 文件中的题目数量(跳过 _manifest.yaml)。 运行分析脚本:

    cd plugins/gauntlet
    python scripts/curate_problems.py data/problems/ --output /tmp/gauntlet-curate-report.md
    
  3. 找出缺口:实际数量低于清单中 neetcode_count 的类别。 脚本会按缺口从大到小排序,因此缺口最大的类别会显示在最前面。

  4. 审查缺口类别中的现有题目,了解当前已有的覆盖内容,再提出新增题目。

  5. 按照下方的架构提出新的 YAML 条目。 将提案添加到报告的“Proposed New Problems”部分。 请勿直接将提案写入 data/problems/*.yaml。

  6. 验证提案,运行:

    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.')
    "
    
  7. 向人工审核者提交报告。 报告包含覆盖情况表、缺口列表和提案条目。 由人工决定将哪些提案合并到 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)

评论

支持 Markdown