decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade

Claude Code and agent skill by decodingai-magazine/building-a-coding-agent-from-scratch-course

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Demo skill that builds a colorful, playable terminal Snake game in a single pure-stdlib Python curses file — score HUD, speed ramp, eat/death animations, and a game-over screen.

Install

npx vskill@latest install decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade

SKILL.md

Build a playable, colorful game of Snake that runs in the terminal, as a single self-contained Python file .decode/outputs/snake.py (unless the human named a different path).

Constraints

  • Pure standard library only — use the built-in curses module for rendering and input. Add zero

third-party dependencies (nothing that would need uv add or pip install).

  • Keep it small and readable: roughly 250 lines. This is a demo people will read, not just play.

Plan first

Before writing any code, lay out your steps with todo_write (draw field → snake movement → food and growth → color + HUD → game over → smoke checks) and tick them off as you go.

Gameplay to implement

  • A bordered play field drawn with curses.
  • A snake that moves continuously and is steered with W, A, S, D (arrow keys as a fallback).
  • q (or Q) and ESC quit the game at any moment.
  • Food that spawns at a random empty cell; eating it grows the snake and increases the score.
  • Game over when the snake hits a wall or itself; show a centered "GAME OVER — score N" screen and

wait for a keypress to exit.

  • Restore the terminal cleanly on exit (use curses.wrapper so a crash never leaves the terminal

garbled).

Make it flashy

  • Color (guard with curses.has_colors()): green snake, red food, yellow score bar, white

borders — set up curses.init_pair pairs once at start and fall back to plain text when colors are unsupported.

  • Score HUD: a top status line like SCORE 7 · SPEED 3 that updates live.
  • Speed ramp: every 3 pieces of food eaten, shorten the tick timeout a little so the game gets

faster — cap it so it stays playable.

  • Eat animation: a short, non-blocking flourish when the snake eats food — e.g. flash the

snake's head or pulse the score in the HUD for a few ticks. It must not pause the game loop.

  • Death animation: on game over, a brief sequence before the "GAME OVER" screen — e.g. flash

the snake a few times or make it disintegrate tail-to-head. Keep it under ~a second so quitting never feels sluggish.

How to iterate

curses needs a real TTY, so you cannot fully play it headlessly. Iterate like this instead:

  1. After each change, syntax-check it: uv run python -m py_compile .decode/outputs/snake.py.
  2. Factor the pure logic — food placement, collision detection, the speed-for-score curve — into

small functions and exercise them headlessly with uv run python -c "...". Guard the curses.wrapper(main) call behind if __name__ == "__main__": so importing the module never grabs the terminal.

  1. Hand the finished snake.py to the human to play with uv run python .decode/outputs/snake.py.

Report the final file, the controls, and the one-line command to play it.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
679
Repository forks
180
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade/badge)](https://verified-skill.com/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade)

Something wrong with this skill or its page? Tell us.