Asked for an AI Assistant and Accidentally Got Middle Management. A developer warns that teams building AI assistants often accidentally recreate middle management by designing specialist agents for every task. Instead of solving the original problem, the AI spends time fetching context from Jira, Confluence, and other tools. The developer advocates embedding knowledge directly into Markdown files to reduce runtime dependencies and improve efficiency. "Someone opened a Miro board." That's how I knew we were in trouble. Not because I dislike diagrams. I like diagrams. I dislike what usually happens after someone opens a Miro board. Boxes appear. Then arrows. Then more boxes. Then someone says: "What if we had a Requirements Agent?" Someone else nods. "What if that fed into an Architecture Agent?" "Which then talks to a Coding Agent." "Which hands over to a Testing Agent." "Oh And a Documentation Agent." "Don't forget the PR Review Agent." At this point we have accidentally hired an AI engineering department. The funny part? We still haven't solved the original problem. The thing that fascinates me about the current AI tooling landscape is that everyone seems obsessed with designing specialists. Every prompt has a job title. Every workflow has another agent. Every new capability apparently deserves another box in the diagram. Meanwhile the poor model starts every conversation by asking: "Where are the coding guidelines?" Again. Let's be honest. Most of us aren't inventing new consensus algorithms before lunch. Our work usually looks something like this: The difficult part isn't typing Java or Python, or C , or TypeScript, or Rust... or, God forbid, Visual Basic .. It's reconstructing context. Every. Single. Time. Every fresh chat starts the same way. "Can you fetch Confluence?" "Can you open Jira?" "Where are the guidelines?" "Do we have an ADR for this?" Eventually your AI spends more time talking to MCP servers than helping you write software. Congratulations. You've recreated a junior developer during week one. Except unlike the junior developer... ...you wipe its memory every morning. This was probably the biggest mindset shift for me. Jira is... fine. Confluence is... also there. For humans. But if every implementation requires the AI to continuously fetch Jira tickets, Confluence pages and random documentation... ...your documentation has become a runtime dependency. Anything your AI repeatedly needs should simply exist in your knowledge base. Coding standards. Architecture decisions. Business terminology. Review expectations. Common implementation patterns. The "please don't touch this query after 4pm on a Friday" notes. Markdown. Markdown. More Markdown. If Confluence is still the source of truth, great. Synchronise it. Export it. Embed it. I don't particularly care how it gets there. I care that the AI opens a local Markdown document instead of making its fifteenth MCP request of the day. Less fetching. More building. People ask me why I like using Obsidian alongside AI. It's not because I enjoy collecting Markdown files. It's because Obsidian becomes a second brain. Every architectural decision. Every naming convention. Every lesson learned. Every business quirk. Every "we tried that in 2024 and production caught fire." Once it's written down, the AI stops rediscovering it every conversation. This is where tools like Superpowers really clicked for me. Honestly, replace "Superpowers" with SpecKit, Matt Pocock's workflows, or whatever orchestration framework you prefer. The name doesn't matter. The orchestration does. Imagine the flow. One skill gathers context. It reads the Jira ticket. Finds related Markdown. Loads business specifications. Pulls architecture decisions. Finds similar implementations. Done. The next skill takes over. Loads project guidelines. Checks architectural constraints. Reminds the model about naming conventions. Highlights business rules that everyone forgets. Done. Implementation finishes. Another skill takes over. Generate the PR description. Check documentation updates. Suggest release notes. Identify defects. Raise technical debt where appropriate instead of adding another immortal TODO . Generate review comments that actually sound like your team. Notice what didn't happen? We never created a PR Agent. Or an Architecture Agent. Or a Documentation Agent. They're just small reusable skills passing context to one another. The clever bit isn't the individual skills. It's the choreography. Some prompts start like this: You are a Distinguished Principal Senior Staff Software Architect with twenty-five years of enterprise experience... Mate. You're writing a commit message. Take it easy. Modern models are already ridiculously capable. The difference is rarely intelligence. It's context. The more I experiment with AI-assisted development, the more I believe we've been optimising the wrong thing. We don't need another specialist. We need better memory. We need better orchestration. We need our project knowledge to be available before the first line of code is written. Ironically, that's also what makes human developers productive. Knowledge. Context. Shared conventions. Not job titles. Next time someone opens a Miro board and proudly shows you twenty AI agents connected with colourful arrows... Ask one question. "Where are your coding guidelines?" If the answer starts with: "Well... they're mostly spread across Confluence..." Close the Miro board. Open Obsidian. Start there. Because most backend teams don't need another AI employee. They need a second brain and a handful of well-orchestrated skills. Everything else is just middle management.