Expert blueprint for roguelikes including procedural generation (Walker method, BSP rooms), permadeath with meta-progression (unlock persistence), run state vs meta state separation, seeded RNG (shareable runs), loot/relic systems (hook-based modifiers), and difficulty scaling (floor-based progression). Use for dungeon crawlers, action roguelikes, or roguelites. Trigger keywords: roguelike, procedural_generation, permadeath, meta_progression, seeded_RNG, relic_system, run_state.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-genre-roguelike
Expert blueprint for roguelikes balancing challenge, progression, and replayability.
RandomNumberGenerator with a predictable seed for daily runs/debugging.@GlobalScope.randi() for critical logic; strictly use local RNG instances to prevent global state pollution.Array.pick_random() for critical content drops; strictly use a Shuffle Bag to prevent statistically unfair streaks.WorkerThreadPool.add_task() or add_group_task() to distribute generation across cores and prevent frame freezes.Engine.get_process_frames()) to run heavy pacing logic only once every 60-120 frames for CPU efficiency.Marker2D Connection Points in pre-authored scenes to calculate exact offsets for seamless room stitching.RunManager and MetaManager.duplicate(true) on base stat Resources; failing to deep-duplicate causes all entities to share a single health instance..tscn files; strictly serialize to JSON or binary in user:// to prevent bloat.SceneTree as the source of truth for grid logic; strictly maintain grid data in a separate Dictionary or Array.NavigationRegion2D AFTER procedural tiles are placed.AStarGrid2D with jumping_enabled = true (Jump Point Search) for O(1) queries and high-performance pathing across open areas.update() on AStarGrid2D after modifying states; strictly ensures pathfinding queries aren't stale.Vector2) for discrete grid coordinates; strictly use Vector2i to prevent precision drift.HEURISTIC_CHEBYSHEV or HEURISTIC_OCTILE.get_used_cells() for optimized tile access.free(); strictly use queue_free() to avoid mid-frame segmentation faults.call_deferred() or call_group_flags to avoid frame spikes during turn transitions.ColorRect and an ImageTexture updated via RenderingServer.texture_2d_update().> MANDATORY before implementing generation, seed sharing, or meta unlocks — read these first (do not reinvent from inline samples):
> - dungeon_generator_walker.gd — Drunkard's Walk with local RandomNumberGenerator (rng.randi() % n, never Array.pick_random()).
> - seeded_rng_resource.gd — seed persistence for shareable / daily runs.
> - meta_progression_manager.gd — permanent unlock currency + save boundaries vs run state.
>
> Do NOT Load the full scripts/ folder for a single task. Open only the script that matches the phase below.
start_run / end_run).Relic Resource hook (on_damage_dealt).meta_progression_resource.gd).dungeon_generator_walker.gd), acquire temporary power-ups.astar_grid_handler.gd).meta_progression_resource.gd).| Phase | Skills | Purpose |
|-------|--------|---------|
| 1. Architecture | godot-autoload-architecture, godot-state-machine-advanced | Run State vs Meta State boundaries |
| 2. World Gen | godot-procedural-generation, godot-tilemap-mastery | Unique levels every run (walker/BSP/noise) |
| 3. Combat | godot-combat-system, godot-ai-navigation | High-stakes encounters + FOV/pathing |
| 4. Progression | godot-inventory-system, godot-resource-data-patterns | Run items/relics + typed Resources |
| 5. Persistence | godot-save-load-systems | Meta unlocks + anti-scum mid-run deletes |
| 6. Balance | godot-monte-carlo-balancer | Win% vs meta level; dead-item detection |
Roguelikes require a strict separation between Run State (temporary) and Meta State (persistent).
user:// JSON-binary; never treat .tscn as a run save.RandomNumberGenerator; directions via rng.randi() % directions.size() (never Array.pick_random()).godot-procedural-generation.update() after solid-cell edits; rebake NavigationRegion2D if using nav meshes.godot-inventory-system.Engine.get_process_frames() % N (see NEVER); keep heuristics out of every-frame _process work.RandomNumberGenerator with a seed. This allows players to share specific run layouts.ResourceSaver for meta-progression, but be careful with cyclical references in deeply nested resources.Room1.tscn, Room2.tscn) and instance them into the generated layout for handcrafted quality within procedural layouts.NavigationRegion2D at runtime after generating the dungeon layout if using 2D navigation.fire, projectile, companion) and check for tag combinations to create emergent power-ups.> MANDATORY for depth beyond decision trees and script catalog: roguelike-meta-systems-deep.md. Do NOT Load on first-pass wiring — use bundled scripts/ first.
> Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
set_cell / get_used_cells APIs used after walker/BSP generation and fog clears.update() after solid-cell edits.randi().user:// persistence patterns for meta unlocks and anti-scum mid-run deletes.duplicate(true), and save/load of .tres/custom resources.Automate web scraping and data extraction with Apify -- run Actors, manage datasets, create reusable tasks, and retrieve crawl results through the Composio Apify integration.
Scrapes content based on a preset URL list, filters high-quality technical information, and generates daily Markdown reports.
Web search, content extraction, crawling, and research capabilities using Tavily API
| Bulk extract content from an entire website or site section. Use this skill when the user wants to crawl a site, extract all pages from a docs section, bulk-scrape multiple pages following links, or says "crawl", "get all the pages", "extract everything under /docs", "bulk extract", or needs content from many pages on the same site. Handles depth limits, path filtering, and concurrent extraction.
Deep web scraping, screenshots, PDF parsing, and website crawling using Firecrawl API. Use when you need deep content extraction from web pages, page interaction is required (clicking, scrolling, etc.), or you want screenshots or PDF parsing.
Build a fully automated AI-powered data collection agent for any public source — job boards, prices, news, GitHub, sports, anything. Scrapes on a schedule, enriches data with a free LLM (Gemini Flash), stores results in Notion/Sheets/Supabase, and learns from user feedback. Runs 100% free on GitHub Actions. Use when the user wants to monitor, collect, or track any public data automatically.
Scrapes content based on a preset URL list, filters high-quality technical information, and generates daily Markdown reports.
Scrape, crawl, search, and extract structured data from websites using Firecrawl API - converts web pages to LLM-ready markdown
Take thedivergentai/godot-genre-roguelike from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.