# godot-quest-system

A skill that steers your coding agent through building a Godot quest system: objectives, progress, rewards, branching chains. Useful when an RPG needs its quest logic sorted out.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 344 installs · ★ 893
- Author: thedivergentai
- License: LGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/thedivergentai/Game-Dev-Agentic-Skills/tree/HEAD/skills/godot-quest-system/SKILL.md
- Updated: 2026-10-16
- HTML: https://affpapa.org/en/nevibecode/skills/godot-quest-system

## What it does

The skill hands the agent a blueprint for quest tracking in Godot: quests as `Resource` assets, signal-driven updates, a manager registered in AutoLoad. It ships scripts — `quest_resource.gd` for `StringName` ids, status and objective/reward lists, `quest_manager_singleton.gd` for accept, progress, complete and chain. Supporting files cover kill triggers, a UI tracker, branching data, persistence, timed challenges and hidden objectives.

The golden path runs accept, event trigger, progress, complete, persist. Quest and objective ids stay in `StringName`, because a plain string typo fails silently and progress never lands. Kill, collect and talk triggers live in trigger nodes or on a bus rather than inside enemy scripts. Rewards are granted by inventory or economy signals; the quest `Resource` itself does not award loot.

The skill calls out the sharp edges. Calling `objectives.all(...)` on an array with null entries crashes, so `is_complete()` needs a null check. Active quests must not live only on the Player node, the same quest id must not appear twice in the active set, and objectives should not be polled in `_process`. For networked or parallel combat there is `quest_conflict_resolver.gd` with a mutex and deferred signals.

## Requirements
- Works with: Godot

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-quest-system -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/godot-quest-system/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/godot-quest-system/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-quest-system -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/godot-quest-system/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-quest-system -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/godot-quest-system/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-quest-system
```

2. **Manually: put the files in place**
- File: `.github/skills/godot-quest-system/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-quest-system -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-quest-system
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/godot-quest-system/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-quest-system -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/thedivergentai/Game-Dev-Agentic-Skills/tree/HEAD/skills/godot-quest-system/SKILL.md

## When to use it
- build quest logic on Resource assets instead of scattering it across scenes
- push objective progress through signals rather than polling in `_process`
- wire quest chains and branching in the Inspector
- save active and completed quests to disk and restore them on load
- grant rewards through inventory and economy signals, not from the quest itself

## Example prompts
- Build a quest system in Godot: quests as Resources, a manager in AutoLoad, objectives updated by signals
- Hook the enemy death trigger so it advances a quest objective instead of living inside the enemy script
- Add save and load for active and completed quests with `quest_persistence_loader.gd`

## Similar
- [godot-nodes-scenes](https://affpapa.org/en/nevibecode/skills/godot-nodes-scenes.md) — skill · 6400 installs
- [godot-gdscript](https://affpapa.org/en/nevibecode/skills/godot-gdscript.md) — skill · 6500 installs
- [godot-mcp-enhanced](https://affpapa.org/en/nevibecode/mcp/godot-mcp-enhanced.md) — MCP server · ★ 103
- [godot](https://affpapa.org/en/nevibecode/rules/godot.md) — rule · ★ 3579
- [spritecook-use-assets-in-godot](https://affpapa.org/en/nevibecode/skills/spritecook-use-assets-in-godot.md) — skill · 555 installs
- [godot-ui](https://affpapa.org/en/nevibecode/skills/godot-ui.md) — skill · 2700 installs

From the same set: [thedivergentai/game-dev-agentic-skills](https://affpapa.org/en/nevibecode/by/thedivergentai/game-dev-agentic-skills.md) — 61 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
