How I Built a 13-Agent Claude Skill That Dominates Competitive Coding Challenges
I built Competitive Dominator โ an open-source Claude Skill that deploys 13 specialized AI agents (Product Manager, Architect, Developer, Tester, Data Scientist, Security Auditor, and more) to systematically win coding competitions. Instead of writing throwaway scripts, it treats every challenge like a product launch with a 6-phase pipeline, TDD, self-evaluation scoring, and a memory-safe state document. Built entirely in one Claude.ai session. 2,450+ lines, 20 files, works across all platforms
Key Metrics
The Problem:
I participate in competitive coding challenges across platforms โ Kaggle, hackathons, Codeforces, DevPost buildathons, AI/ML competitions. Every time, I noticed the same pattern:
I'd jump straight into coding without fully parsing the scoring rubric I'd forget edge cases that cost me points I'd run out of time because I optimized the wrong things My submissions lacked documentation, tests, and polish that judges notice In long Claude sessions, context compaction would make Claude forget key decisions mid-competition
The real insight: winning competitions isn't about writing the cleverest algorithm. It's about covering every angle โ product thinking, architecture, testing, security, documentation โ like a real team would.
The Solution:
I built Competitive Dominator โ a Claude Skill that deploys a virtual team of 13 specialized agents to attack challenges from every perspective.
How It Works:
When you tell Claude about a competition, the skill kicks off a 6-phase pipeline: Phase 0 โ Intelligence Gathering: Parses the challenge spec word-by-word. Extracts scoring criteria, constraints, input/output formats, and hidden requirements. Creates a Challenge State Document (more on this below). Phase 1 โ Deploy Agent Team: Based on challenge type, activates the right specialists:
Chief Product Manager โ owns the scoring rubric, prioritizes by points-per-effort Solution Architect โ picks algorithms, analyzes complexity, designs the structure Lead Developer โ writes clean, idiomatic, documented code Test Engineer โ TDD, edge cases, stress tests, fuzzing Code Reviewer โ catches bugs, performance issues, scoring alignment gaps Data Scientist โ activated for ML/data challenges (feature engineering, ensembling, CV strategy) ML Engineer โ training pipelines, LLM integration, reproducibility Plus: Performance Engineer, Security Auditor, DevOps, Technical Writer, UX Designer, Risk Manager
Phase 2 โ Architecture: Design before code. Complexity analysis, module structure, API contracts, optimization roadmap (V1 โ V2 โ V3).
Phase 3 โ Implementation: Test-Driven Development. Tests written before code. Every module tested after implementation. Output format validated character-by-character.
Phase 4 โ Optimization Loop: Self-evaluates the solution against every scoring criterion using a built-in scoring engine. Produces a gap analysis ranked by ROI (points ร probability / effort). Closes gaps in priority order.
Phase 5 โ Submission Prep: Final review circuit by all agents. Platform-specific submission checklist. Packaging, format verification, documentation.
The Memory Problem (And How I Solved It):
The biggest challenge building long competition solutions with Claude is context loss. During compaction, Claude forgets key decisions, constraints, even what the challenge is about. The solution: a Challenge State Document (CHALLENGE_STATE.md) that acts as a living single source of truth. It tracks the challenge spec, scoring criteria, agent assignments, every decision with reasoning, and current progress. Claude reads this file to recover full context after any compaction. There's a Python script (challenge_state.py) that manages this document programmatically โ initialize, update status, log decisions, add agent assignments.
The Self-Evaluation Engine:
Most competitors don't score themselves before submitting. The built-in self_eval.py script produces a gap analysis table: Criterion Weight Score Max Gap Effort Priority Correctness 40.0 35.0 40.0 5.0 medium 100.0 Code Quality 15.0 10.0 15.0 5.0 low 75.0 Performance 20.0 15.0 20.0 5.0 high 25.0 Priority = (weight ร gap) / effort. So you always work on the highest-ROI improvement first.
What I Built (Architecture):
competitive-dominator/ โโโ SKILL.md โ Main skill (Claude reads this first) โโโ INSTALL.md โ 5 installation methods โโโ README.md, LICENSE, etc. โ GitHub-ready โโโ agents/ โ 8 agent role definitions โ โโโ chief-product-manager.md โ โโโ solution-architect.md โ โโโ lead-developer.md โ โโโ test-engineer.md โ โโโ code-reviewer.md โ โโโ data-scientist.md โ โโโ ml-engineer.md โ โโโ conditional-agents.md โ 6 more agents in one file โโโ references/ โ Deep playbooks (loaded on demand) โ โโโ challenge-taxonomy.md โ 6 challenge categories โ โโโ ml-playbook.md โ ML competition winning framework โ โโโ web-playbook.md โ Hackathon speed architecture โ โโโ submission-checklist.md โ Platform-specific verification โโโ scripts/ โ Zero-dependency Python tools โโโ challenge_state.py โ State document manager โโโ self_eval.py โ Gap analysis scoring engine The skill uses progressive disclosure โ Claude only loads what's needed. The main SKILL.md is always loaded (~200 lines). Agent files load based on challenge type. Reference playbooks load only for specific categories. This keeps context lean while having deep expertise available.
Tech Stack:
Claude.ai โ entire skill authored in a single session Markdown โ all instructions and agent definitions Python โ utility scripts (zero external dependencies, stdlib only) Git/GitHub โ version control and distribution
No frameworks. No npm packages. No build step. Just markdown files that Claude reads and Python scripts that Claude runs.
Hard-Won Lessons:
- Treat the scoring rubric like a product spec. Most competitors read the problem statement but skim the evaluation criteria. The CPM agent forces you to map every line of code to specific points on the board.
- TDD works in competitions too. Writing tests first catches output format mismatches early. I've seen submissions score zero because of a trailing newline. The Test Engineer agent prevents this.
- Context compaction is the real enemy in long sessions. The Challenge State Document pattern is the single most important feature. Without it, Claude loses track of constraints and makes decisions that contradict earlier ones.
- Progressive disclosure matters for skills. My first draft put everything in SKILL.md โ 800+ lines. Claude would waste tokens reading ML playbook content for a simple algorithmic challenge. Splitting into on-demand references cut unnecessary context by ~60%.
- Self-evaluation before submission is a cheat code. Most people submit and hope. Scoring yourself against the rubric first, then fixing the highest-ROI gaps, consistently improves placement.
What's Next:
Adding more platform-specific agents (Kaggle notebook agent, Codeforces fast I/O agent) Building a competition history tracker that learns from past submissions Creating a prompt-based "challenge simulator" for practice Integrating with the Claude Code plugin marketplace when available
Links:
GitHub: https://github.com/ankitjha67/competitive-dominator License: MIT (free to use, modify, distribute) Install: cp -r competitive-dominator ~/.claude/skills/user/competitive-dominator
2 upvotes
Comments (2)
clawhackersยทThanks for sharing this, @ankitjha67 and for being one of the first contributors on ClawHackers! ๐ Competitive Dominator is a fascinating approach: turning coding challenges into a structured product pipeline with a team of AI agents. Super interesting project. Really excited to see projects like this documented here. Thanks for helping kick off the community!
- Aankitjha67ยท
@clawhackers - Thank you so much