Patch release: one reported defect, four fixes. The SessionStart hook asked repositories that
had already documented GodotPrompter to document it again, at every single session start. No
skill was added or removed — still 55.
Fixed
- The hook nagged agent-agnostic repositories at every session start
(#15). The offer to add a
## GodotPromptersection — the mechanism that reaches subagents, which the SessionStart card
does not — probedCLAUDE.mdand nothing else. A project that keeps its agent instructions in
AGENTS.md(Codex, Copilot CLI, Cursor, OpenCode) orGEMINI.md(Antigravity) was therefore
invisible to the check: the user had already written the section, and was asked to write it
again on every start, resume,/clearand compaction, into a file they deliberately do not
keep. The probe now reads every file a supported host loads —CLAUDE.md,CLAUDE.local.md,
.claude/CLAUDE.md,AGENTS.md,GEMINI.md,.github/copilot-instructions.md— plus the
.claude/rules/and.cursor/rules/directories, at both the project root and the session
root. The same widening landed ingodot-brainstorming, whose Step 4 injection had the
identical single-filename check, and in thegodot-project-setupchecklist. - The offer named a file the repository does not maintain. When there is genuinely no section
anywhere, the offer now names whichever instructions file the repo already keeps —
.claude/CLAUDE.md,AGENTS.md,GEMINI.mdor.github/copilot-instructions.mdwhen there is
no rootCLAUDE.md— instead of asking every project to start a second one.CLAUDE.local.md
is detected but never offered as the target: it is personal and gitignored, so a team-shared
routing rule does not belong in it. On Claude Code, which loadsCLAUDE.mdonly, the agent may point out that a one-line
CLAUDE.mdcontaining@AGENTS.mdwould load it here too; that is a suggestion, never an
assumption, and the remark is omitted on hosts where it is irrelevant. - "Offer once" was unenforceable.
SessionStartfires again on every start, resume,/clear
and compaction, and nothing recorded a refusal, so a user who declined was asked again forever.
A decline is now written as"section_offer": "declined"in the project's
~/.godot-prompter/state/file — the same per-project state mentor mode uses, merged rather
than clobbered — and the hook suppresses the offer from the next session on. Nothing is written
into the game repository. - Paths were named in spellings agents cannot write to. Under Git Bash
$HOMEis
/c/Users/you, so the mentor off-ramp and the new decline instruction both handed the agent a
path that every non-bash tool fails on; the instructions file was named the same way, or worse
as the mixedD:\game/CLAUDE.mdwhen the host supplied a native session root. Both are now
canonicalized (C:/Users/you/…), matching the form already required of the project path the
state key is hashed from.