demo-1-terminal-arcade

demo-1-terminal-arcade is a skill for Claude Code, Codex from decodingai-magazine/building-a-coding-agent-from-scratch-course. It costs 46 tokens per session (752 once invoked), scanned A, original, Apache-2.0.

A specification for building a playable Snake game in one Python file using only the standard library. The curses library lets Python draw text interfaces and read keyboard input in a terminal.

In plain words
What is it for?
Creating a terminal Snake game with movement, food, scoring, increasing speed, collision detection, a game-over screen, and smoke checks.
Why use it?
It defines the game rules, controls, display, animations, and clean exit behavior so the implementation can be built and checked consistently.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Creating a terminal Snake game with movement, food, scoring, increasing speed, collision detection, a game-over screen, and smoke checks.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add decodingai-magazine/building-a-coding-agent-from-scratch-course --skill demo-1-terminal-arcade
Clone the repo
git clone --depth 1 https://github.com/decodingai-magazine/building-a-coding-agent-from-scratch-course

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for demo-1-terminal-arcade

README.md
[![agentmods](https://agentmods.dev/badge/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade/github.svg)](https://agentmods.dev/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade)
Your own site
<a href="https://agentmods.dev/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade"><img src="https://agentmods.dev/badge/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for demo-1-terminal-arcade

Your own site · 80×15
<a href="https://agentmods.dev/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade"><img src="https://agentmods.dev/badge/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-1-terminal-arcade.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 752 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00046 $0.00752
Opus 5 $0.00023 $0.00376
Sonnet 5 $0.00009 $0.00150
Haiku 4.5 $0.00005 $0.00075

Measured 12d ago against content hash 77fe53abce07, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

demo-1-terminal-arcade scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.decode/skills/demo-1-terminal-arcade/SKILL.md · 57 lines

How it starts

The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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.

Read the full file on GitHub · 57 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 57 lines · 46 tokens per session scan A 77fe53abce07

Subscribe to this mod's changes

demo-1-terminal-arcade is a skill published in the GitHub repository decodingai-magazine/building-a-coding-agent-from-scratch-course (387 stars, last pushed today), licensed Apache-2.0. It adds 46 tokens to every session and 752 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

pygame-core

Structure a pygame (pygame-ce) game in Python: the init/event/update/draw loop, delta-time movement, Surface/Rect blitting, keyboard/mouse input, and Sprite/Group management with collision. Use when building or debugging a pygame game — when the user mentions pygame, pygame-ce, the game loop, blit, Surface, Rect…

gamedev-skills/awesome-gamedev-agent-skills · 85 tokens

vibeue

Unreal Engine 5 development using the VibeUE Python API. Use when working in Unreal Engine — blueprints, state trees, materials, actors, landscapes, animation, niagara, widgets, sound, foliage, gameplay tags, enhanced input, skeletons, PCG (procedural content generation), and more. VibeUE is an extension of Unreal's…

kevinpbuckley/VibeUE · 82 tokens

telnyx-numbers-python

Search, order, and manage phone numbers by location, features, and coverage.

team-telnyx/ai · 23 tokens

telnyx-ai-outbound-voice-python

End-to-end setup for making a Telnyx AI assistant call a phone number. Covers provisioning a phone number, creating a TeXML application, assigning the number, configuring telephony settings, whitelisting destination countries, and triggering outbound calls via scheduled events. Use this skill (not…

team-telnyx/ai · 97 tokens

telnyx-stt-python

Transcribe audio to text via the OpenAI-compatible transcription endpoint. Supports multiple models, languages, and keyword biasing. Also lists available speech-to-text providers and service types.

team-telnyx/ai · 42 tokens

telnyx-tts-python

Generate speech from text using Telnyx and third-party TTS providers (AWS, Azure, ElevenLabs, MiniMax, Resemble, Rime, xAI). Returns base64-encoded audio or a binary stream. Also lists available voices per provider.

team-telnyx/ai · 60 tokens