بنقرة واحدة
fabrizioduroni-new-videogame
Use when adding a new videogame entry to an existing console in the videogames collection
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when adding a new videogame entry to an existing console in the videogames collection
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | fabrizioduroni-new-videogame |
| description | Use when adding a new videogame entry to an existing console in the videogames collection |
| user_invocable | true |
Bootstrap a new game entry under src/content/videogames/console/<console>/game/<slug>/.
Before collecting any input, verify .env.others exists and contains IGDB_CLIENT_ID and IGDB_CLIENT_SECRET.
If missing, stop and ask the user to add them. Do not proceed without credentials.
Ask the user for all of these:
gameboy (Game Boy)nintendo-ds-lite (Nintendo DS Lite)nintendo-entertainment-system (Nintendo Entertainment System)nintendo-switch (Nintendo Switch)nintendo-wii (Nintendo Wii)playstation-portable (PlayStation Portable)playstation1 (PlayStation 1)playstation2 (PlayStation 2)playstation3 (PlayStation 3)playstation4 (PlayStation 4)playstation5 (PlayStation 5)src/content/videogames/console/<console>/ directory exists. If not, abort with the list above.src/content/videogames/console/<console>/game/<slug>/ does NOT exist. If it does, abort.elden-ring).From the collected inputs, derive:
| Field | Value |
|---|---|
slug | Title in kebab-case |
description | "{title} is a/an {genre-lowercase} game developed by {developer} for the {consoleName}" — use "an" before vowel sounds (e.g., "an action RPG"), "a" otherwise (e.g., "a platformer"). Genre in lowercase. |
date | Today's date (YYYY-MM-DD) |
image | /images/content/videogames/console/{console}/game/{slug}/cover.jpg |
tags | [{console-slug}, game, {genre-lowercase}] |
authors | [fabrizio_duroni] |
metadata.console | Console display name from mapping (e.g., "PlayStation 5") |
metadata.gallery | 3 placeholder paths: /images/content/videogames/console/{console}/game/{slug}/media/N.jpeg for N=1,2,3 |
Console slug to display name mapping:
| Slug | Display Name |
|---|---|
gameboy | Game Boy |
nintendo-ds-lite | Nintendo DS Lite |
nintendo-entertainment-system | Nintendo Entertainment System |
nintendo-switch | Nintendo Switch |
nintendo-wii | Nintendo Wii |
playstation-portable | PlayStation Portable |
playstation1 | PlayStation 1 |
playstation2 | PlayStation 2 |
playstation3 | PlayStation 3 |
playstation4 | PlayStation 4 |
playstation5 | PlayStation 5 |
src/content/videogames/console/<console>/game/<slug>/
images/
media/
Create the directories. The images/gameplay/ folder will be created by the screenshot script.
Write content.mdx with only the frontmatter — no MDX body yet. The Gameplay section will be added by the screenshot script in step 7.
---
title: "<title>"
description: "<description>"
date: YYYY-MM-DD
image: /images/content/videogames/console/<console>/game/<slug>/cover.jpg
tags: [<console-slug>, game, <genre-lowercase>]
authors: [fabrizio_duroni]
metadata:
formats: ["<format1>", "<format2>"]
releaseYear: "<releaseYear>"
acquiredYear: "<acquiredYear>"
developer: "<developer>"
publisher: "<publisher>"
console: "<consoleName>"
genre: "<genre>"
pegiRating: "<pegiRating>"
region: "<region>"
gallery:
- /images/content/videogames/console/<console>/game/<slug>/media/1.jpeg
- /images/content/videogames/console/<console>/game/<slug>/media/2.jpeg
- /images/content/videogames/console/<console>/game/<slug>/media/3.jpeg
---
Formatting rules:
formats is a YAML array: ["Physical"], ["Digital"], or ["Physical", "Digital"]gallery is a YAML block sequence (one path per line with - prefix)--- and body contentRun the add-game-screenshots.py script to download gameplay screenshots and add the Gameplay section to the MDX:
uv run --script .claude/skills/fabrizioduroni-new-videogame/add-game-screenshots.py \
--game-folder src/content/videogames/console/<console>/game/<slug>
The script:
<game>/images/gameplay/ as numbered JPEGs## Gameplay section with ImageCarousel component and imports to content.mdxIf the script fails (no screenshots found, network error): the entry is still valid. Inform the user the Gameplay section was not added and they can re-run the script later.
Print what was created and what the user needs to do manually:
Created:
src/content/videogames/console/<console>/game/<slug>/content.mdxsrc/content/videogames/console/<console>/game/<slug>/images/gameplay/ (with screenshots, if script succeeded)src/content/videogames/console/<console>/game/<slug>/images/media/ (empty)Manual TODOs:
cover.jpg to <slug>/images/ (game box art / cover image)<slug>/images/media/ named 1.jpeg, 2.jpeg, 3.jpeg (photos of the physical game)metadata.gallery array in content.mdxnpm run dev to verify the page renders at /videogames/console/<console>/game/<slug>Orchestrate the full code SDLC for chicio-blog — explore → brainstorm → implement ⇄ review → PR (feature mode), or investigate → confirm → implement ⇄ review → PR (fix mode). Interactive (two human gates) or --autonomous (issue-as-contract, async label gates, PR-only, never merges). Code work only.
The producer side of the autonomous SDLC loop — runs deterministic code-health scanners (coverage, hygiene, a11y), dedups findings against open issues, and files loop-task issues (WITHOUT loop:ready — you curate) for the loop to drain. Session-bound, code work only.
Brainstorm a code idea into a high-confidence, loop-ready GitHub issue for chicio-blog — optionally explore the codebase, grill the idea to shared understanding, synthesize the loop-task contract, and file it via gh. The async front-half of the SDLC pipeline. Code work only.
Scaffold a new blog post with correct directory structure, frontmatter, and opening template
The self-feeding autonomous loop — one tick either discovers work (scout, auto-approved) when the queue is empty or drains one loop:ready issue to a PR. Sequential (no port collision), session-bound, code-only, never merges.
One tick of the autonomous SDLC loop — pick the oldest loop:ready GitHub issue, hand it to the orchestrator's --autonomous mode, and report. Meant to be driven by /loop. Session-bound, code work only.