CtrlK
BlogDocsLog inGet started
Tessl Logo

evilissimo/modular-software-design

Use before implementing or refactoring software when the task requires designing module boundaries, APIs, layers, abstractions, services, repositories, adapters, or architecture. Helps coding agents reduce total system complexity by creating deep modules, hiding implementation knowledge, avoiding leakage and pass-through APIs, comparing alternative designs, documenting interfaces before coding, and critiquing existing architecture.

93

1.13x
Quality

94%

Does it follow best practices?

Impact

93%

1.13x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests hiding vendor/framework details behind a stable adapter and designing APIs around caller intent and actionable errors.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Design brief",
      "description": "Includes a design discussion before or with code for this non-trivial boundary change.",
      "max_score": 7
    },
    {
      "name": "Stable types",
      "description": "Public API uses stable domain/application types rather than vendor DTOs or raw provider responses.",
      "max_score": 10
    },
    {
      "name": "Vendor hidden",
      "description": "Hides provider-specific IDs, statuses, retry/idempotency mechanics, and response quirks inside the boundary where possible.",
      "max_score": 12
    },
    {
      "name": "Caller intent",
      "description": "Names the main operation by subscription/business intent rather than provider mechanics.",
      "max_score": 8
    },
    {
      "name": "Actionable errors",
      "description": "Exposes only errors or outcomes the subscription caller can meaningfully act on.",
      "max_score": 10
    },
    {
      "name": "Retries/fallbacks",
      "description": "Places retry, fallback, timeout, or idempotency decisions inside the payment boundary rather than in callers.",
      "max_score": 8
    },
    {
      "name": "Two designs",
      "description": "Compares at least two possible designs for the provider boundary.",
      "max_score": 8
    },
    {
      "name": "Split rationale",
      "description": "Splits domain subscription policy from provider infrastructure because they hide different knowledge/change for different reasons.",
      "max_score": 8
    },
    {
      "name": "No pass-through",
      "description": "Avoids an adapter that merely forwards charge/create calls with the same vendor-shaped parameters and returns.",
      "max_score": 10
    },
    {
      "name": "Contract comments",
      "description": "Documents interface contract details such as invariants, side effects, defaults, and non-goals.",
      "max_score": 9
    },
    {
      "name": "Result summary",
      "description": "Summarizes hidden complexity, created interfaces, rejected alternatives, and remaining tradeoffs.",
      "max_score": 10
    }
  ]
}

evals

README.md

SKILL.md

tile.json