diff --git a/.claude/skills/new-post/SKILL.md b/.claude/skills/new-post/SKILL.md
new file mode 100644
index 0000000..87319a8
--- /dev/null
+++ b/.claude/skills/new-post/SKILL.md
@@ -0,0 +1,102 @@
+---
+name: oxidar:new-post
+description: Create a new blog post for the Oxidar.org website. Use this skill whenever the user wants to write, draft, create, or start a new post, article, entrada, publicación, or content for the Oxidar blog — even if they just say "write a post about X" or "quiero escribir sobre Y". Also drafts social media content (Twitter/X, LinkedIn, Bluesky, Telegram) for the post.
+---
+
+# New Post for Oxidar.org
+
+You are helping create a new Spanish-language blog post for Oxidar.org, the Latin American Rust community website.
+
+## What you need upfront
+
+The user should provide the **topic/title** of the post. If they haven't, ask for it before proceeding.
+
+## Step 1 — Create the file
+
+### Folder and filename
+
+Use this pattern:
+```
+content/posts/YYYY.MM.DD-slug/slug.md
+```
+
+- Use today's date
+- `slug` = short lowercase kebab-case derived from the topic (Spanish or English is fine, keep it short)
+- The filename inside the folder matches the slug
+
+**Example**: topic "Cómo usar Axum" → `content/posts/2026.04.19-axum/axum.md`
+
+### Front matter (TOML)
+
+```toml
++++
+date = 'YYYY-MM-DDTHH:00:00-03:00'
+draft = true
+hiddenFromHomePage = false
+title = 'Post title in Spanish'
+description = "One-sentence SEO description in Spanish"
+tags = ["rust", "relevant-tag"]
+categories = ["CategoryName"]
+translationKey = "slug"
++++
+```
+
+**Notes:**
+- Start as `draft = true` — the user will flip it when ready to publish
+- `translationKey` = the slug (enables pairing with future `.en.md` translation)
+- Pick tags from common ones: `rust`, `webassembly`, `wasm`, `tutorial`, `presentacion`, `hackathon`, `juegos`, or add new relevant ones
+- Pick categories: `Proyectos`, `Eventos`, `Tutoriales`, `Comunidad`, `Hackathons`
+
+## Step 2 — Draft the content
+
+Write a solid first draft of the post body in **Spanish**. Structure it naturally for the topic — don't force headers if it doesn't need them. The tone is educational, collaborative, and community-focused, aimed at Latin American Rust developers of all levels.
+
+Good posts at Oxidar:
+- Start with an engaging hook
+- Explain *why* this matters to the Rust / LatAm community
+- Include code snippets when relevant (use fenced code blocks with language hint)
+- End with a call to action or community invitation
+
+## Step 3 — Draft social media content
+
+After the file is created, generate platform-specific posts **in Spanish** announcing the article. Tailor each to the platform's style and character limits:
+
+| Platform | Tone | Max length | Notes |
+|----------|------|-----------|-------|
+| Twitter/X | Punchy, hook-first | ~280 chars | Include relevant hashtags: #Rust #RustLang #RustES |
+| LinkedIn | Professional, more context | ~600 chars | No hashtag overload, 2-3 max |
+| Bluesky | Conversational, community feel | ~300 chars | Hashtags optional |
+| Telegram | Warm, direct announcement | ~400 chars | Can use emoji, no hashtag needed |
+
+Present each draft in a labeled code block so the user can copy/edit easily:
+
+```
+### 🐦 Twitter/X
+```
+[text here]
+```
+
+### 💼 LinkedIn
+```
+[text here]
+```
+
+### 🦋 Bluesky
+```
+[text here]
+```
+
+### 📢 Telegram
+```
+[text here]
+```
+```
+
+Use a placeholder `[URL]` where the post URL should go — the user will have it once published. The URL pattern is `https://oxidar.org/slug/`.
+
+## Step 4 — Tell the user what's next
+
+Remind them:
+1. The post is saved as `draft = true` — set to `false` when ready to publish
+2. The auto-translation workflow will create `slug.en.md` automatically when they open a PR
+3. The social media posts above can be used manually or will also be auto-generated by the `social-share` workflow on merge
diff --git a/content/posts/2026.04.19-snakear-recap/snakear-recap.en.md b/content/posts/2026.04.19-snakear-recap/snakear-recap.en.md
new file mode 100644
index 0000000..db42b50
--- /dev/null
+++ b/content/posts/2026.04.19-snakear-recap/snakear-recap.en.md
@@ -0,0 +1,80 @@
++++
+date = '2026-04-19T12:00:00-03:00'
+hiddenFromHomePage = false
+title = "We did it! The Snakear Hackathon was a success"
+description = "Chronicle of the Distributed Snake Challenge: over 40 Rustaceans gathered in Buenos Aires to hack, compete, and put a server to the test that didn’t go down even once."
+tags = ["rust", "hackathon", "games", "community", "events"]
+categories = ["Events", "Community", "Hackathons"]
+translationKey = "snakear-recap"
++++
+
+
+On April 11th, more than **40 rustaceans** met at Torres Catalinas, in the heart of Retiro, for a day that still brings smiles to our faces. With 113 registered participants, the **Distributed Snake Challenge** became the largest event by Oxidar.org to date — 30 in person, 10 connected online, and zero panics in production.
+
+## The challenge: your snake against the world
+
+The premise was simple and ruthless: connect to our shared server and build the most competitive Snake client possible using Rust. The board was the same for everyone. Ticks, global state, and latency were the enemies.
+
+Freedom was total — Bevy, SDL2, Ratatui, or a raw terminal. What mattered was how your snake survived in an environment where everyone wanted to eat the same apple.
+
+
+
+## The (controlled) chaos we didn’t expect
+
+The best part of the event wasn’t what we planned — it was what people improvised on the fly.
+
+Participants didn’t just compete: they **tried to hack the server**. They sent malformed requests, looked for exploits in the protocol, tested edge cases we hadn’t even imagined. The competitive atmosphere naturally evolved into something much more interesting: a network of creative adversaries trying to break the system’s rules.
+
+
+
+On our side, we found ourselves **improving the server in real time** to respond to their attacks. An attack-and-defense loop that kept the Oxidar team running all day. The result: the server held strong. No downtime. Not a single one.
+
+
+
+## The winners
+
+### 🧠 Rust Quiz
+
+
+The Rust quiz at noon had its own champion: **Gaby**, who proved that the *Book* alone is not enough — you really have to have suffered the borrow checker.
+
+
+
+### 🏆 Hackathon
+
+
+**ClaudIA** took first place in the hackathon with an implementation that stood out for analyzing other competitors’ strategies and using them to her advantage.
+
+
+
+
+
+
+
+## The team that made it possible
+
+None of this would have happened without the effort of the people behind Oxidar.org, and the crucial support of our sponsors.
+
+
+
+
+
+
+
+Thanks to **TxPipe** and **Input Output Global** for the prizes, the space, and believing in the Rust community in Latin America. Without their support, this wouldn’t exist.
+
+
+
+## What we took away
+
+Beyond the winners and the code, what we take away is this: a community that grows, learns together, and has fun breaking things in Rust.
+
+It was the most ambitious event we’ve organized, and it went well. That gives us energy to keep going.
+
+Enjoy all the [photos](https://iog.pixieset.com/iog/) from the event, thanks to our hosts!
+
+---
+
+**Were you there? Tell us about your experience on our [Telegram](https://t.me/+7PgAQVPclxIzOGQ0) or write to us at [admin@oxidar.org](mailto:admin@oxidar.org).**
+
+**See you at the next hackathon!** 🦀
\ No newline at end of file
diff --git a/content/posts/2026.04.19-snakear-recap/snakear-recap.md b/content/posts/2026.04.19-snakear-recap/snakear-recap.md
new file mode 100644
index 0000000..03c9039
--- /dev/null
+++ b/content/posts/2026.04.19-snakear-recap/snakear-recap.md
@@ -0,0 +1,81 @@
++++
+date = '2026-04-19T12:00:00-03:00'
+hiddenFromHomePage = false
+title = '¡Lo logramos! El Hackathon Snakear fue un éxito'
+description = "Crónica del Distributed Snake Challenge: más de 40 rustáceos se juntaron en Buenos Aires para hackear, competir, y poner a prueba un servidor que no cayó ni una sola vez."
+tags = ["rust", "hackathon", "juegos", "comunidad", "eventos"]
+categories = ["Eventos", "Comunidad", "Hackathons"]
+translationKey = "snakear-recap"
++++
+
+
+
+El 11 de abril, más de **40 rustáceos** nos encontramos en Torres Catalinas, en el corazón de Retiro, para vivir una jornada que todavía nos genera sonrisas. Con 113 registrados, el **Distributed Snake Challenge** se convirtió en el evento más grande de Oxidar.org hasta el momento — 30 presenciales, 10 conectados en línea, y cero panics en producción.
+
+## El desafío: tu serpiente contra el mundo
+
+La premisa era simple y despiadada: conectarse a nuestro servidor compartido y construir el cliente de Snake más competitivo posible usando Rust. El tablero era el mismo para todos. Los ticks, el estado global, y la latencia eran el enemigo.
+
+La libertad era total — Bevy, SDL2, Ratatui, o una terminal cruda. Lo que importaba era cómo tu serpiente sobrevivía en un entorno donde todos querían comer la misma manzana.
+
+
+
+## El caos (controlado) que no esperábamos
+
+Lo mejor del evento no fue lo que planeamos — fue lo que la gente inventó sobre la marcha.
+
+Los participantes no solo compitieron: **intentaron hackear el servidor**. Mandaron requests malformados, buscaron exploits en el protocolo, probaron condiciones de borde que nosotros ni habíamos imaginado. El ambiente competitivo derivó naturalmente en algo mucho más interesante: una red de adversarios creativos tratando de romper las reglas del sistema.
+
+
+
+Nosotros, del otro lado, nos encontramos **mejorando el servidor en tiempo real** para responder a sus ataques. Un loop de ataque y defensa que mantuvo al equipo de Oxidar corriendo todo el día. El resultado: el servidor aguantó todo. No hubo downtime. Ni uno solo.
+
+
+
+## Los ganadores
+
+### 🧠 Quiz de Rust
+
+
+El quiz de Rust del mediodía tuvo su propio campeón: **Gaby**, que demostró que el *Book* no alcanza — hay que haber sufrido el borrow checker de verdad.
+
+
+
+### 🏆 Hackathon
+
+
+**ClaudIA** se llevó el primer puesto del hackathon con una implementación que se destacó por analizar la estrategia de los demás competidoes y usarlo a su favor.
+
+
+
+
+
+
+
+## El equipo que lo hizo posible
+
+Nada de esto hubiera pasado sin el esfuerzo de las personas detrás de Oxidar.org, y el apoyo fundamental de nuestros sponsors.
+
+
+
+
+
+
+
+Gracias a **TxPipe** e **Input Output Global** por los premios, el espacio, y creer en la comunidad Rust de Latinoamérica. Sin su apoyo esto no existiría.
+
+
+
+## Lo que nos quedó
+
+Más allá de los ganadores y el código, lo que nos llevamos es esto: una comunidad que crece, que aprende junta, y que se divierte rompiendo cosas en Rust.
+
+Fue el evento más ambicioso que organizamos, y salió bien. Eso nos da energía para seguir.
+
+Distruta de todas las [fotos](https://iog.pixieset.com/iog/) del evento, gracias a nuestros hosts!
+
+---
+
+**¿Estuviste ahí? Contanos tu experiencia en nuestro [Telegram](https://t.me/+7PgAQVPclxIzOGQ0) o escribinos a [admin@oxidar.org](mailto:admin@oxidar.org).**
+
+**¡Hasta el próximo hackathon!** 🦀
diff --git a/static/images/posts/snakear-recap/equipo-oxidar.jpg b/static/images/posts/snakear-recap/equipo-oxidar.jpg
new file mode 100644
index 0000000..9fee2d1
Binary files /dev/null and b/static/images/posts/snakear-recap/equipo-oxidar.jpg differ
diff --git a/static/images/posts/snakear-recap/ganadores-hackathon.jpg b/static/images/posts/snakear-recap/ganadores-hackathon.jpg
new file mode 100644
index 0000000..85c3795
Binary files /dev/null and b/static/images/posts/snakear-recap/ganadores-hackathon.jpg differ
diff --git a/static/images/posts/snakear-recap/grupo.jpg b/static/images/posts/snakear-recap/grupo.jpg
new file mode 100644
index 0000000..da3e260
Binary files /dev/null and b/static/images/posts/snakear-recap/grupo.jpg differ
diff --git a/static/images/posts/snakear-recap/hackeando.jpg b/static/images/posts/snakear-recap/hackeando.jpg
new file mode 100644
index 0000000..ff854ae
Binary files /dev/null and b/static/images/posts/snakear-recap/hackeando.jpg differ
diff --git a/static/images/posts/snakear-recap/hernan.jpg b/static/images/posts/snakear-recap/hernan.jpg
new file mode 100644
index 0000000..7397d15
Binary files /dev/null and b/static/images/posts/snakear-recap/hernan.jpg differ
diff --git a/static/images/posts/snakear-recap/juego-accion.jpg b/static/images/posts/snakear-recap/juego-accion.jpg
new file mode 100644
index 0000000..bf8055b
Binary files /dev/null and b/static/images/posts/snakear-recap/juego-accion.jpg differ
diff --git a/static/images/posts/snakear-recap/organizadores.jpg b/static/images/posts/snakear-recap/organizadores.jpg
new file mode 100644
index 0000000..4240214
Binary files /dev/null and b/static/images/posts/snakear-recap/organizadores.jpg differ
diff --git a/static/images/posts/snakear-recap/premios.jpg b/static/images/posts/snakear-recap/premios.jpg
new file mode 100644
index 0000000..d1296cb
Binary files /dev/null and b/static/images/posts/snakear-recap/premios.jpg differ
diff --git a/static/images/posts/snakear-recap/presentacion.jpg b/static/images/posts/snakear-recap/presentacion.jpg
new file mode 100644
index 0000000..073421e
Binary files /dev/null and b/static/images/posts/snakear-recap/presentacion.jpg differ
diff --git a/static/images/posts/snakear-recap/quiz.jpg b/static/images/posts/snakear-recap/quiz.jpg
new file mode 100644
index 0000000..90fbfcc
Binary files /dev/null and b/static/images/posts/snakear-recap/quiz.jpg differ
diff --git a/static/images/posts/snakear-recap/remera.jpg b/static/images/posts/snakear-recap/remera.jpg
new file mode 100644
index 0000000..e7037f3
Binary files /dev/null and b/static/images/posts/snakear-recap/remera.jpg differ