Repository navigation
v3.7.0
How to install
Option 1: the skill (any assistant):
npx skills add Freakling/Godot-Director
In Claude Code this becomes a /godot-director command. The skill fetches Godot Director and runs onboarding.
Option 2: the Claude Code plugin:
/plugin marketplace add Freakling/Godot-Director
/plugin install godot-director@godot-director
Open a new session in your game, then run /godot-director:godot-director.
Option 3: manual:
Put this repository next to project.godot as a folder named Godot-Director, then ask your assistant to read Godot-Director/ONBOARDING.md and follow it.
Upgrade:
- Skill: ask for the skill again (
/godot-directorin Claude Code); it fetches the latest Godot Director each time. - Plugin: run
/plugin marketplace update godot-directorand then/plugin update godot-director@godot-director. Start a new session in the game, and run/godot-director:godot-directoragain. - Manual: put the new Godot Director folder in the game, and ask for ONBOARDING.md again.
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
What's changed
- New:
/research, the research assistant (.godot-director/procedures/research.md). When a design question depends on facts nobody has checked, or you ask for research, a read-onlyresearchersubagent looks into it in a fresh context and reports a note. It informs; you decide: its recommendation is one option shown with its reason, and it never records a decision, edits the GDD ordesign/decisions.md, answers an open question, or asks you anything. It states its assumptions in the note instead.- Research is a task type. Research items get their own IDs,
R<n>, drawn from theNext IDsline like bugs. Instead ofDone whenthey haveQuestion:and, when they feed an open question,Informs: Q<n>. They are sized like any item, and the size picks the model. An item is done when its note exists. - Two ways to start. On the fly: a design session delegates a complex question, or you run
/research <question>, and the item is created and run at once. For later: queue the item, and list it underDepends onof the tasks that need its findings. A task that needs the decision stays gated by the open question itself. /next-taskhands research items to theresearcher. No check runs and no review: research changes no code. This session writes the note todesign/research/YYYY-MM-DD-<slug>.mdand commits it with the records. A finished item that informsQ<n>makes that question ready for a design call, and a run goes on to the next item.- Design sessions list
design/research/first, show notes on the topic in the context brief, delegate a question that needs facts, and end the decision'swhywith the note's path so later sessions reuse the evidence. - The note is one dated file per topic: the conclusion first, the options and trade-offs, the recommendation, every claim with its source, source tier and confidence, the date the claims were verified, and what stays unknown.
- A Godot domain file (
.godot-director/research-domain.md) is read when the question touches the engine and its docs for the project's version, plugins and assets and their licences, export and store requirements, or how comparable games solve the problem (design references, checked against the Design Pillars). - Confidentiality. Project text and unpublished design never go into a public search query or fetch.
- The researcher has
Read,Grep,Glob,WebSearchandWebFetch: no edit, write or shell tool..claude/settings.jsonallows web search and fetch; everything with side effects keeps asking.
- Research is a task type. Research items get their own IDs,
- Align checks that
Next IDshas anRcounter, that research items have aQuestion:instead ofDone when, and that each done research item has its note. - Selftest checks that the research files exist and are wired into the procedures, the item format, the seeds and the docs, that the researcher has no edit, write or shell tool, that the installer ships everything (including with
--tools none), and that a research note commits without running the check. - The example (
examples/market-day) shows theRcounter and the note folder, and the scenarios gain two for research. - Web search and fetch are allowed in every session in a game, not only for the researcher, because Claude Code can't limit a permission to one subagent:
.claude/settings.jsonallowsWebSearchandWebFetch, so any session can search and fetch the web without asking.
Upgrade steps
- TASKS.md: add an
Rcounter to theNext IDsline, so**Next IDs:** T12 · B3becomes**Next IDs:** T12 · B3 · R1. design/research/: the installer creates the folder with a shortREADME.md(a project file, yours from then on) when the game doesn't have it. Notes are added there as research runs; commit them like the other records..claude/settings.jsonis framework-owned, so it is replaced on upgrade. If you edited it, the new version arrives as.claude/settings.json.gdir-new; merge it, and make sure"WebSearch"and"WebFetch"are inpermissions.allow, which lets the researcher read the web without asking each time. Restart Claude Code afterwards so the new skill, subagent and permissions load.
No other game-owned file changes are required.