Prefix placement for skills visibility — full, always-current skill discovery at a fraction of the cost.
A systematic audit of what Amplifier injects into every LLM request found the skills-visibility hook re-broadcasting the full skills index on every single provider request — whether the turn needed it or not.
The complete skills index, re-attached to each provider call so the agent always knows what skills it can load.
It rides at the end of the messages — after content that changes every turn — so it can never land on a cache hit.
The same bytes, paid for fresh on every request, with no chance of ever being served from the prompt cache.
of root-session cost on Anthropic models was the skills-index rebroadcast — measured by controlled ablation, with zero quality gain on skill-independent tasks.
The index exists for a reason: it is how the agent discovers the skills it can load. Every obvious alternative fails a different way.
Cheapest by far — and the agent goes blind to its skills. Discovery breaks entirely.
Decays into history and gets evicted by context management. Worse: skills change mid-session — modes add and remove them — so a stale copy is context poison.
Always current, always visible — at 32–39% of root-session cost on Anthropic models.
Move the index into the stable system-prompt prefix — the one part of every request the provider prompt cache is built for.
The index sits in the cached prefix instead of the uncacheable tail — sent with every request, but no longer paid for fresh each turn.
Full skills visibility on every request. No decay into history, no eviction, no reliance on a copy from ten turns ago.
Content re-renders only when the skill catalog actually changes — a mode adds or removes skills, the prefix updates. Exactly one current copy ever exists.
Same tasks, three placements, wire-level verification that each arm ran what it claimed. Root-session cost per task:
load_skill to succeed, graded programmatically. Request arm 6/6 recalled+correct; prefix arm 5/5 (one trial excluded as an infrastructure failure with zero requests).microsoft/amplifier-bundle-skills PR #48 introduced prefix placement; PR #49 made it the default). Opt out with visibility.placement: "request".load_skill, graded programmatically only. Request arm 6/6 recalled+correct; prefix arm 5/5 (one trial excluded as an infrastructure failure with zero requests).Prefix placement is now the default — it auto-applies on your next bundle refresh. Cheaper long sessions, same skills discovery.