Spec-first: A well thought-out spec is written first, and then used in the AI-assisted development workflow for the task at hand.
Spec-anchored: The spec is kept event after the task is complete, to continue using it for evolution and maintenance of the respective feature.
Spec-as-source: The spec is the main source file over time, and only the spec is edited by the human, the human never touches the code.
What is a spec? A spec is a structured, behavior-oriented artifact —or a set of related artifacts— written in natural language that expresses software functionality and serves as guidance to AI coding agents.
While these (MCP Servers) were heavily promoted a couple of months ago, these bloat the context window of the agents, resulting in lower quality output. There are many skills and/or CLI tools that can replace tasks for an MCP server.
Supervised software engineering agents are increasingly capable of identifying necessary updates and making larger changes to a codebase. At the same time, we’re seeing growing complacency with AI-generated code, and developers becoming reluctant to review large AI-made change sets. A common justification for this is that human-oriented code quality matters less since AI can handle future modifications; however, AI coding assistants also perform better with well-factored codebases, making AI-friendly code design crucial for maintainability.