Step up a layer of abstraction to map how unfamiliar code fits into the larger system. Use when the user says "zoom out", "bigger picture", "I don't know this area", "give me a map", "where does this fit", is reading code and feels lost, or is about to change unfamiliar code.
When you don't know a section of code well, the failure mode is to read line-by-line and never see the shape. Zoom out forces a higher layer of abstraction first: callers, neighbors, role in the system. Read the map before walking the streets.
Before explaining what a piece of code does, produce a map of its surroundings:
Render the result as a short list or small diagram. Use the project's own vocabulary: the words the codebase uses, not generic CS terms.
Aim for something like:
Module: src/billing/invoicing/
Role: Generates invoices from billing periods (one of three writers under /billing)
Above: /billing — orchestrates subscriptions, invoicing, dunning
Below: /billing/pricing (rates), /billing/tax (tax calc)
Callers: src/jobs/monthly_invoice_job.py, src/api/admin/invoices.py
Siblings: subscriptions/, dunning/Then, and only then, go deeper.
/naming: domain vocabulary lives in names; zoom-out is naming applied to architecture/design: zoom-out surfaces the structure, design evaluates it/ia: IA is zoom-out for documentation; same instinct, different medium/research: zoom-out maps the inside, research maps the outsideAdapted from mattpocock/skills.
504b3b1
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.