Enforce strict three-layer architecture: thin HTTP routes, pure service logic with domain errors, isolated data access with dependency injection.
94
93%
Does it follow best practices?
Impact
97%
1.08xAverage score across 5 eval scenarios
Passed
No known issues
{
"instruction": "Services should accept dependencies via injection for testability",
"relevant_when": "Agent creates service modules that depend on repositories, external services, or event systems",
"context": "Services should receive their dependencies (repositories, event buses, external service clients) through constructor injection, factory functions, or parameter passing rather than hard-coded imports. This allows unit testing with mocks and makes dependencies explicit. Common patterns: factory functions that accept a deps object, class constructors, or function parameters.",
"sources": [
{
"type": "file",
"filename": "skills/separation-of-concerns/SKILL.md",
"tile": "tessl-labs/separation-of-concerns@0.1.3"
}
],
"checklist": [
{
"name": "deps-injectable",
"rule": "Service functions or classes accept their dependencies (repos, event bus, external clients) as parameters or constructor arguments rather than importing them directly at module level",
"relevant_when": "Agent creates service modules with external dependencies"
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
skills
separation-of-concerns
verifiers