#6311·openhuman

Skill Setup Agent is spawned three times for one install request, and the "run the skill" half never happens

Author: M3gA-MindCreated Sep 15, 2026Updated Sep 15, 2026
Labelspriority: p1

What happens

On a live account run (core built from #6304 at 2abd462ec, real chat-v1), the orchestrator correctly handed a skill install to skill_setup — and then skill_setup was spawned three times for the one request:

spawn duration what it did
1 32.6s searched 4×, returned nothing usable
2 23.5s installed the skill (dynamic-workflow, 11,159 B on disk)
3 21.1s looped skill_registry_search / list_workflows until it hit [SUBAGENT_INCOMPLETE] … the same successful tool call returned the identical result 3 times

Net result: 77s of sub-agent time, the install happened once in the middle, and the "run the skill" half never happened at all.

Why it matters now

Until #6304 the orchestrator never reached these specialists, so their own loop behaviour was invisible. Now that the hand-off works, this is the next bottleneck on the same user request: the hand-off succeeds and the task still does not complete.

What to look at

  • Why the request is dispatched three times rather than once — is the orchestrator re-spawning after an unsatisfying reply, or is one dispatch retrying internally?
  • Spawn 1 searching 4× and returning nothing usable: a search that finds nothing should end the run with that answer, not leave the caller to try again.
  • Spawn 3 is pure repetition — the repeated-failure breaker caught it, which means nothing before the breaker did.
  • The install→run sequence: after a successful install, the follow-on "run it" step is what the user actually asked for and it was never reached.

Acceptance

One user request to install and run a registry skill results in one skill_setup dispatch, and the run half executes. A test pins that a search returning nothing terminates the run instead of looping.

Found during the #6302 live acceptance run; not in scope for #6304, which is orchestrator→specialist routing.