Guide · Agent skill
How to use the Aperture Oscillation agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
ApertureOscillation is an agent skill that makes an AI agent answer a scoping or design question twice: once focused on the component alone, and once from the view of the whole system it has to fit into. It then names where those two answers disagree. This guide explains what the skill does, how to install it, how to trigger it with plain requests, and what to check before relying on its output.
Quick start
- 1Download the ZIP. Get the ApertureOscillation ZIP from the skill page on this site.
- 2Unzip the folder. Extract it so the folder contains SKILL.md and Intents/Oscillate.md.
- 3Place it in the skills folder. Copy the folder to ~/.claude/skills/ for all projects, or to a project's .claude/skills/ folder for one project.
- 4Or upload it in the Claude apps. In the Claude apps, go to Settings, then Capabilities, then Skills, and upload the skill.
- 5Write a scoping question. Name the component you are designing and the larger system it must fit into.
- 6Use a trigger phrase. Include a phrase such as zoom in and out, tactical vs strategic, or system coherence check.
- 7Review the divergences. Read each point where the narrow and wide answers disagree, then judge the synthesis yourself.
What is an agent skill and what does ApertureOscillation do?
An agent skill is a folder of instructions that an AI agent loads when a request matches the skill's description. ApertureOscillation is one such skill. It holds one question constant and answers it at two zoom levels: narrow, meaning what the component wants to be on its own, and wide, meaning what the system needs it to be.
A third pass, the synthesis, lists where the two answers disagree. That disagreement is the useful output. The goal is to catch a part that works fine alone but conflicts with the rest of the system before anyone builds it.
- Narrow pass: the component as primary, with its own logic, patterns and interfaces.
- Wide pass: the system as primary, with the component's role and the constraints the bigger picture imposes.
- Synthesis: each point of divergence with a resolution and a scope recommendation, ending in a coherence verdict.
Install the ApertureOscillation skill
Download the ZIP from the ApertureOscillation page on this site and unzip it. The skill folder contains SKILL.md and an Intents folder with Oscillate.md. To make it available for all your projects, place the unzipped folder in ~/.claude/skills/. To make it available only inside one project, place it in that project's .claude/skills/ folder.
If you use the Claude apps instead, open Settings, then Capabilities, then Skills, and upload the skill there.
- Personal install: ~/.claude/skills/
- Project install: the project's .claude/skills/ folder
- Claude apps: Settings → Capabilities → Skills, then upload
How do you trigger the skill with a natural request?
You do not need a special command. The skill loads when your request uses phrases from its description. Phrases that match include aperture oscillation, oscillate scope, zoom in and out, tactical vs strategic, scope framing, design tension, system coherence check, local vs global design, wrong scope and scope negotiation.
Describe both the specific target and the larger context it sits in. The skill works best when the request names the component and the system it has to fit.
- Run an aperture oscillation on whether our notifications service should own retries or the queue should.
- Zoom in and out on this caching layer design and tell me where it conflicts with the rest of the system.
- Do a system coherence check on the proposed webhook feature before we build it.
- Is this scope too narrow? Give me a tactical vs strategic view.
What do the examples look like?
The skill's own examples show three labelled passes. In the first, a tactical target is paired with a strategic context. Pass 1 gives the narrow answer, Pass 2 gives the wide answer, and Pass 3 names the tension and a resolution.
In one example, a session cache built as a standard Redis cache would expire data the LifeOS needs to persist. The synthesis proposes a hybrid cache with a session-scoped fast layer and a memory-backed persistent layer. In another, a standalone webhook service is compared with an implementation as a Workflows action, and the synthesis recommends the Workflows action for pipeline coherence.
Tactical target: "Add webhook support to the Feed system"
Strategic context: "Feed is one pipeline in Workflows, which processes content for a reader app"
Pass 1 (Narrow): Standard webhook receiver, queue, retry logic
Pass 2 (Wide): Webhooks must flow through Workflows' action/function pattern, integrate with existing queue infrastructure
Pass 3 (Synthesis): Tension — standalone webhook service vs. Workflows action.What does the skill need, and what are the safety notes?
The skill lists no requirements. It does not run scripts and does not use the network, according to its listing. Its work is reasoning over the question you supply, so it needs only your question and any context you give it.
Treat the output as an AI-generated synthesis, not a verified decision. The skill's own evals section says a human reviewer must judge whether the synthesis preserves the real tensions in your question. Check that no material tension was dropped or misstated before acting on the verdict.
- Requires: nothing listed
- Runs scripts: no
- Uses network: no
- A human reviewer should judge the synthesis before a design decision is made.
Tips for getting a useful result
Give a concrete tactical target and a concrete strategic context. A vague system description produces a vague wide pass. Name the adjacent pieces the component must work with, since the wide pass depends on them.
If your question is about different analytical angles on one problem rather than scope, use IterativeDepth instead. The skill's description says so directly. When both apply, the skill's own guidance is to run IterativeDepth first to understand the problem, then ApertureOscillation to see where the solution fits.
The Gotchas section of the skill is currently empty, so keep notes of any failures you see and check the output against your own knowledge of the system.
- Name the component and the system it fits into in the same request.
- Use IterativeDepth for lens rotation, ApertureOscillation for scope.
- Read the divergence list first; that is where the value is.
What people use it for
- Deciding whether a new caching layer should persist data beyond a session when a wider product needs it.
- Choosing whether webhook handling belongs in a standalone service or inside an existing pipeline's action pattern.
- Checking whether a proposed feature scope is too narrow or too broad before work starts.
- Running a coherence check on a design within the LifeOS personal-system framework.
Frequently asked questions
Is the ApertureOscillation skill free?
The skill is listed under the MIT licence. The source does not mention pricing, so check the licence text and the page for any cost details before you rely on it.
What do I need to run ApertureOscillation?
The skill's listing says nothing is required. It does not run scripts and does not use the network. You need an AI agent that supports skills and the skill folder installed.
How do I install an agent skill like ApertureOscillation?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder. In the Claude apps, upload it under Settings, then Capabilities, then Skills.
What is the difference between ApertureOscillation and IterativeDepth?
ApertureOscillation changes the scope, zooming between narrow and wide views of one question. IterativeDepth changes the analytical lens, looking at one problem from different angles. The skill's description says to use IterativeDepth for lens rotation.
Why does the skill give two answers instead of one?
The point is the gap between the narrow and wide answers. A component can look correct alone and still conflict with the rest of the system, and the synthesis names that conflict before the build starts.
Can I trust the output for an architecture decision?
Not on its own. The skill's evals section says it is an AI-generated synthesis that a human reviewer must judge, including whether it preserves the real tensions in your question.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use ApertureOscillation if you are deciding how a component should fit an existing system, or whether a scope is too narrow or too broad, and you want the disagreements between a local and a system-level view laid out. Pick something else if your question is about different analytical angles on one problem, where IterativeDepth fits better, or if you need an authoritative architecture decision without human review.
Download the skill