docs/plans/2026-05-24-move-goal-templates-under-plans.md
Objective:
Move reusable goal templates from docs/goals/templates to
docs/plans/templates, complete only when helper scripts resolve and create
templates from the new location, source rules and generated skill output no
longer reference docs/goals/templates, old template files are gone, smoke
tests prove static generic and Slate shells render into docs/plans, incomplete
shells are rejected, stale-pattern search is clean, pnpm install syncs
generated output, pnpm lint:fix is stable, and this plan passes
check-complete.
Goal plan: docs/plans/2026-05-24-move-goal-templates-under-plans.md
Completion threshold:
docs/plans/templates/goal.md and docs/plans/templates/slate-ralplan.md
exist; no reusable goal templates remain under docs/goals/templates;
helper scripts and rule guidance use docs/plans/templates; generic and Slate
smoke plans render and are rejected as incomplete until filled; final lint and
completion checks pass.Verification surface:
find / rg path audits, script node --check, helper smoke commands,
incomplete-plan rejection through check-complete, pnpm install,
pnpm lint:fix, stale-pattern search, and final check-complete on this
plan.Constraints:
docs/plans/*.md remains runtime goal-plan output; templates are reusable
shells only; no hand edits to generated SKILL.md; no hook state or
active goal state.Boundaries:
.agents/rules/goal.mdc, .agents/rules/slate-ralplan.mdc,
.agents/AGENTS.md, .agents/rules/goal/scripts/*.mjs,
docs/plans/templates/**, generated output from pnpm install, and this
goal plan.Blocked condition:
Completion rule:
update_goal(status: complete) while any required checklist item
remains unchecked. If an item does not apply, check it and add N/A: <reason>.update_goal(status: complete) until the named verification
evidence is recorded below and
node .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-move-goal-templates-under-plans.md passes.active goal state for this goal. This
file plus the active goal are the durable state.Required checklist:
get_goal checked; create_goal called only when no active goal existed,
or the active matching goal was recorded.learnings-researcher / docs/solutions checked, or marked N/A with
reason. N/A: workflow/template path correction, not product bug reuse.docs/plans goal plan created before substantive edits.check run before PR create/update, or marked N/A with reason. N/A:
no PR requested.node .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-move-goal-templates-under-plans.md
passes after final evidence is recorded.ce-compound evaluated after non-trivial verified work. N/A: the durable
artifact is the workflow/template update itself.Phase / pass table:
| Phase | Status | Evidence | Next |
|---|---|---|---|
| Intake and source read | complete | user correction and existing goal/template rules read | patch workflow |
| Implementation | complete | templates moved to docs/plans/templates; helper resolver/help and source rules updated | sync generated output |
| Verification | complete | syntax, smoke, stale-search, sync, and lint checks passed | done |
| Closeout | complete | final response reports move and verification | done |
Findings:
docs/plans/templates is clearer than docs/goals/templates because these
files instantiate docs/plans/*.md.docs/plans from
reusable templates under docs/plans/templates.Decisions and tradeoffs:
docs/plans/templates instead of keeping a separate
docs/goals namespace; this is less terminology and easier for agents to
infer.Error attempts:
| Error / failed attempt | Count | Next different move | Resolution |
|---|---|---|---|
| None yet | 0 |
External/browser findings:
Timeline:
goal.md and slate-ralplan.md to
docs/plans/templates.docs/plans/templates.pnpm install synced generated output.pnpm lint:fix passed with no fixes applied.Verification evidence:
pnpm install -> passed; skiller apply completed successfully.node --check for create-goal-scratchpad.mjs,
create-goal-template.mjs, and check-complete.mjs -> passed.test -f docs/plans/templates/goal.md and
test -f docs/plans/templates/slate-ralplan.md -> passed.test ! -e docs/goals -> passed.node .agents/rules/goal/scripts/create-goal-template.mjs --path docs/plans/templates/smoke-template.md -> created template under docs/plans/templates; expected core rows found; smoke file removed.node .agents/rules/goal/scripts/create-goal-scratchpad.mjs --title "smoke plans template generic" --path docs/plans/2026-05-24-smoke-plans-template-generic.md -> rendered generic static shell from docs/plans/templates; checker rejected unfilled shell as expected; smoke file removed.node .agents/rules/goal/scripts/create-goal-scratchpad.mjs --template slate-ralplan --title "smoke plans template slate" --path docs/plans/2026-05-24-smoke-plans-template-slate.md -> rendered Slate static shell from docs/plans/templates; checker rejected unfilled shell as expected; smoke file removed.rg -n "docs/goals/templates|docs/goals/\*\* runtime state" .agents/rules .agents/AGENTS.md AGENTS.md .agents/skills/goal/SKILL.md .agents/skills/slate-ralplan/SKILL.md -> no matches; stale template path search clean.pnpm lint:fix -> passed; Checked 3423 files in 5s. No fixes applied.node .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-move-goal-templates-under-plans.md -> passed with [goal] complete: docs/plans/2026-05-24-move-goal-templates-under-plans.md.Reboot status:
| Question | Answer |
|---|---|
| Where am I? | Closeout |
| Where am I going? | Report completed move and verification |
| What is the goal? | Move reusable goal templates under docs/plans/templates |
| What have I learned? | See Findings |
| What have I done? | See Timeline |
Open risks: