At small scale, prompting works. As the codebase grows, things start to drift: - constraints leak into prompts - commands get longer - behavior becomes inconsistent - “helpful” changes appear outside the intended scope
Lately, I’ve been mapping common agent concepts (rules, commands, skills, sub-agents, MCP, hooks) not as features, but as control layers in an execution loop.
Very roughly: - rules constrain decisions - commands trigger execution - skills encode repeatable methodology - sub-agents limit responsibility - MCP enables observation - hooks enforce guarantees
My hypothesis is that many frustrations come from mixing these layers.
For example, encoding constraints in commands, or trying to use hooks for reasoning.
I’m curious how others here are thinking about this: - Do you treat agents as conversations or as systems? - At what point does prompting stop scaling for you? - How do you control blast radius when agents touch larger codebases? - Have you found concepts like skills or sub-agents actually useful, or just extra complexity?
https://codeaholicguy.com/2026/01/31/ai-coding-agents-explai...