What problem does it solve? Sokrates produces raw numbers — size, complexity, duplication, coupling, churn, ownership — but numbers alone do not answer whether a codebase is easy to change. This Skill turns those metrics plus sibling scanner findings into graded, evidenced judgements of maintainability per component and per sub-characteristic. ## Core Features & Use Cases - Five-dimension grading: Assigns strong/adequate/weak/poor grades for modularity, reusability, analysability, modifiability, and testability, at system level and per major component, using indicative bands so runs agree. - Deterministic roll-up script: compute_maintainability.py derives cross-component duplication, temporal co-change, fan-in/fan-out, cycles, single-ownership share, stale files, doc-comment coverage, and fix-vs-feature commit mix from an unzipped Sokrates data export, with full provenance. - Typical-change tracing: Ranks cross-component co-change pairs as reading leads, then traces two realistic changes end to end to ground the grades in concrete evidence. - Use Case: After running a Sokrates analysis on a legacy monorepo, ask for a maintainability assessment to learn which component costs the most maintenance effort, whether shared utilities are trapped or reusable, and where duplication or single ownership makes changes expensive. ## Quick Start Run a maintainability scan on the _sokrates analysis of this repository and report the five grades with the costliest component.