Phase 7f-1: Deprecate issue-creator + issue-gate agent spawns
Goal: Remove the
issue-creator agent type and change the agent spawn hook from requiring a plan/project reference to requiring a Forgejo issue reference. Issue scoping is a Betty Sue + Lucas responsibility — not an agent's job.Owner: Dev agent
Repo: claude-custom
Parent: Phase 7f (Doc Cleanup + SOP Hardening)
Forgejo Issue: #57
PR: #58 (MERGED)
Status: COMPLETED — All deliverables complete. Stale worktree cleanup was in scope but deferred.
Why
The
check-agent-spawn.sh hook currently requires plan-* or project-* in agent prompts. This was the right guard initially, but now that issues are the unit of work (issue-as-spec), the gate should be an issue reference. Benefits:- Tighter traceability: Every agent spawn traces to a specific Forgejo issue, not just a plan
- Prevents undirected spawns: No issue = no agent. This blocks wasteful Explore agents, undirected research, etc.
- Eliminates issue-creator agent: Betty Sue creates issues directly via
mcp__forgejo__create_issue. Issue scoping is a planning conversation between Betty Sue and Lucas — not something to delegate to an agent.
Deliverables
- Remove
issue-creatoragent type — deleteagents/issue-creator.md, remove fromsettings.json, remove frominject-subagent-context.sh. COMPLETE. - Update
check-agent-spawn.sh— change the grep fromplan-|project-to check for issue reference (e.g.#[0-9]orissue #orIssue #orForgejo issue). Dottie (general-purpose doc ops) is exempt — she uses plan references since her work isn't tied to Forgejo issues. COMPLETE. - Update
agent-spawn-conventions— change the axiom from "no plan, no agent" to "no issue, no agent" with Dottie exception noted. COMPLETE. - Update
agents/betty-sue.md— remove issue-creator references. COMPLETE. - Clean up stale worktrees — 3 stale worktrees in
claude-custom/.claude/worktrees/. DEFERRED.
Hook Logic
New
check-agent-spawn.sh logic:- If prompt contains issue reference (
#[0-9]+,issue,Issue) → allow - If prompt contains plan reference (
plan-) AND subagent_type is general-purpose → allow (Dottie exception) - Otherwise → deny with message: "No issue, no agent."
Related
agent-spawn-conventions— the convention to updatephase-postgres-7f-doc-cleanup-sop— parent phasesop-post-merge-docs— related SOP hardening