Back to Skills

measure-instrumentation-spec

product-on-purpose
Updated 2 days ago
6 views
238
33
238
View on GitHub
Designworddesigndata

About

This skill defines analytics instrumentation requirements, specifying what events to track and their properties. It serves as a contract between product and engineering to ensure consistent data collection for new features. Use it before implementation to prevent gaps in tracking and enable accurate measurement.

Quick Install

Claude Code

Recommended
Primary
npx skills add product-on-purpose/pm-skills -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/product-on-purpose/pm-skills
Git CloneAlternative
git clone https://github.com/product-on-purpose/pm-skills.git ~/.claude/skills/measure-instrumentation-spec

Copy and paste this command in Claude Code to install this skill

Documentation

<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->

Instrumentation Spec

An instrumentation spec defines what analytics events to track, when to fire them, and what properties to include. It serves as a contract between product and engineering, ensuring consistent data collection that enables accurate measurement. Good instrumentation specs prevent the "we can't answer that question because we didn't track it" problem.

When to Use

  • Before engineering implements a new feature
  • When defining analytics requirements for experiments
  • When auditing existing tracking for gaps or inconsistencies
  • When onboarding a new analytics tool
  • Before launch to ensure measurement is in place

Instructions

When asked to create an instrumentation spec, follow these steps:

  1. Define Analytics Goals Start with the questions you need to answer. What will you measure? What decisions will this data inform? This prevents over-instrumentation while ensuring nothing important is missed.

  2. Identify Events to Track List each user action or system event that should be tracked. Follow consistent naming conventions (typically noun_verb or verb_noun in snake_case). Each event should represent a distinct, meaningful action.

  3. Specify Event Triggers For each event, describe exactly when it fires. Be precise: "When user clicks Submit button" vs. "When form is submitted successfully." These are different events with different meanings.

  4. Define Event Properties List the properties (attributes) attached to each event. Include property name, data type, description, and example values. Properties provide context that makes events useful.

  5. Document User Properties Identify persistent user-level attributes that should be associated with all events (e.g., subscription tier, account creation date). These enable segmentation in analysis.

  6. Address PII and Privacy Flag any properties that contain personally identifiable information. Document how PII should be handled . hashing, encryption, or exclusion.

  7. Create Testing Checklist Define how QA should verify that tracking is implemented correctly. Include steps to validate events fire at the right times with correct properties.

Output Format

Use the template in references/TEMPLATE.md to structure the output.

Quality Checklist

Before finalizing, verify:

  • Event names follow consistent naming convention
  • Each event has a clear, unambiguous trigger
  • Properties include data types and example values
  • PII is identified and handling is documented
  • Events map to the analytics questions you need to answer
  • Testing checklist enables QA verification

Examples

See references/EXAMPLE.md for a completed example.

GitHub Repository

product-on-purpose/pm-skills
Path: skills/measure-instrumentation-spec
0
agent-skillsai-skillsclaude-codeclaude-desktopdesign-sprintfoundation-sprint

Related Skills

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

requesting-code-review

Design

This skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.

View skill

connect-mcp-server

Design

This skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.

View skill

web-cli-teleport

Design

This skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.

View skill