# Convention over Configuration A design paradigm where systems provide sensible defaults based on naming conventions and standard structures, reducing the amount of explicit configuration required. Popularized by Ruby on Rails. ## How it works Instead of requiring every component to declare how it connects to every other component, the system infers connections from naming and placement. A file in `controllers/` is a controller. A file named `UserModel` maps to the `users` table. No configuration file needed. ## Trade-offs - **Reduces boilerplate**: new components work immediately by following the convention - **Faster onboarding**: learn the conventions once, navigate the entire system - **Risk of magic**: when conventions are undocumented, newcomers don't understand why things work - **Escape hatch needed**: conventions must be overridable for edge cases ## In AI skills and agents A consistent skill ecosystem relies heavily on convention: - Skill lives in `{namespace}-{category}-{name}/SKILL.md` with predictable frontmatter - Agent lives in `Agents/{Role}/` with SOUL.md, DEPENDENCIES.md, MEMORY.md, memory/ - Note types follow consistent templates with predictable property order - Panel definitions follow a standard structure When every skill and agent follows the same convention, tools can discover, validate, and compose them automatically. When they diverge, each becomes a special case requiring manual handling. Convention over Configuration is what makes [[AI Skill Distribution]] practical at scale. ## References - ## Related - [[AI Skill Best Practices]] - [[AI Assistant Architecture]] - [[Keep It Simple Stupid (KISS)]] - [[Software Design Patterns for AI Skills and Agents]] - [[AI Skill Distribution]]