Agent skill
vloj
LibreOJ题目抓取与解题工作流。用户输入形如loj1/loj001或https://loj.ac/p/1 等题号或URL时触发;创建以题号命名的空文件夹,使用Chrome DevTools MCP读取题面并保存为md文件,最后用C++、C、C#、Python、Java、Kotlin、Pascal、Rust、Go、Haskell生成解答文件。
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/vloj
SKILL.md
vloj
目标
- 解析题号,创建以题号命名的空文件夹。
- 访问对应题目页面,抓取题面并写入Markdown。
- 编写C++、C、C#、Python、Java、Kotlin、Pascal、Rust、Go、Haskell解答文件。
触发与解析
- 支持输入示例:
loj1、loj001、https://loj.ac/p/1、http://loj.ac/p/123。 - 提取连续数字作为题号,去除前导零后作为规范题号。
- 题目URL格式固定为:
https://loj.ac/p/<id>。
工作流
-
创建空文件夹
- 在当前工作区根目录创建以题号命名的文件夹:
<id>/。 - 若文件夹不存在,直接创建。
- 若文件夹已存在且非空,先请求用户确认是否清空;确认后删除内容并保持空文件夹。
- 在当前工作区根目录创建以题号命名的文件夹:
-
读取题面(Chrome DevTools MCP)
- 打开题目URL并等待页面加载完成。
- 使用页面快照或脚本评估获取题面主体文本:
- 优先抓取页面主内容区域(常见为
main、article、或含“题目描述/输入格式/输出格式/样例”文本的容器)。 - 无法精准定位时,回退使用
document.body.innerText,再按标题/小节进行整理。
- 优先抓取页面主内容区域(常见为
- 需要确保包含题目标题、描述、输入输出、样例与提示(如存在)。
-
写入Markdown
- 在题号文件夹中创建
problem.md。 - 内容结构:
- 标题:
# <题号> <题目标题> - URL:
原始URL - 题面正文分节整理(保留原有小节标题)。
- 标题:
- 在题号文件夹中创建
-
编写C++解答
- 在题号文件夹中创建
solution.cpp。 - 使用 C++11 标准,包含必要头文件与
main()。 - 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写C解答
- 在题号文件夹中创建
solution.c。 - 使用 C11 标准,包含必要头文件与
main()。 - 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Python解答
- 在题号文件夹中创建
solution.py。 - 使用 Python 3.10,包含必要的输入输出处理。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Java解答
- 在题号文件夹中创建
solution.java。 - 使用 Java 8 标准,类名为
Main,包含main()方法。 - 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Kotlin解答
- 在题号文件夹中创建
solution.kt。 - 使用 Kotlin 1.8 标准。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Pascal解答
- 在题号文件夹中创建
solution.pas。 - 使用 Free Pascal 3.2 标准。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Rust解答
- 在题号文件夹中创建
solution.rs。 - 使用 Rust 2021 标准。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Go解答
- 在题号文件夹中创建
solution.go。 - 使用 Go 1.x 标准。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写Haskell解答
- 在题号文件夹中创建
solution.hs。 - 使用 Haskell 2010 标准。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
-
编写C#解答
- 在题号文件夹中创建
solution.cs。 - 使用 C# 9 (.NET 5) 标准。
- 依据题意实现可通过的解法,并在顶部用简短注释说明思路与复杂度。
- 在题号文件夹中创建
输出约束
- 仅创建
problem.md、solution.c、solution.cpp、solution.cs、solution.py、solution.java、solution.kt、solution.pas、solution.rs、solution.go与solution.hs,不生成额外文件。 - 保持文件夹为空创建流程的前置步骤,先建目录再抓取题面。
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?