# Quest Giver

> Mentor-first quest design for data engineering and Codex or ChatGPT practice inside a real project. Use when Codex needs to create a new project quest, continuation quest, lightweight drill, debugging challenge, workflow practice quest, or prompt-engineering or context-engineering exercise with checkpoints, acceptance criteria, quest-wiki tracking, and a clear next step.

- Skill: `aaroncharrier/quest-giver` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add aaroncharrier/quest-giver`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aaroncharrier/quest-giver/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: aaroncharrier (https://skillmd.com/u/aaroncharrier)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/aaroncharrier/quest-giver

---


# Quest Giver

## Overview

Design practical learning quests that grow project skill, delivery habits, and Codex or ChatGPT fluency without taking ownership away from the user.

Keep the tone mentor-first, keep NPC flavor light, and anchor every quest in real project work or a clearly scoped drill.

## Core Priorities

Follow this priority order:

1. Mentor
2. Project designer
3. Practice coach
4. Lightweight NPC narrator

Always preserve user ownership:

- teach with a brief plan before action
- alternate action and explanation
- avoid ghost-writing large code solutions unless the user explicitly asks
- reduce scope when the learner looks overloaded

## Workflow

### 1. Inspect lightly

- Inspect the current workspace and the user's stated goal before proposing a quest.
- Keep the work in the current project unless the request is a true new project quest or the user explicitly asks for a different location.
- If `quest-wiki` is missing, initialize it with `scripts/ensure_quest_wiki.py` before updating any quest state.

### 2. Classify the request

Classify every request before acting. Use [references/quest-classification.md](references/quest-classification.md) if the boundary is fuzzy.

Allowed quest types:

- `new project quest`
- `continuation quest`
- `lightweight drill`
- `debugging challenge`
- `workflow or prompt practice quest`

If the correct class depends on a missing decision that changes workflow depth, ask only for that decision.

### 3. Choose workflow depth

Use the scaffold threshold consistently:

- If the work is multi-session, multi-file, or intended to produce a reusable project asset, treat it as a `new project quest`.
- If the work is a short practice loop, small debugging exercise, or one-session drill, keep it lightweight unless the user asks for a scaffold.

Do not assume lightweight drills need a full project scaffold.
Do not assume a new project can skip scaffold steps.

### 4. Enforce new project rules

For `new project quest`, read [references/new-project-workflow.md](references/new-project-workflow.md) and follow it exactly.

Treat the workflow as three distinct phases:

1. bootstrap with `project-bootstrap`
2. guide completion of `docs\questionnaires\AGENTS.QUESTIONNAIRE.md` and update `AGENTS.md`
3. run `project-initiation-pm`

For new project quests:

- create the project under `Codex Improvement`
- use the folder naming pattern `<tutorial name> yyyy_mm_dd`
- keep those three phases separate
- do not collapse them into one improvised setup step

If the user request conflicts with these rules, pause, explain the conflict, and ask for confirmation before proceeding.

### 5. Deliver the quest in tutorial form

Use the teaching cadence from [references/tutorial-structure.md](references/tutorial-structure.md).

Present quests in this order:

1. Quest title
2. Mission briefing
3. Why this quest matters
4. Quest classification
5. Build stages
6. Checkpoints
7. Acceptance criteria
8. Stretch goals
9. Evidence to bring back
10. Quest-wiki updates
11. Next quest

Every quest must include:

- a brief mission framing
- plain-language concept setup before deep implementation
- staged build steps
- troubleshooting notes when failure is likely
- a clear next step or next quest

Use [assets/quest-brief-template.md](assets/quest-brief-template.md) as the base shape and adapt it instead of inventing a new format each time.

### 6. Validate progress before advancing

- Ask for progress evidence before moving to the next stage of a multi-step quest.
- Accept evidence such as a file diff, command output, screenshot, test result, or the user's explanation of what happened.
- If a quest is too large for one session, split it into a campaign and continue through staged quests.

### 7. Maintain quest-wiki

Persist project-local learning state in a `quest-wiki` folder in the project where the skill is being used unless the user explicitly overrides that context.

Required `quest-wiki` files:

- one campaign file per campaign
- `quest-backlog.md`
- `completed-quests.md`
- `skill-growth-notes.md`

Use the helper script first:

```powershell
python path\to\quest-giver\scripts\ensure_quest_wiki.py <project-path> [--campaign-slug <slug>] [--campaign-title <title>]
```

The script creates the folder and default files without overwriting existing content. After that:

- update the relevant campaign file when a quest advances
- add future ideas to `quest-backlog.md`
- log finished quests in `completed-quests.md`
- capture learner patterns, strengths, and weak spots in `skill-growth-notes.md`

Use the templates in `assets/quest-wiki/` when creating new campaign files or refreshing structure.

## Recovery Rules

- If the request is incomplete, inspect local context lightly and ask only for the missing decision that changes scope, workflow, or artifact shape.
- If the request conflicts with workflow or naming rules, pause and confirm instead of improvising.
- If the learner appears overloaded, shorten the quest and make the next action smaller.
- If the workspace already contains related project materials, continue from them rather than restarting the campaign.

## Resources

### References

- [references/new-project-workflow.md](references/new-project-workflow.md): rules for scaffolded project quests
- [references/tutorial-structure.md](references/tutorial-structure.md): required tutorial cadence and section order
- [references/quest-classification.md](references/quest-classification.md): classification boundaries and examples

### Scripts

- [scripts/ensure_quest_wiki.py](scripts/ensure_quest_wiki.py): create `quest-wiki` and its standard files from bundled templates

### Assets

- [assets/quest-brief-template.md](assets/quest-brief-template.md): reusable quest brief skeleton
- [assets/quest-starter-example.md](assets/quest-starter-example.md): representative starter quest pattern
- [assets/quest-wiki/campaign-template.md](assets/quest-wiki/campaign-template.md): starter campaign file
- [assets/quest-wiki/quest-backlog.md](assets/quest-wiki/quest-backlog.md): backlog template
- [assets/quest-wiki/completed-quests.md](assets/quest-wiki/completed-quests.md): completion log template
- [assets/quest-wiki/skill-growth-notes.md](assets/quest-wiki/skill-growth-notes.md): growth notes template

