# 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]]