zoom-out
Use when an agent needs to go up a layer of abstraction — map calling modules, identify the seam at which a change should land, and check whether the bug or…
Skill by mattmre
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/mattmre-zoom-out
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: agent-building
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. 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/zoom-out
What's inside
- Skill name
zoom-out- Description
- Use when an agent needs to go up a layer of abstraction — map calling modules, identify the seam at which a change should land, and check whether the bug or feature lives at the right altitude.
- License
- MIT
- Instructions
- 144 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Zoom Out
## When to use this skill
Use this skill when the current edit window is too low to make a sound design call — you need to see callers, public API surface, or the module boundary one layer above where you are looking. The trigger is "I am unfamiliar with this area" OR "this fix may belong somewhere else." Output is a short reframe paragraph plus a recommendation to keep zooming out or commit the current altitude.
## Adapted From Upstream
This adapter is derived from
[`zoom-out/SKILL.md`](../../upstream/mattpocock-skills/zoom-out/SKILL.md) in
the `mattpocock/skills` submodule pinned at
`90ea8eec03d4ae8f43427aaf6fe4722653561a42`. The upstream is a single-line
prompt that says *"I don't know this area of code well. Go up a layer of
abstraction. Give me a map of all the relevant modules and callers."*
To read the upstream body without loading the full file, prefer:
```text
nav_read_anchor SKILLS/upstream/mattpocock-skills/zoom-out/SKILL.md <anchor-id>
```
License: MIT, Copyright (c) 2026 Matt Pocock. See repo-root `NOTICE` and
`SKILLS/upstream/mattpocock-skills/LICENSE`.
## EVOKORE-Specific Adaptations
Concrete deltas vs the upstream prompt:
- **No "ask the user" loop.** The upstream prompt assumes a human in the
loop will provide the higher-level framing. EVOKORE is autonomous — this
adapter reads prior artifacts instead: the in-flight diff
(`git diff --staged`), the active session manifest at
`~/.evokore/sessions/{sessionId}.json`, the replay log at
`~/.evokore/sessions/{sessionId}-replay.jsonl`, and any evidence already
captured at `~/.evokore/sessions/{sessionId}-evidence.jsonl`.
- **`nav_get_map` substitution for "give me a map".** Where the upstream
asks the human to provide a map of modules and callers, EVOKORE calls
the native `nav_get_map` tool against the file under edit (and any
obvious caller files surfaced by `git grep`) to get a token-efficient
anchor map without loading whole files.
- **Bounded-context awareness.** When the file under edit lives inside a
bounded context defined in `docs/adr/0005-bounded-contexts.md`, the
reframe must name that context explicitly. Going up one layer of
abstraction inside `Session & Continuity` is different from going up
one layer inside `Skill Registry & Discovery`; the seam choice
depends on which context's invariants apply.
- **Composition phrasing for downstream skills.** When the reframe
recommends a follow-up, this adapter emits the literal phrasing the
static composition graph parses (e.g., "invoke ubiquitous-language skill"
or "invoke docs-architect skill") so `derive-skill-composition.js` can
edge to the correct next step.
- **Trigger-explicit description.** Frontmatter `description` is rewritten
from the upstream noun-ish phrasing into EVOKORE's "Use when ..." form so
`resolve_workflow` semantic ranking can find this skill above deep
reference leaves.
## Composition
- **Callers (skills that should invoke this skill):**
- `simplify` — when a proposed simplification touches a public seam,
invoke zoom-out skill first to confirm the seam is actually public.
- `repo-ingestor` — early in a fresh-repo onboarding, invoke zoom-out
skill to surface module boundaries before deeper analysis.
- `orch-plan` — when a slice plan straddles an unclear module boundary,
invoke zoom-out skill before locking the slice scope.
- **Callees (skills this skill may invoke):**
- After zoom-out has identified a candidate seam, optionally invoke
docs-architect skill to ensure the surface change is documented.
- When the higher-altitude reframe reveals genuine domain ambiguity
(e.g., two callers use "session" to mean different things), invoke
ubiquitous-language skill (scoped to the relevant bounded context
from `docs/adr/0005-bounded-contexts.md`).
## Procedure
1. **Identify the focus file(s).** Read the in-flight diff
(`git diff --staged`, then `git diff` if nothing staged). If there is
no diff, fall back to the file path the user named. Record the
focus file(s) explicitly.
2. **Surface the local anchor map.** Call `nav_get_map` on each focus
file. This returns a structured anchor list at ~100 tokens vs 4K-40K
for a full file read. If the focus file has no `@AI:NAV` anchors,
note it and continue (the absence is itself a signal — files without
anchors tend to be the inner leaves, which is the wrong altitude
for zoom-out by definition).
3. **Map callers.** Run `git grep -n "<exported-symbol>" -- 'src/**/*.ts'`
for each public symbol in the focus file(s). Record at most ten
caller hits — if there are more, the file is genuinely a hub and that
fact becomes part of the reframe.
4. **Identify the bounded context.** Read
`docs/adr/0005-bounded-contexts.md` (or `nav_read_anchor` it if
anchored) and determine which bounded context the focus file belongs
to. State the context name explicitly. If the focus file straddles
contexts (e.g., it imports from two different contexts' modules),
call that out — the seam may need to live at the context boundary.
5. **Write the reframe.** Emit one paragraph that answers three
questions:
- What layer is the focus file at? (leaf / module-internal / public
surface / cross-context boundary)
- What lives at the layer above? (callers, public API, MCP-surfaced
tool definition, ADR-defined context boundary)
- At which layer does the proposed change actually belong?
6. **Recommend next step.** End the reframe with a single recommendation:
- `COMMIT-ALTITUDE` — the current edit window IS the right altitude;
proceed with the change.
- `ZOOM-FURTHER` — the change belongs higher up; restart at the
caller's caller, or at the public API.
- `ZOOM-IN` — the framing was already too high; drop into the named
leaf module.
- Optionally append "invoke X skill" pointing at the next skill the
caller should run.
## Inputs and OutputsFrom mattmre/EVOKORE-MCP-PUBLIC, MIT.
More from mattmre/EVOKORE-MCP-PUBLIC
- 0.514score
ubiquitous-language
mattmre
Use when crystallizing a domain glossary for a single bounded context — extract canonical terms from replay JSONL, evidence JSONL, and src/ identifiers, then…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
ghidra-core-recon
mattmre
Perform first-pass binary reconnaissance using Ghidra-oriented workflows for functions, strings, imports, exports, and symbols.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
debugger-driven-analysis
mattmre
Drive runtime analysis with debugger-first workflows for breakpoint planning, register and memory observation, and static-to-dynamic correlation.
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
tailored-resume-generator
mattmre
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
SkillCFreshness: C★ 3Claude Code +9 - 0.510score
improve-codebase-architecture
mattmre
Use when surfacing architectural friction inside a single EVOKORE bounded context and proposing deepening refactors (shallow modules, leaky seams, low…
SkillCFreshness: C★ 3Claude Code +9 - 0.489score
brand-guidelines
mattmre
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel.
SkillCFreshness: C★ 3Claude Code +9 - 0.486score
theme-factory
mattmre
Toolkit for styling artifacts with a theme.
SkillCFreshness: C★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 21, 2026 (5 months ago)
- Last release
- May 22, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mattmre/EVOKORE-MCP-PUBLIC
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mattmre
- 0.514score
ubiquitous-language
mattmre
Use when crystallizing a domain glossary for a single bounded context — extract canonical terms from replay JSONL, evidence JSONL, and src/ identifiers, then…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
ghidra-core-recon
mattmre
Perform first-pass binary reconnaissance using Ghidra-oriented workflows for functions, strings, imports, exports, and symbols.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
debugger-driven-analysis
mattmre
Drive runtime analysis with debugger-first workflows for breakpoint planning, register and memory observation, and static-to-dynamic correlation.
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
tailored-resume-generator
mattmre
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
SkillCFreshness: C★ 3Claude Code +9 - 0.510score
improve-codebase-architecture
mattmre
Use when surfacing architectural friction inside a single EVOKORE bounded context and proposing deepening refactors (shallow modules, leaky seams, low…
SkillCFreshness: C★ 3Claude Code +9 - 0.489score
brand-guidelines
mattmre
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel.
SkillCFreshness: C★ 3Claude Code +9
Cite this page
zoom-out skill. Agent Mart. https://agentmart.dev/skills/mattmre-zoom-out (last updated 2026-10-24)