# Architecture Language

> Canonical architectural vocabulary — module, interface, seam, adapter, depth, leverage, locality. Use when reviewing architecture, deepening shallow modules, designing interfaces, or evaluating refactor candidates. NOT a domain glossary (use /ubiquitous-language for that).

- Skill: `alexandrbasis/architecture-language` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add alexandrbasis/architecture-language`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alexandrbasis/architecture-language/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, AI & ML
- Author: alexandrbasis (https://skillmd.com/u/alexandrbasis)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/alexandrbasis/architecture-language

---


# Architecture Language

Shared vocabulary for architectural reasoning. Prefer these terms when the distinction is
material, but preserve the target project's established domain and technical names; do
not rename existing `service`, `API`, `component` or `boundary` identifiers merely to
match this glossary.

The full glossary lives in [LANGUAGE.md](LANGUAGE.md). Load it when:

- Reviewing architecture (`senior-architecture-reviewer`, `code-analysis`)
- Hunting deepening opportunities (`improve-codebase-architecture`)
- Designing interfaces or evaluating module shape
- TDD planning where module depth affects test surface

## Why this exists

A codebase full of shallow modules is hard for both humans and AI to navigate. The vocabulary in `LANGUAGE.md` makes the distinction between *deep* and *shallow* sayable, which is the prerequisite for fixing it.

When reviewing or planning, use the precise term when it clarifies the architectural
relationship — for example **seam**, **interface**, or **adapter** — while keeping the
project's existing terminology in code and task artifacts.

When the architectural conversation advances a task, resolve its durable record through
`../setup/references/task-context.md` and link decisions there. A standalone vocabulary
lookup does not create a task artifact.

## Upstream

The vocabulary and principles are adapted from Matt Pocock's `improve-codebase-architecture/LANGUAGE.md` ([github.com/mattpocock/skills](https://github.com/mattpocock/skills)), which itself draws on Ousterhout (*A Philosophy of Software Design*) and Feathers (*Working Effectively with Legacy Code*).

