sysid blog

KISS my A....

Keep the agent setup simple, stupid.

We are navigating a Cambrian explosion of AI developer tools. No week without new framework, bespoke agent harness, another MCP server, or a library of specialized “skills” designed to supercharge our workflows. For us developers, the temptation to jump this train is real. After all, building and mastering complex systems is what we do.

But frameworks don’t just add capability; they freeze assumptions.

They define how planning should look, where tools must be registered, how memory is stored, how skills are selected, how messages are routed. That’s fine when those assumptions match the model’s needs. It becomes harmful when the model no longer needs them.

At that point, the framework stops being leverage and starts being constraint:

The irony is that the “reliability layer” often becomes the largest source of fragility.

Look at the coding agents from the major AI labs. Strip away the branding, and they are remarkably similar. Most converge toward the same interaction model, and many are just chasing Claude Code as the gold standard.

This convergence is not a coincidence — it reflects the natural gravity of what actually works for a frontier model to operate autonomously inside a codebase.

If it’s truly valuable, the agent will absorb it

Planning mode, task lists, structured iteration, workspace awareness, terminal multiplexing. These aren’t niche tricks; they are general productivity primitives. When a primitive is broadly useful, it migrates into the core product.

We see this pattern. Workflows that required third-party tooling show up as first-class features (workspaces, tmux integration, multi-file navigation, instruction adherence). External tools become prosthetics.

The pattern is clear — if a workflow pattern genuinely provides value, the agent absorbs it. Hand-rolled scaffolding becomes dead weight.

If you really need tools, use them. But treat them as disposable, not foundational.

The Chaos of Skills and MCPs

We are enamored with “skills” and complex Model Context Protocols (MCPs). Marketed as ways to give superpowers, these tools often achieve the opposite.

At their core, skills are merely syntactic sugar for intent recognition. They are abstractions designed to map a user’s prompt to a specific function execution. But when you equip an agent with dozens of interconnected skills and MCPs, you create a massive routing problem. The agent is forced to expend its cognitive bandwidth deciding which tool is the appropriate one to use in a given scenario.

The agent struggles to understand the nuances of its bloated toolkit, resulting in a frustrating loop of corrections. Furthermore, these tools inject data into the context window without oversight.

In agentic development, losing control of the context window is fatal. The dead sin.

I have seen it. The developers who stack the most tools are rarely the most productive. They are the most busy — which is a different thing.

First Principles: Context Is Everything

If we discard bloated toolchains, what are we left with? First principles. Keep It Simple, Stupid (KISS).

Strip the problem down to its core and what remains is simple. An agent is a language model operating within a context window. Everything it knows, everything it can reason about, everything it decides to do flows from what is in that window. The quality of your output is bounded by the quality of your context.

This means the highest-leverage activity is not configuring more tools.

It is managing your context with precision. Clear instructions. Well-structured rules files. Thoughtful progressive disclosure — not through a framework, but through explicit direction.

Read the architecture doc in /docs/arch.md before making changes to the API layer.

That’s it. No skills engine required. No intent-recognition layer. Just a sentence that puts the right information in front of the agent at the right time.

I need full control of my context window. Every MCP, every skill, every extension is something that competes for space in that window and introduces decisions I did not make. When I tell the agent exactly what to read, use, and apply, there is no ambiguity. There is no routing logic to second-guess. The agent gets precisely the context it needs, nothing else.

Instead of relying on a complex vector database integration or an MCP to fetch documentation, rely on the simplest and most robust technology available: plain text.

The only durable control surface is the context window

Everything an agent does is a function of context:

That is the first principle. It does not change when frameworks or agents change.

Instead of pre-loading an agent with a dozen external tools, write clean, structured Markdown artifacts.

The quality of these artefacts is what really matters! Here you need to spend your energy!

The Golden Rule

No fix until you can precisely name the recurring failure it fixes. A concrete failure. A measurable friction point. A repeated cost.

Then add the smallest possible mechanism to address that one issue. Most of the time this is just adding a simple instruction to your AGENTS.md.

Resist the Paralysis

The number of tools out there creates a real risk of analysis paralysis. It’s easy to spend days evaluating MCP servers, comparing skills frameworks, and reading blog posts about the “ultimate agentic setup.”

None of that ships features. None of that fixes bugs.

YAGNI exists for a reason. Do not add tooling until the absence of it is a proven, repeated bottleneck in your actual workflow — not a hypothetical one you read about on Hacker News. And when you do hit a genuine bottleneck, check first whether the next agent release already solves it. Odds are decent that it does, or will soon.

Keep It Simple

The developers who are most effective with coding agents are not the ones with the most elaborate setups. They are the ones who understand the fundamentals:

Treat the agent’s context window as the most precious resource in the workflow. Keep the setup ruthlessly simple, rely on plain-text instructions, and let the base models do the heavy lifting.

Resist the urge to abstract what does not need abstracting.

Keep it simple. Put your attention where it compounds:

Context!

If you control the context window, you control the agent. Everything else is noise.

#Ai #Development #Agents