Macos telemetry probe
Add and verify lightweight macOS runtime telemetry with `Logger`/`os.Logger`, `log stream`, Console filters, signposts, and build-run checks.From its SKILL.md
npx -y skills add Xopoko/build-swift-apps --skill macos-telemetry-probeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.0 KB, 406 tokens by cl100k_base, as published. Nobody here has run it
macOS Telemetry Probe
Add high-signal app instrumentation without leaving noisy permanent logs. Prefer Apple's unified logging and verify events after build/run.
Rules
- Use
LoggerfromOSLog. - Give each feature a clear subsystem/category.
- Log meaningful lifecycle/user events: windows, sidebar/inspector selection, commands, menu bar actions, sync/load milestones, fallback/error paths.
- Keep info logs stable; use debug for noisy state.
- Never log secrets, tokens, personal data, or raw document contents.
- Add signposts only for timing/performance spans.
import OSLog
private let logger = Logger(
subsystem: Bundle.main.bundleIdentifier ?? "SampleApp",
category: "Sidebar"
)
@MainActor
func selectItem(_ item: SidebarItem) {
logger.info("Selected sidebar item: \(item.id, privacy: .public)")
selection = item.id
}
Use feature categories like Windowing, Commands, MenuBar, Sidebar, Sync, or Import.
Workflow
-
Identify the behavior needing observability.
-
Add one useful log per action boundary or key state transition.
-
Build/run with
macos-runtime-debugger; if present, prefer./script/build_and_run.sh --telemetryor--logs. -
Exercise the UI/command path.
-
Verify through Console or:
log stream --style compact --predicate 'process == "AppName"' log stream --style compact --predicate 'subsystem == "com.example.app" && category == "Sidebar"' -
Keep useful logs; remove or demote temporary noise.
Verification
Confirm the app builds, the relevant action emits exactly one clear line or bounded sequence, logs filter by process/subsystem/category, no sensitive payloads are written, and temporary debug noise is gone. If the task is mainly crash/backtrace work, switch to macos-runtime-debugger.
What ships with it: 1 file
367 B alongside SKILL.md
agents/
- openai.yaml367 B
Gives 0 of the 12 instructions most monitoring observability skills give in 406 tokens
Counted across 530 of the 532 authors here whose files we hold, read 2026-09-06
- Use structured JSON loggingin 40 of 530, across 36 files
- Link every alert to a runbookin 29 of 530, across 27 files
- Attach correlation IDs to every log linein 19 of 530, across 16 files
- Alert on symptoms rather than causesin 19 of 530, across 17 files
- Use OpenTelemetry for distributed tracingin 15 of 530, across 14 files
- Alert on symptoms users feelin 15 of 530, across 13 files
- Implement health check endpointsin 14 of 530, across 10 files
- Inspect existing dashboards firstin 12 of 530, across 4 files
- Build the minimum useful boardin 12 of 530, across 4 files
- Start from operator questionsin 12 of 530, across 4 files
- Propagate trace context across boundariesin 11 of 530, across 10 files
- Include trace id in all log entriesin 10 of 530, across 9 files
Said here and by no other author read
- Confirm execution context is macOS
- Use Logger from OSLog
- Give each feature a subsystem and category
- Log meaningful lifecycle and user events
- Keep info logs stable
- Use debug for noisy state
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.