audit-maintainability
Audit the codebase for maintainability, the ISO/IEC 25010 characteristic covering modularity, reusability, analyzability, modifiability, and testability.
Skill by tomzx
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tomzx-audit-maintainability
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/audit-maintainability
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash,Read,Glob,Grep
What's inside
- Skill name
audit-maintainability- Description
- Audit the codebase for maintainability, the ISO/IEC 25010 characteristic covering modularity, reusability, analyzability, modifiability, and testability. Computes architectural metrics (coupling, fan-out, circular dependencies, layering violations, God modules) that the find-* family does not cover, and aggregates find-* results into a single maintainability scorecard. Use when the user says /audit-maintainability, "coupling analysis", "circular dependencies", "layering violations", "modularity audit", or runs a 25010 sweep via /audit-sdlc. Read-only; produces a scorecard and findings report.
- License
- MIT
- Allowed tools
- Bash,, Read,, Glob,, Grep
- Instructions
- 226 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
TODAY=!`date +%Y-%m-%d`
# Maintainability Audit (ISO/IEC 25010)
Audits the codebase for **maintainability**: how easily it can be modified to fix bugs, improve performance, or adapt to a changed environment.
It computes the **architectural** maintainability metrics that per-function scanners miss, then combines the `find-*` family's output into one maintainability scorecard.
This is the **Maintainability** characteristic of the [ISO/IEC 25010](https://en.wikipedia.org/wiki/ISO/IEC_25010) quality model.
## What This Skill Adds Beyond the find-* Family
The `find-*` skills are per-function or per-file scanners (complexity, coverage, dead code, duplication, types).
They cannot see **structure**: which module depends on which, whether layers are respected, whether cycles exist, whether one module is a God object.
This skill computes those structural metrics and combines everything into one view.
| Source | What it provides here |
|---|---|
| `find-complexity-hotspots` | Modifiability: high cyclomatic complexity |
| `find-coverage-gaps` | Testability: untested code |
| `find-dead-code` | Reusability/analyzability: code that should be removed |
| `find-code-duplication` | Reusability: copy-paste to consolidate |
| `find-type-gaps` | Analyzability/modifiability: missing types |
| **This skill (unique)** | Modularity: coupling (fan-out), cohesion, circular dependencies, layering violations, God modules |
## Prerequisites
- Working directory is the root of the repository
- Read `.sdlc/context/architecture.md` if present (declares intended layering rules this audit checks against)
- `find-*` skills available (invoked as read-only scanners)
## What This Checks
| Sub-characteristic | Metric | How computed |
|---|---|---|
| Modularity | coupling / fan-out | count of distinct modules each module imports |
| Modularity | circular dependencies | import graph cycle detection |
| Modularity | layering violations | actual imports vs declared layers in `architecture.md` |
| Modularity | God modules | modules with LOC or import-count far above the median |
| Cohesion | mixed-concern modules | modules whose public functions span unrelated responsibilities (heuristic: divergent import sets) |
| Reusability | duplication | delegates to `find-code-duplication` |
| Analyzability | missing docs/types | delegates to `find-documentation-gaps`, `find-type-gaps` |
| Modifiability | complexity | delegates to `find-complexity-hotspots` |
| Testability | coverage gaps | delegates to `find-coverage-gaps` |
## Steps
### 1. Build the import graph
For the primary language, collect module-level imports to build a directed graph (module → imported module).
```
rg -n "^import |^from .* import |^const .* = require\(|^import .* from " -g '*.{py,ts,js,go}' .
```
Keep imports that resolve to internal modules (drop stdlib and third-party).
### 2. Coupling (fan-out)
For each module, count distinct internal modules it imports.
Modules above the 90th percentile (or a fixed threshold like 20) are high-coupling findings.
God modules = high fan-out AND high LOC.
```
wc -l $(find . -name "*.py" -not -path "*/test*" -not -path "*/.venv/*") | sort -rn | head -20
```
### 3. Circular dependencies
Detect cycles in the internal import graph.
A cycle means a change in any member can affect all members.
Report the smallest cycles first (easiest to break).
For Python, a quick check:
```
rg -n "^from \." -g '*.py' . | sort
```
Then trace relative-import chains for cycles.
For JS/TS, map `import ... from "./..."` chains.
Flag any cycle found.
### 4. Layering violations
If `.sdlc/context/architecture.md` declares layers (e.g., `api → service → repository`, or "UI must not import DB"), check actual imports against the rules.
Every import that crosses a forbidden direction is a finding.
```
rg -n "import" -g '*.py' . | rg "api.*model|model.*api|ui.*db|db.*ui"
```
If no layering rules are declared, skip this step and recommend documenting them in `architecture.md`.
### 5. Delegate to find-* scanners
Invoke these read-only and collect their top findings as the per-characteristic detail:
- `/find-complexity-hotspots` (modifiability)
- `/find-coverage-gaps` (testability)
- `/find-dead-code` (reusability/analyzability)
- `/find-code-duplication` (reusability)
- `/find-type-gaps` (analyzability) — Python/TS/JS only
- `/find-documentation-gaps` (analyzability)
Skip any whose preconditions are not met.
### 6. Compute the maintainability scorecard
Combine these into a per-module and project-level score.
Keep the formula simple and transparent:
```
maintainability_score = 100
- (coupling findings × weight_c)
- (cycles × weight_cycle)
- (layering violations × weight_layer)
- (complexity hotspots × weight_complex)
- (coverage gap weight)
- (duplication weight)
clamp to [0, 100]
```From tomzx/agents, MIT.
More from tomzx/agents
- 0.639score
create-mermaid-visualization
tomzx
Create any Mermaid diagram (flowchart, sequence, class, state, ER, C4, architecture, gantt, mindmap, timeline, pie, sankey, and 20+ more) from a description…
SkillAFreshness: A★ 12Claude Code +9 - 0.639score
communication-guidelines
tomzx
Shared guidelines for writing concise, high-signal outbound communication the agent posts or drafts on the user's behalf, covering GitHub PR and issue…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
audit-functional-suitability
tomzx
Audit whether the software actually does what it should, completely and correctly.
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
attach-assets
tomzx
Upload files (images, logs, screenshots) to a dedicated orphan branch in the repository and embed them in a GitHub issue or PR comment or description, so…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
audit-usability
tomzx
Audit the software's interfaces (CLI, API, and web UI) for usability, the ISO/IEC 25010 characteristic covering recognizability, learnability, operability…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
audit-compatibility
tomzx
Audit the codebase for compatibility, the ISO/IEC 25010 characteristic covering co-existence (running alongside other software without conflict) and…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
analyze-test-coverage
tomzx
Analyze a set of code changes (diff or files) and produce a structured test coverage report with three parts: introduced tests, change coverage, and uncovered…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
audit-attention
tomzx
Audit how your time splits between compounding and depreciating activities using the two-year test.
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
create-article
tomzx
Write, update, or revise a high-quality article given a target audience and relevant sources.
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
arxiv-article
tomzx
Downloads an arXiv HTML article, converts it to markdown with pandoc, archives it, and returns a structured summary.
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
arxiv-catchup
tomzx
Fetches new arXiv cs.AI papers published since the last processed date, processes each paper's HTML version via the arxiv-article skill, and advances the date…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
audit-performance-efficiency
tomzx
Audit the codebase for performance efficiency, the ISO/IEC 25010 characteristic covering time behavior, resource utilization, and capacity.
SkillAFreshness: A★ 12Claude Code +9
Signals
- Stars
- 12
- Forks
- 1
- Open issues
- 16
- Last commit (this folder)
- Oct 7, 2026 (21 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tomzx/agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tomzx
- 0.639score
create-mermaid-visualization
tomzx
Create any Mermaid diagram (flowchart, sequence, class, state, ER, C4, architecture, gantt, mindmap, timeline, pie, sankey, and 20+ more) from a description…
SkillAFreshness: A★ 12Claude Code +9 - 0.639score
communication-guidelines
tomzx
Shared guidelines for writing concise, high-signal outbound communication the agent posts or drafts on the user's behalf, covering GitHub PR and issue…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
audit-usability
tomzx
Audit the software's interfaces (CLI, API, and web UI) for usability, the ISO/IEC 25010 characteristic covering recognizability, learnability, operability…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
create-article
tomzx
Write, update, or revise a high-quality article given a target audience and relevant sources.
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
analyze-test-coverage
tomzx
Analyze a set of code changes (diff or files) and produce a structured test coverage report with three parts: introduced tests, change coverage, and uncovered…
SkillAFreshness: A★ 12Claude Code +9 - 0.634score
arxiv-article
tomzx
Downloads an arXiv HTML article, converts it to markdown with pandoc, archives it, and returns a structured summary.
SkillAFreshness: A★ 12Claude Code +9
Cite this page
audit-maintainability skill. Agent Mart. https://agentmart.dev/skills/tomzx-audit-maintainability (last updated 2026-10-24)