creating-problems

Orchestrates end-to-end preparation of competitive programming problems into Polygon-ready packages.

1|Updated Sep 3, 2026
One-click install
npx skills add https://github.com/nudetiger/competitive-programming-problem-preparer --skill creating-problems-nudetiger
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: creating-problems
Source: https://github.com/nudetiger/competitive-programming-problem-preparer/tree/main/skills/creating-problems
Command: npx skills add https://github.com/nudetiger/competitive-programming-problem-preparer --skill creating-problems-nudetiger

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Turning a raw problem idea into a complete, contest-ready competitive programming package requires coordinating many error-prone steps: choosing OI vs ICPC format, designing subtask scoring, writing model and brute-force solutions, stress testing, building testlib validators and generators, and auditing the result. This Skill sequences that entire pipeline with gated checkpoints so nothing ships half-finished. ## Core Features & Use Cases - Gated pipeline orchestration: Drives the full flow from idea to package — shaping, coding, stress testing, test generation, attack zoo, statement, and review — delegating each phase to sibling skills while enforcing order and loop-backs. - Machine-readable progress tracking: Resumes work from disk via tools/package_status.py and problem.json rather than chat memory, so interrupted sessions continue at the first incomplete phase. - OI/ICPC format handling: Blocks on format questions, enforces subtask ladders with point splits summing to 100 for OI, and applies kill-test policies appropriate to each format. - Use Case: A problem setter says "take this idea to a Polygon package" — the Skill asks the format questions, produces problem.json, writes sol-main.cpp and sol-brute.cpp, stress tests them, generates testlib validators and generators, attacks the suite with a WA/TLE zoo, and finishes with a reviewed package. ## Quick Start Ask the assistant to take your problem idea and intended solution all the way to a Polygon-ready package, mentioning whether you want OI or ICPC format.

Frequently Asked Questions about creating-problems

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a competitive programming problem package from an idea?

Provide the problem idea and intended solution, then answer the format questions (OI or ICPC, subtask ladder, multi-test policy). The pipeline then produces problem.json, model and brute solutions, stress tests, validators, generators, samples, and a reviewed package.

What is the difference between OI and ICPC problem format?

OI format awards partial points across subtasks with a scoring ladder summing to 100, while ICPC is binary with a single test group and no subtask table. The Skill blocks on this choice before shaping and applies different test kill policies for each.

How does stress testing work for problem preparation?

The model solution runs against a trivial brute-force oracle for a configurable number of rounds, mixing tiny sizes for readable diffs with the largest sizes the brute can still finish. Any mismatch triggers a diagnose-fix-re-stress loop before generators are built.

Does this work on Windows for generating tests?

Yes, but use python instead of python3, avoid shell input redirects by feeding validators and generators through Python subprocess stdin, and normalize CRLF line endings when comparing outputs. Locked executables should be deleted or killed before recompiling.

When does the package get uploaded to Codeforces Polygon?

Upload happens only when explicitly requested in the conversation, never automatically. The package must first pass review, and the upload step requires the cf-polygon-mcp MCP server, writing the Polygon problem id back into problem.json.

Why did problem preparation stop at the shaping gate?

The pipeline blocks at gate G1 until problem.json loads successfully and the subtask ladder and scores are approved. It also stops on unresolvable statement ambiguity where two readings change the answers and no ruling was given.