Issue 11: Separate transient task instructions from keepable skills
Epic: Task-queue orchestrator runner · Depends on: #624, #627
Why
The orchestrator installs a mini-skill per task — install, init, identify,
capture, error-tracking-step, build, dashboard, report — into
.claude/skills/ (via installSkillById in the executor's runTask). These are
the procedural HOW each task agent follows: transient wizard instructions, not
durable skills a user would keep for ongoing agent work.
But they land in the same .claude/skills/ directory as the linear flow's
keepable integration skill, so the keep-skills outro screen lists all eight
and offers to keep them. That is wrong twice over: it clutters the user's project
with eight one-shot instruction folders, and it frames throwaway scaffolding as
something worth keeping.
The linear flow has one durable skill (e.g. integration-nextjs-app-router) that
is genuinely worth keeping. The orchestrator has none — every skill it pulls is
scaffolding for a single run.
Scope / deliverable
- Install task instructions to an ephemeral location, not
.claude/skills/.
installSkillById already takes a skillsRoot override (the reference-example
install uses .posthog-wizard/reference/). Install the per-task mini-skills
under the run dir, e.g. .posthog-wizard/skills/<type>/, so they never touch
.claude/skills/.
- Auto-delete them at run end. The whole
.posthog-wizard/ working area is
already the orchestrator's scratch space; clean up the installed task skills
when the run finishes (success or failure), the same way the reference example
is throwaway.
- Keep them out of the keep-skills screen. With the instructions no longer in
.claude/skills/, the keep-skills step naturally has nothing orchestrator-owned
to offer. Confirm the orchestrator arm either skips the keep-skills screen
entirely (it installs no durable skill) or only ever surfaces a genuinely
keepable skill, never the task instructions.
Key files
src/lib/programs/orchestrator/orchestrator-runner.ts — runTask installs each
task's skills; point them at an ephemeral skillsRoot and clean up on run end.
src/lib/wizard-tools.ts — installSkillById(..., skillsRoot?) already supports
the override.
- the
keep-skills TUI step / screen — confirm it reads .claude/skills/ and so
shows nothing once the instructions install elsewhere.
Acceptance criteria
Issue 11: Separate transient task instructions from keepable skills
Epic: Task-queue orchestrator runner · Depends on: #624, #627
Why
The orchestrator installs a mini-skill per task —
install,init,identify,capture,error-tracking-step,build,dashboard,report— into.claude/skills/(viainstallSkillByIdin the executor'srunTask). These arethe procedural HOW each task agent follows: transient wizard instructions, not
durable skills a user would keep for ongoing agent work.
But they land in the same
.claude/skills/directory as the linear flow'skeepable integration skill, so the keep-skills outro screen lists all eight
and offers to keep them. That is wrong twice over: it clutters the user's project
with eight one-shot instruction folders, and it frames throwaway scaffolding as
something worth keeping.
The linear flow has one durable skill (e.g.
integration-nextjs-app-router) thatis genuinely worth keeping. The orchestrator has none — every skill it pulls is
scaffolding for a single run.
Scope / deliverable
.claude/skills/.installSkillByIdalready takes askillsRootoverride (the reference-exampleinstall uses
.posthog-wizard/reference/). Install the per-task mini-skillsunder the run dir, e.g.
.posthog-wizard/skills/<type>/, so they never touch.claude/skills/..posthog-wizard/working area isalready the orchestrator's scratch space; clean up the installed task skills
when the run finishes (success or failure), the same way the reference example
is throwaway.
.claude/skills/, the keep-skills step naturally has nothing orchestrator-ownedto offer. Confirm the orchestrator arm either skips the keep-skills screen
entirely (it installs no durable skill) or only ever surfaces a genuinely
keepable skill, never the task instructions.
Key files
src/lib/programs/orchestrator/orchestrator-runner.ts—runTaskinstalls eachtask's skills; point them at an ephemeral
skillsRootand clean up on run end.src/lib/wizard-tools.ts—installSkillById(..., skillsRoot?)already supportsthe override.
keep-skillsTUI step / screen — confirm it reads.claude/skills/and soshows nothing once the instructions install elsewhere.
Acceptance criteria
.claude/skills/; the taskinstructions live under
.posthog-wizard/and are gone after the run.install,capture,build,etc. — it offers nothing for the orchestrator arm (or only a real keepable
skill, if one is ever introduced).
.posthog-wizard/skills/after a clean run.