telemetry

Add and verify OSLog Logger instrumentation for macOS app runtime events.

Updated Jul 31, 2026
One-click install
npx skills add https://github.com/AarnavBaddam/skills --skill telemetry-aarnavbaddam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: telemetry
Source: https://github.com/AarnavBaddam/skills/tree/main/telemetry
Command: npx skills add https://github.com/AarnavBaddam/skills --skill telemetry-aarnavbaddam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging macOS app behavior is hard without visibility into what actually happens at runtime. This Skill guides you through adding lightweight, structured logging with Apple's unified logging system and verifying that events actually fire, without turning the codebase into a logging landfill. ## Core Features & Use Cases - Structured Logger Instrumentation: Add Logger from the OSLog framework with clear subsystem/category pairs for features like Windowing, Sidebar, Commands, MenuBar, Sync, and Import. - Runtime Verification Workflow: Build, run, and confirm events fired using Console.app or log stream with process, subsystem, and category predicates. - Privacy and Noise Guardrails: Keep secrets, tokens, and personal data out of logs, and demote or remove noisy debug logs before finishing. - Use Case: You suspect a sidebar selection handler is not firing. Add a single info-level log in the selection path, run the app, and verify the event with log stream --predicate 'subsystem == "com.example.app" && category == "Sidebar"'. ## Quick Start Use the telemetry skill to add Logger instrumentation to my macOS sidebar selection handler and verify the event fires with log stream.

Frequently Asked Questions about telemetry

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add logging to a macOS Swift app?

Use Logger from the OSLog framework with a subsystem (typically your bundle identifier) and a feature-specific category like Sidebar or Windowing. Log user actions and state transitions at info level, keeping noisy details at debug level.

How do I verify macOS app logs with log stream?

Run log stream --style compact --predicate 'process == "AppName"' for live terminal output. For tighter filtering, predicate on subsystem and category, such as subsystem == "com.example.app" && category == "Sidebar".

Should I use print or OSLog Logger for macOS logging?

Use Logger from OSLog rather than print for macOS app telemetry. Logger integrates with the unified logging system, supports subsystem and category filtering, and works with Console.app and log stream for verification.

What data should never go into macOS unified logs?

Never log secrets, auth tokens, personal data, or raw document contents to unified logs. Keep info logs concise and stable, and use privacy annotations or debug-level logs for sensitive state details.

When should I use signposts instead of regular log messages?

Use signposts only when measuring timing or performance spans, such as how long a sync or import takes. Do not add signposts for ordinary action logging, as overinstrumentation adds noise without useful signal.