一键导入
analyze
Deep investigation with 7 analysis modes. Usage: /cal:analyze [mode] [subject]. Modes: inside-out, cake-walk, rubberneck, burst, bisect, trace, diff-audit.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Deep investigation with 7 analysis modes. Usage: /cal:analyze [mode] [subject]. Modes: inside-out, cake-walk, rubberneck, burst, bisect, trace, diff-audit.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
SwiftUI iOS/macOS 27 delta reference (WWDC 2026) — Apple-authored references vendored from Xcode 27's exported agent skills, plus Cal SDK-verified extras. Use for any SwiftUI work targeting SDK 27. Use when a SwiftUI view using @State fails to compile with "used before being initialized", "invalid redeclaration of synthesized property", or "extraneous argument label" errors after an SDK update (@State became a macro in SDK 27 — the obvious fix of reordering init assignments is WRONG; consult references/state-macro.md first); when @ViewBuilder/@ContentBuilder code hits ambiguous overloads in overlay/background or type-check regressions; when adding drag-to-reorder to any container via reorderable()/reorderContainer; when working with AsyncImage caching or AsyncImage(request:); when adding swipe actions to rows outside List via swipeActionsContainer(); when controlling toolbar overflow (visibilityPriority, ToolbarOverflowMenu, toolbarMinimizeBehavior); when presenting alert/confirmationDialog from an optional i
iOS/macOS/iPadOS 27 framework reference (WWDC 2026). Corrects stale model knowledge about App Intents, App Schemas, Foundation Models, and Siri AI. Invoke when building or reviewing iOS 27 / WWDC 2026 features, or when a model assumes iOS 26 / SiriKit is current.
Apple Liquid Glass (iOS 26, refined in 27) design system reference. Invoke when building UI, reviewing visual design, or implementing glass effects, background extension, tab bar minimize, typography, spacing, animations, or accessibility.
Advance the pipeline - find and execute next step
Project setup - scan codebase, create Cal structure, generate or improve CLAUDE.md
Scan codebase for small code hygiene wins — TODOs, dead code, naming issues. General-purpose tool for any project.
| name | analyze |
| description | Deep investigation with 7 analysis modes. Usage: /cal:analyze [mode] [subject]. Modes: inside-out, cake-walk, rubberneck, burst, bisect, trace, diff-audit. |
| argument-hint | mode subject (optional) - Analysis mode and subject to investigate |
Purpose: Structured deep investigation using one of seven analysis modes.
| Mode | Best For | Shorthand |
|---|---|---|
| inside-out | Comprehensive understanding (NOT bug-fixing) | io |
| cake-walk | Layering bugs (CSS, SwiftUI, z-index) | cw |
| rubberneck | Focused scan with one suspect in mind | rn |
| burst | Temporal comparison (snapshots over time) | burst |
| bisect | Binary search to isolate root cause | bi |
| trace | Follow one data point end-to-end | tr |
| diff-audit | Catalog differences between two states | da |
If no mode specified in $ARGUMENTS:
If mode specified in $ARGUMENTS:
Create an analysis journal at cal/analyses/[subject-slug].md:
# Analysis: [Subject]
**Mode:** [Selected mode]
**Goal:** [Why we're investigating]
**Started:** [DATE]
---
Follow the specific mode's protocol below. All modes share:
When investigation is complete:
## Findings
### Core Insight
[One sentence — the thing that matters most]
### Key Discoveries
1. [Finding with evidence]
2. [Finding with evidence]
### Deltas Discovered
- BELIEVED: [X] → ACTUAL: [Y]
### Recommendations
1. [Actionable next step]
### Open Questions
- [Unresolved items]
Offer to save key deltas and decisions to cal/cal.md via /cal:save.
Best for: Comprehensive understanding of a system, concept, or domain. NOT for bug-fixing — pure understanding first, planning comes later.
The metaphor: Start at 30,000 feet. Zoom into every rabbit hole until you hit bedrock. Then climb back up, re-evaluating each layer with the knowledge you gained at the bottom.
Protocol:
Go wide — Start at the widest possible definition of the question. What is this system? What are its boundaries? What are the major components?
Map the rabbit holes — Identify every sub-topic, edge case, unknown, and "I wonder about..." moment. List them all before diving into any.
Go deep — Pick a rabbit hole and dive. Go as deep as possible. Journal what you find, what surprises you, what contradicts assumptions.
Hit bottom — When you can't go deeper, you've reached bedrock. Document what you found there.
Zoom back up — Return to the top level. But now re-evaluate each layer with the knowledge gained deeper in. Things that seemed simple at the surface may look different now.
Repeat — If new rabbit holes appeared during the climb back up, dive into those too.
Condense — Produce a condensed insight: one-sentence core insight, key mechanics, gotchas, and connections to other things.
When to Use:
Example: /cal:analyze inside-out the authentication system
Best for: Bugs that result from layering issues — CSS stacking, SwiftUI view hierarchy, middleware chains, z-index conflicts, override cascades.
The metaphor: A layer cake where one layer is contaminating the others. Walk through each layer, top to bottom, testing each one in isolation until you find the rotten layer.
Protocol:
Identify all layers — Map the full stack relevant to the problem.
Start at the top — Begin with the outermost/topmost layer.
Test in isolation — At each layer, verify it behaves correctly when neighboring layers are removed or neutralized. Does this layer do what it claims?
Check the contract — Does this layer honor its contract with the layer above it? With the layer below it? A contract violation is where bugs hide.
Walk down — Move to the next layer only when the current one is verified clean.
Report the break — The bug lives at the layer that violates its contract with adjacent layers. Report: which layer, what contract it broke, and why.
When to Use:
Example: /cal:analyze cake-walk the navigation bar styling
Best for: You have a suspect in mind and need to confirm or rule it out across the entire codebase. Like driving past an accident — you can't help but stare.
The metaphor: You fixate on one thing while scanning everything. Every file gets read through the lens of "could this be related to my suspect?"
Protocol:
Name the suspect — State it explicitly: "[X] might be causing [Y]." Be specific about both the suspect and the symptom.
Define the scan scope — Which files, directories, or systems need scanning? Cast wide initially.
Scan with fixation — Read every file in scope. For each one, ask: "Could this be related to [suspect]?" Document:
Build the evidence chain — Connect all findings into a narrative. Does the evidence support the suspect?
Deliver verdict:
When to Use:
Example: /cal:analyze rubberneck meta-sync causing stale campaign data
Best for: Problems that involve change over time. Data drift, configuration creep, metric degradation, gradual performance loss.
The metaphor: Time-lapse photography. Take snapshots at different points in time and compare them frame by frame.
Protocol:
Define the subject — What are you comparing? Data values, config state, metrics, file contents, API responses?
Identify snapshots — Find or capture snapshots at meaningful points:
Compare systematically — For each pair of snapshots:
Correlate — Does the timing of changes correlate with the timing of the problem? Build a timeline:
Jan 5: Config changed [X]
Jan 7: Users report [Y]
Jan 10: Metrics show [Z]
Identify the temporal trigger — Which change in time caused the cascade?
When to Use:
Example: /cal:analyze burst campaign ROI calculations over the last 2 weeks
Best for: Something broke but you don't know when or where. Binary search to narrow it down.
The metaphor: Git bisect for everything. Cut the search space in half repeatedly until you're standing on the exact line.
Protocol:
Define the poles:
Find the midpoint — Pick the point halfway between works and broken.
Test — Is the midpoint in the "works" state or the "broken" state?
Halve again — If midpoint works: the break is between midpoint and broken. If midpoint is broken: the break is between works and midpoint.
Repeat — Keep halving until you isolate the exact change, line, or value.
Report — "[Exact thing] introduced in [exact location/time] is the root cause. Here's why: [evidence]."
Bisect Dimensions:
| Dimension | How to Bisect |
|---|---|
| Time | git bisect or check commits at midpoints |
| Code | Comment out halves of suspicious code |
| Config | Toggle features/flags in groups |
| Data | Filter dataset to subsets |
| Dependencies | Remove/restore packages in groups |
When to Use:
Example: /cal:analyze bisect the login flow regression
Best for: Following a single data point, event, or request through the entire system. End-to-end visibility.
The metaphor: Dye tracing in plumbing. Inject dye at the source and follow it through every pipe, valve, and junction until it comes out the other end (or doesn't).
Protocol:
Pick ONE thing to trace — A specific request, data value, event, or user action. Be precise: "the campaign_id=123 value" not "campaign data."
Find the entry point — Where does this thing enter the system? User input, API call, database trigger, webhook, cron job?
Follow the path — At each step, document:
Map the full path:
Entry: API POST /campaigns {id: 123}
-> Route handler (api/campaigns.ts:45)
-> Validation (validates schema, strips unknown fields)
-> Service layer (CampaignService.create:12)
-> Database INSERT (campaigns table)
-> Webhook trigger (webhooks/campaign-created.ts)
-> External API call (meta-sync)
-> Response: 201 {id: 123, status: "syncing"}
Find the break — The bug is where the trace diverges from expectations. The data transforms incorrectly, gets lost, or goes somewhere unexpected.
Report the divergence point — "At [exact step], the data transforms from [expected] to [actual]. This is because [reason]."
When to Use:
Example: /cal:analyze trace where campaign_id=123 gets its ROI value
Best for: Systematically comparing two states to find what's different. Not just "what changed" but "which changes matter."
The metaphor: Crime scene investigation. Two rooms that should be identical. Catalog every difference, then determine which ones are relevant to the crime.
Protocol:
Identify the two states:
Catalog every difference — Be exhaustive:
git diff)Classify each diff:
Investigate relevant + uncertain — For each:
Report:
When to Use:
Example: /cal:analyze diff-audit staging vs production for the payment flow
All modes create a journal at cal/analyses/[subject-slug].md:
# Analysis: [Subject]
**Mode:** [mode name]
**Goal:** [Why we're investigating this]
**Started:** [DATE]
---
## Questions for User
> Answer these directly. Your answers drive the investigation.
### Q1: [Non-obvious question]
**Answer:**
---
## Delta Log
### Delta 1: [Topic]
- **BELIEVED:** [What I assumed]
- **ACTUAL:** [What I found]
- **DELTA:** [Updated understanding]
---
## Findings
### Core Insight
[One sentence — added when investigation completes]
### Key Discoveries
1. [Finding with evidence]
### Recommendations
1. [Actionable next step]
### Open Questions
- [Unresolved items]
---
## Raw Exploration
[Extensive notes below...]