Skills
The first (bottom) layer. A skill is a reusable capability — a real SKILL.md definition, not a label. It's the native Claude Code primitive: an agent plugs a skill in by name, and editing the skill once updates it everywhere it's used.
Agents
The second layer. An agent is a role — a name, a model, and a default set of skills — that a team's steps reuse by name. Agents live as native .claude/agents/.md files (local to a project or global under ~/.claude/agents/), so they're the same primitive Claude Code itself uses.
Teams
The third layer, and mmt's own — proprietary — contribution on top of native skills and agents. A team is a named, reusable workflow: an ordered list of steps, each a member (an agent, possibly with extra skills or an overridden does) or a loop of members that repeats until a gate approves.