Skip to content
Back to skills

Aoc

ASecurity

Solve Advent of Code puzzles, algorithm challenges, and competitive programming problems. Activate when user provides AoC problem context/input, mentions solving puzzles/challenges, asks about algorithm selection (BFS, DFS, DP, etc.), or needs help with parsing structured input.

  • 57 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 17, 2026
code-qualitypythonrustgodebugging

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill aoc --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aoc?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aoc
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-aoc/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-aoc)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aoc
description: "Solve Advent of Code puzzles, algorithm challenges, and competitive programming problems. Activate when user provides AoC problem context/input, mentions solving puzzles/challenges, asks about algorithm selection (BFS, DFS, DP, etc.), or needs help with parsing structured input."
---

# Advent of Code Solver

Language-agnostic problem-solving with **TDD** and **correctness-first** approach.

## Workflow

```
1. READ      → Study problem + examples (examples are your spec)
2. PARSE     → Extract data structures from input
3. TEST      → Write tests from example input/output
4. IMPLEMENT → Minimal code to pass
5. RUN       → Execute on real input
6. ADAPT     → Refactor for Part 2
```

## Solution Architecture

```
parse(input) → data structure
part1(data)  → answer
part2(data)  → answer
```

Parse once. Solve both parts. Test each function independently.

## Algorithm Selection

| Scenario | Algorithm |
|----------|-----------|
| Unweighted shortest path | BFS |
| Path existence / exhaustive | DFS |
| Weighted shortest path | Dijkstra |
| Weighted + good heuristic | A* |
| "After N iterations..." (huge N) | Cycle detection |
| "Find minimum X such that..." | Binary search |
| "Count ways..." / "Min/max..." | Dynamic programming |
| Connected regions | Flood fill |

**Deep dive**: See [algorithms.md](cookbook/algorithms.md)

## Input Patterns

| Format | Approach |
|--------|----------|
| Numbers in text | Regex `-?\d+` |
| Grid of chars | 2D array or dict by coords |
| Blank-line groups | Split on `\n\n` first |
| Key-value pairs | Parse into map/dict |
| Instructions/opcodes | Pattern match each line |

**Grids**: Use `(row, col)` with row↓. Sparse dict for infinite/sparse grids.
**Directions**: `UP=(-1,0), DOWN=(1,0), LEFT=(0,-1), RIGHT=(0,1)`

**Deep dive**: See [parsing.md](cookbook/parsing.md)

## Part 2 Patterns

1. **Scale up** → Optimize algorithm
2. **Add dimensions** → 2D → 3D/4D
3. **Many iterations** → Find cycle, skip ahead
4. **Reverse question** → "Find X" → "Given X, find Y"
5. **Add constraints** → New rules or edge cases

## Debugging

- Print intermediate state at each step
- Compare with example walkthrough
- Add assertions for every assumption
- Test parsing separately from logic
- Binary search on input size to isolate failures

## Complexity Targets

| Input Size | Target |
|------------|--------|
| n ≤ 20 | O(2^n) OK |
| n ≤ 500 | O(n³) OK |
| n ≤ 10,000 | O(n²) OK |
| n ≤ 1,000,000 | O(n log n) |
| n > 1,000,000 | O(n) or O(log n) |

## Research Tools

```
# gh search code for algorithm implementations
gh search code "heapq.heappush" --language=python   # Dijkstra/priority queue
gh search code "collections.deque" --language=python # BFS patterns
gh search code "fn dijkstra" --language=rust
```

## References

- [algorithms.md](cookbook/algorithms.md) - Graph traversal, DP, cycle detection, search
- [parsing.md](cookbook/parsing.md) - Input formats, grids, coordinates, hex grids
- [reference.md](reference.md) - Data structures, optimization, anti-patterns

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.