CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/separation-of-concerns

Enforce strict three-layer architecture: thin HTTP routes, pure service logic with domain errors, isolated data access with dependency injection.

94

1.08x
Quality

93%

Does it follow best practices?

Impact

97%

1.08x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

injectable-dependencies.jsonverifiers/

{
  "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"
    }
  ]
}

tile.json