CtrlK
BlogDocsLog inGet started
Tessl Logo

evilissimo/software-design

Use before implementing or refactoring software. Contains two skills: (1) Modular Software Design — for designing module boundaries, APIs, layers, abstractions, services, repositories, adapters, or architecture, helping 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; and (2) Software Testing — for writing unit tests, integration tests, or end-to-end tests, creating mocks/stubs/fakes, designing a testing strategy, doing TDD, reviewing test quality, fixing flaky tests, or refactoring test suites, generating risk-focused test plans, picking appropriate test levels, choosing between mocks/fakes/real dependencies, and applying Arrange-Act-Assert patterns with concrete examples.

93

1.12x
Quality

94%

Does it follow best practices?

Impact

92%

1.12x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-2/

Profile Stack Review

A profile lookup path has accumulated controller/service/manager/repository layers. Before adding privacy filtering and membership badges, review the architecture and recommend a migration path that reduces maintenance risk without a broad rewrite.

Produce architecture_critique.md.

Input:

class UserController:
    def get_user(self, request):
        return UserService().get_user(request.args['id'], request)
class UserService:
    def get_user(self, user_id, request):
        return UserManager().get_user(user_id, request)
class UserManager:
    def get_user(self, user_id, request):
        row = UserRepository().get_user(user_id, request.tx)
        if row['status_code'] == 9: return {'error': 'inactive'}
        return row
class UserRepository:
    def get_user(self, user_id, tx):
        return tx.query('select * from users where id=?', [user_id]).one()

evals

tile.json