lihaoze123/my-claude-code
Overview
This skill helps craft and deliver high-quality algorithm competition problems for ACM-ICPC, CCPC, Codeforces and similar contests. It guides you from idea conception through statement writing, test data generation, validators, and contest organization. The focus is practical: clarity, correctness, and reproducible test infrastructure.
How this skill works
The skill inspects every phase of problem preparation: idea originality, formal statement completeness, constraint and sample coverage, and test data quality. It provides templates and examples for testlib-based generators and basic checkers, plus guidance on time/memory limits and subtask design. It also highlights platform-specific workflows and common anti-patterns to stop and fix.
When to use it
- Designing new contest problems or problem sets
- Writing formal problem statements and LaTeX templates
- Generating and validating test data with testlib
- Implementing checkers, special judges, and validators
- Setting time/memory limits and subtask constraints
Best practices
- Ensure original, non-trivial problem ideas and avoid duplicates
- Write unambiguous statements: define every term and specify all ranges
- Provide strong samples including edge cases and common wrong interpretations
- Combine random and handcrafted tests; include extremes and boundaries
- Use testlib for reproducible generators and build simple, robust checkers for correctness
- Set time limits based on reference solutions (test std × 2) and design clear subtask structure
Example use cases
- Create a rated Codeforces contest problem from concept to deployable files
- Write LaTeX statements and sample I/O for an ICPC regional problem set
- Implement testlib generators producing mixed random and handcrafted data sets
- Develop a basic special judge or checker for non-unique-output problems
- Design subtasks and choose time/memory limits for multi-tier contests
FAQ
Benchmark a correct reference implementation on the judge machine or a comparable environment, then set the limit to roughly twice the observed run time to allow language and I/O variance.
What makes a sample set strong?
Include normal cases, boundary values, and examples that expose common misinterpretations. Add at least one sample that would fail naive or greedy approaches.
4 skills
This skill helps you design high-quality ACM-ICPC style problems by guiding statement writing, test data generation, and contest organization end-to-end.
This skill helps you configure NixOS with flakes and overlays correctly, ensuring useGlobalPkgs boundaries and proper host structure for reliable changes.
This skill helps you create structured, scalable best-practices guides and agent-ready documentation, separating quick references from comprehensive AGENTS
This skill helps you package pre-compiled binaries for NixOS by patching libraries and ensuring reproducible, working installations.