Short description
Tool descriptions are way too long
What problem does this solve?
I love Magic Context, but my only gripe with it is how many tokens it uses injecting the system prompt and for each tool definition. More doesn't mean agents will use it better. Benchmarks of harnesses confirm this; the more bloated the system prompt and tools are, the worse it performs.
It injects a whopping 10k characters (2.4k tokens). to the system prompt alone. It is more than my whole system prompt without context. On top of that, tools take another 3.7k tokens for a total of 6100 tokens. That's more than the whole Pi with all extensions that I use combined. Measured on an empty project, so there were no memories injected.
- ctx_note - 928 tokens
- ctx_memory - 707
- ctx_search - 642
- ctx_expand - 630
- todowrite - 414
- ctx_reduce - 386
Proposed solution
Slim down the tool call descriptions and guidelines to bullet points with instructions on when and when not to use it. It works for all other tools; it will work for Magic Context as well. It doesn't need essays for each tool. More text doesn't mean it will use the tool better. Despite ctx_note taking 3712 characters, I barely see it used. It has basically a whole SKILL.md written into its description.
If the tools are so complicated because they do many things at once, I propose breaking them down to smaller, more granular ones. It will avoid having to explain like "use this when Y, do not use that when you provide this parameter" in the descriptions and parameters.
Injected system prompt and tool definitions are basically doubled. There's no need to have whole guidance on how to use the tool in the description if the system prompt injector already provides it.
While we are the system prompt, this part
### You are the user's long-term partner on this project — not a one-off hire
Most AI sessions are disposable: one session per task, discarded when it's done — like hiring a developer for a single bug fix and letting them go the moment they finish. Magic Context changes this completely. This session is a durable working relationship: you carry the full history and accumulated knowledge of this project, and you continue across many tasks, bugs, and features — with memory that persists across restarts. This session may continue for weeks, months, or even years.
Because of this:
- **Your context is continuously managed and effectively unbounded.** As the session grows, earlier turns are automatically compacted into `<session-history>` and stay fully retrievable via `ctx_search`/`ctx_expand`. You will not hit a context wall and you will not lose continuity mid-task.
- **High context usage is normal and fully handled** — never a reason to wrap up, cut scope, rush, or defer work. Keep going at full depth.
- **Finishing a task does not end the session.** Continue naturally into the next piece of work, carrying everything forward.
- **There are no compaction pauses.** Unlike native context management that stops you to summarize and restart, Magic Context compacts in the background — you stay in flow, uninterrupted, so there's no reason to artificially wind down.
I think it is completely unnecessary. The first paragraph is a filler text, not adding anything useful to the agent's behavior. The rest is very dangerous because it encourages LLMs to read all the files and perform tool calls because it thinks "it's free and context is unlimited." Benchmarks on "Context Mode" confirm the same, telling the LLMs that the reads and tool calls are efficient wastes 60% more total tokens instead of saving them. The LLM does more work that it doesn't have to. I never saw an LLM "wrap up, cut scope, rush, or defer work". This line is basically a no-op.
TLDR: I recommend removing the above text in its entirety from the system prompt.
Alternatives considered
No response
Area
Not sure
Additional context
No response
Short description
Tool descriptions are way too long
What problem does this solve?
I love Magic Context, but my only gripe with it is how many tokens it uses injecting the system prompt and for each tool definition. More doesn't mean agents will use it better. Benchmarks of harnesses confirm this; the more bloated the system prompt and tools are, the worse it performs.
It injects a whopping 10k characters (2.4k tokens). to the system prompt alone. It is more than my whole system prompt without context. On top of that, tools take another 3.7k tokens for a total of 6100 tokens. That's more than the whole Pi with all extensions that I use combined. Measured on an empty project, so there were no memories injected.
Proposed solution
Slim down the tool call descriptions and guidelines to bullet points with instructions on when and when not to use it. It works for all other tools; it will work for Magic Context as well. It doesn't need essays for each tool. More text doesn't mean it will use the tool better. Despite ctx_note taking 3712 characters, I barely see it used. It has basically a whole SKILL.md written into its description.
If the tools are so complicated because they do many things at once, I propose breaking them down to smaller, more granular ones. It will avoid having to explain like "use this when Y, do not use that when you provide this parameter" in the descriptions and parameters.
Injected system prompt and tool definitions are basically doubled. There's no need to have whole guidance on how to use the tool in the description if the system prompt injector already provides it.
While we are the system prompt, this part
I think it is completely unnecessary. The first paragraph is a filler text, not adding anything useful to the agent's behavior. The rest is very dangerous because it encourages LLMs to read all the files and perform tool calls because it thinks "it's free and context is unlimited." Benchmarks on "Context Mode" confirm the same, telling the LLMs that the reads and tool calls are efficient wastes 60% more total tokens instead of saving them. The LLM does more work that it doesn't have to. I never saw an LLM "wrap up, cut scope, rush, or defer work". This line is basically a no-op.
TLDR: I recommend removing the above text in its entirety from the system prompt.
Alternatives considered
No response
Area
Not sure
Additional context
No response