사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/miaoge-ge/coding-agent-skills --skill competitive-programming-expert시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
Competitive Programming Problem Solver
Description
Solve competitive programming problems with optimal solutions, complexity analysis, and complete code implementation.
When to Use
- User provides problem link or description from LeetCode/Codeforces/AtCoder/ACM-ICPC platforms
- User requests "solve this algorithm problem" or "optimize this solution"
- User asks for specific algorithm/data structure implementation (e.g., "how to implement segment tree")
- User's code encounters TLE/MLE/WA and needs debugging
- User asks for solution templates or patterns for certain problem types
When NOT to Use
- User only asks about algorithm concepts or theory without specific problem
- User needs algorithm design for software engineering, not competitive programming
- User is doing system design or architecture problems
- User only needs code completion or syntax help without algorithmic logic
Input
{
problem: string // Problem description or link
platform?: string // Platform name (leetcode/codeforces/atcoder, etc.)
language?: string // Preferred language (default: C++ or Python)
userCode?: string // User's existing code (for optimization/debugging)
constraints?: { // Problem constraints
timeLimit?: string // e.g., "1s", "2s"
memoryLimit?: string // e.g., "256MB"
inputSize?: string // e.g., "n ≤ 10^5"
}
}Output
{
analysis: {
type: string // Problem type (DP/Graph/Greedy/Number Theory, etc.)
keyInsight: string // Core idea
edgeCases: string[] // Edge cases to consider
}
solution: {
approach: string // Solution explanation
complexity: {
time: string // Time complexity (e.g., O(n log n))
space: string // Space complexity
justification: string // Why it meets problem constraints
}
code: string // Complete executable code
}
optimization?: string // Optional optimization suggestions
}Execution Steps
Step 1: Understand Constraints
- Extract input size upper bound (e.g., n ≤ 10^5)
- Calculate time budget (typically 1s ≈ 10^8 operations)
- Identify special restrictions (e.g., read-only once, online algorithm)
Step 2: Classify and Model
- Categorize problem into known algorithm types (DP/Graph/Greedy/Number Theory/String/Computational Geometry)
- Extract mathematical model or state definition
- List at least 3 typical edge cases
Step 3: Design Solution
- Explain core idea in 1-2 sentences
- For non-obvious algorithms (e.g., greedy/constructive), briefly justify correctness
- Specify time and space complexity
Step 4: Implement Code
Output code according to platform conventions:
- LeetCode: Provide class/function definition without main function
- Codeforces/AtCoder: Provide complete code with standard I/O
- Other platforms: Ask user preference
Code requirements:
- Clear variable naming
- Comments on key steps
- Cover identified edge cases
Step 5: Verify and Optimize
- Validate correctness with sample inputs
- If user provides existing code, compare differences and identify bottlenecks
- If constant-factor optimizations exist (e.g., fast I/O, bitwise tricks), mention separately
Failure Handling
- Unclear problem: Request complete problem statement or link
- Missing constraints: Ask for input size bounds and time limits
- No optimal solution exists: Provide passable solution first, then discuss if better approach exists
- Language not supported: Explain language limitations and suggest alternatives
See Also
cpp-expert— language-level optimization, STL, and UB concerns for C++ submissions.python-expert— fast I/O and idiomatic patterns for Python submissions.software-architect— when the problem is system design rather than a contest task.




