SkillMeter VS Code Extension
SkillMeter is a Visual Studio Code extension that provides insights into your coding patterns and AI assistant usage by analyzing code changes and monitoring AI tool interactions. It helps you understand how you and your AI assistants build software together.
How It Works
The extension identifies the origin of code modifications by intercepting built-in VS Code commands. When you accept an AI suggestion, paste from your clipboard, or format a document, SkillMeter attributes the resulting code change to the correct "author" (e.g., copilot_inline, clipboard_paste, human).
Additionally, SkillMeter monitors your AI assistant usage by watching for file changes in:
~/.claude - Claude AI assistant configuration and activity
~/.codex - OpenAI Codex configuration and activity
~/.gemini - Google Gemini AI assistant configuration and activity
This data is collected locally and, if you opt-in, sent to a telemetry service for analysis.
Features
- Author Attribution: Automatically determines if code is written by you, an AI assistant, or other sources.
- Usage Analytics: Collects anonymized data on editor events like document changes, openings, and closings.
- AI Assistant Monitoring: Tracks file activity in AI assistant directories to understand usage patterns.
- Opt-in Telemetry: Data collection requires explicit user consent. You have full control over whether to share telemetry data.
- Privacy-First: All sensitive data (file paths, names, workspace IDs) are hashed using SHA-256 before transmission.
Development (Bun)
- Install dependencies with
bun install (generates bun.lockb; packageManager is set to Bun).
- Build once:
bun run compile; dev mode: bun run watch.
- Lint:
bun run lint (Biome); tests: bun run test (runs the VS Code test runner).
- Package for publish:
bun run vscode:prepublish or bun run package.
Commands
Use the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) to access the following commands:
SkillMeter: Login: Authenticate with SkillMeter service
SkillMeter: Logout: Sign out from SkillMeter service
SkillMeter: Enable Telemetry: Opt-in to data collection
SkillMeter: Disable Telemetry: Opt-out of data collection
SkillMeter: Disable Telemetry for Workspace: Disable for current workspace only
SkillMeter: Flush Telemetry: Manually send pending telemetry data
SkillMeter: Open Overview: View your usage statistics and settings
Privacy Policy
Effective Date: November 11, 2025
What Data We Collect
SkillMeter collects the following data when telemetry is enabled:
Workspace Telemetry
- Code editing events: File opens, closes, saves, creates, renames, and deletes
- Text changes: Line numbers, character positions, and change lengths (NOT the actual code content)
- Author attribution: Source of changes (human, AI assistant, clipboard, etc.)
- Document metadata: File extensions, language IDs, line counts, encoding
- Git context: Hashed git branch name (when file is in a git repository)
- Environment information: OS platform, architecture, VS Code version, locale
Home Directory Monitoring
- File activity in AI assistant directories: Creation, modification, and deletion of files in
~/.claude and ~/.codex
- File metadata: Hashed file paths, hashed file names, file extensions, timestamps
Git Operations Tracking
- Commit detection: When you make commits in any Git repository in your workspace
- Commit metadata: Hashed commit hash, hashed branch name, hashed repository path
- Non-invasive: Uses VS Code's Git API, not file system scanning
- Privacy: Only tracks that a commit occurred - no commit messages, diffs, or file contents
- Hashed identifiers: Machine ID, session ID, workspace paths (all SHA-256 hashed)
- Extension information: SkillMeter version, installed extensions (e.g., GitHub Copilot)
What We Do NOT Collect
- ✗ Source code contents - We never collect the actual code you write
- ✗ File contents - We do not read or transmit file contents from monitored directories
- ✗ Git commit messages or diffs - Only metadata about commits (hashed references)
- ✗ Terminal commands or output - Terminal interactions are never monitored or captured
- ✗ Personally identifiable information - Names, emails, IP addresses are not collected
- ✗ Credentials or API keys - Authentication tokens and secrets are never accessed
How We Use Your Data
The collected data is used to:
- Analyze coding patterns and AI assistant usage
- Provide insights into development practices
- Understand how developers interact with AI tools
- Improve the SkillMeter service and user experience
Data Security
- Encryption in transit: All data is transmitted over HTTPS (TLS)
- Hashing: Sensitive identifiers are hashed using HMAC-SHA256 and truncated to 12 characters (48 bits) before transmission
- 81% size reduction compared to full hashes
- Low collision probability (0.018% for 10,000 items)
- Each installation uses a unique secret key for added privacy
- Authentication: All telemetry submissions require JWT authentication
- No local storage of raw data: Only hashed values are stored
Data Storage and Retention
- Location: Data is stored on servers operated by SkillBench
- Endpoint:
https://meter.skillbench.com/v1/logs
- Retention: Data retention policies are managed by SkillBench
Your Control and Choices
You have full control over data collection:
- Opt-in Required: Telemetry is only active when you explicitly enable it
- Easy Opt-out: Disable telemetry at any time via command palette
- Workspace Control: Disable for specific workspaces while keeping it enabled globally
- Authentication Required: You must log in to send telemetry data
User Consent
By enabling telemetry in SkillMeter, you consent to:
- Collection of workspace editing activity and metadata
- Monitoring of file changes in
~/.claude and ~/.codex directories
- Transmission of hashed, anonymized data to SkillBench servers
- Use of this data for analysis and service improvement
Changes to This Privacy Policy
We may update this privacy policy from time to time. We will notify users of any material changes through the extension or our website.
If you have questions or concerns about this privacy policy or data practices:
Third-Party Services
SkillMeter monitors activity related to third-party AI assistants (Claude, OpenAI Codex) but is not affiliated with, endorsed by, or officially connected to Anthropic, OpenAI, or any other AI service provider. Use of this extension may be subject to the terms of service of those AI providers.
Transparency and Trust
SkillMeter is designed to help developers understand their coding patterns while respecting privacy. We believe in transparency:
- ✓ Open source: Review our code on GitHub
- ✓ Explicit consent required for all data collection
- ✓ Clear documentation of what is collected
- ✓ User control at every step