@earnest mauve part 2:
What I measured from systemPromptReport for the run:
systemPrompt.chars = 13,035
skills.promptChars = 3,301
tools.schemaChars = 11,349
tool count = 27
injectedWorkspaceFiles = []
So before any useful work, the known first-pass char budget was:
system prompt: 13,035
tool schemas: 11,349
skills prompt: 3,301
wrapped user message: 691
Also, this one message triggered 4 model passes:
toolUse -> read_active_plan
toolUse -> read ~/.openclaw-companion/workspace/skills/diet-planner/SKILL.md
toolUse -> read_health_hub(section=diet_snapshot) (also emitted a stray "uma")
final text answer
wait for part 2
Questions:
Is a ~15k-token first call for a 691-char user message expected with 27 tools and 6 skills, even with no injected workspace files?
Is there a recommended way to reduce tool-schema overhead per turn? Dynamic tool filtering? Separate lighter agent profile?
Is loading the full SKILL.md into history via read tool the intended pattern, even though it then bloats subsequent calls?
Are 3 sequential tool-use passes for a simple diet request expected behavior, or is there a recommended pattern to reduce this churn?
Is there a way to get token-level breakdowns for system prompt vs skills vs tool schemas vs history, beyond the char counts in systemPromptReport?
I already checked that this spike is not coming from my own user wrapper or extra injected canonical blocks on that turn.