Skip to main content

ix-architecture

Analyze system design — structure, coupling, code smells, and high-risk hotspots. Purely graph-based, no code reads.

Jump to install

Source facts

Repository
ix-infrastructure/ix-codex-plugin
Last source activity
June 3, 2026 at 05:27
Detected SKILL.md language
English
Stars
2
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
ix-architecture
description
Analyze system design — structure, coupling, code smells, and high-risk hotspots. Purely graph-based, no code reads.
argument-hint
["optional scope — path","subsystem name","or empty for whole system"]
Check `command -v ix` first. If unavailable, stop and say so — this skill requires a graph. ## Goal Answer: how healthy is this system's design, where are the weak boundaries, and what should be improved? Never reads source code — structural analysis only. ## Phase 1 — Structure (always) Run in parallel: ```bash ix subsystems --format llm ix subsystems --list --format llm ``` The `--list` output is the **canonical region ID enumeration**. All subsequent scoped `ix subsystems` calls must use only IDs (or name tokens) that appeared in this list. Never pass a raw region ID that was not returned by `--list`. If `$ARGUMENTS` is provided, resolve it against the `--list` output first: - If the argument matches a region name or ID from `--list`, proceed with that ID. - If ambiguous (multiple matches), use the most specific match or filter by path prefix. - If no match is found in `--list`, do NOT call `ix subsystems <argument>` directly — instead filter the repo-wide `--format llm` results by path prefix or name string. After resolving the target region, run: ```bash ix subsystems <resolved-id> --explain ix subsystems <resolved-id> --format llm ``` **Unknown-target recovery:** If a scoped `ix subsystems` call returns `unknown_target` or an ambiguous result, immediately fall back to filtering the full `ix subsystems --list` output. Do not retry with variant spellings or raw numeric IDs not in the enumeration. Extract: - Region hierarchy (systems -> subsystems -> modules) - Cohesion scores per region (higher = more self-contained) - External coupling per region (lower = better) - `crosscut_score` > 0.1 -> cross-cutting concern (design smell) - `confidence` < 0.6 -> fuzzy boundary (uncertain region) ## Phase 2 — Smells ```bash ix smells --format llm ``` If `$ARGUMENTS` scopes to a path or subsystem, do not rerun `ix smells` with a scope flag. Filter the repo-wide results by path prefix after retrieval. Classify each finding: `orphan` / `god-module` / `weak-component`. ## Phase 3 — Hotspots (only if smells are found or coupling is high) Run only if Phase 1 or 2 revealed significant issues: ```bash ix rank --by dependents --kind class --top 10 --exclude-path test --format llm ix rank --by dependents --kind function --top 10 --exclude-path test --format llm ``` Correlate: are the most-depended-on entities also in poorly-bounded subsystems? These are the highest-risk components. ## Output ```text ## Architecture Analysis ### System Structure [Region hierarchy with file counts. Flag: low-confidence boundaries, high-coupling regions, cross-cutting modules.] ### Health Scores | Region | Cohesion | Ext. Coupling | Boundary Ratio | Flag | |--------|----------|---------------|----------------|------| | [name] | [0-1] | [0-1] | [ratio] | [⚠ if bad] | ### Code Smells **High severity:** - [smell type] in [file/module] — [why it matters] **Medium severity:** - ... ### Hotspots [Top components where structural debt + centrality combine — highest risk for changes] ### Improvement Areas 1. [specific issue] — [concrete suggestion] 2. ... ### What's healthy [Briefly note well-structured areas — not everything is a problem] ``` Evidence: All claims must cite graph data (cohesion scores, smell counts, rank positions). No speculative design advice without structural evidence.
View on GitHub