WI

windsurf-observability

Monitor team adoption, feature usage, and productivity metrics through Windsurf's admin dashboard.

Install

mkdir -p .claude/skills/windsurf-observability && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7832" && unzip -o skill.zip -d .claude/skills/windsurf-observability && rm skill.zip

Installs to .claude/skills/windsurf-observability

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Monitor Windsurf AI adoption, feature usage, and team productivity metrics.
75 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Track daily active users and seat utilization
  • Monitor AI feature adoption and acceptance rates
  • Measure Cascade credit consumption by model
  • Set up usage alerts for underutilization or overspend
  • Build custom extensions for detailed usage tracking

How it works

The Admin Dashboard aggregates telemetry data on feature usage and credit consumption, which can be supplemented by custom extensions tracking specific interaction events.

Inputs & outputs

You give it
Usage data from Windsurf platform
You get back
Productivity and adoption metrics

When to use windsurf-observability

  • Monitor daily AI feature adoption
  • Track Cascade credit consumption per developer
  • Measure AI code acceptance rates
  • Report team productivity impact

About this skill

Windsurf Observability

Overview

Monitor Windsurf AI IDE adoption, feature usage, and productivity impact across your team. Covers Admin Dashboard analytics, custom tracking via extensions, and ROI measurement.

Prerequisites

  • Windsurf Teams or Enterprise plan
  • Admin dashboard access at windsurf.com/dashboard
  • Team members actively using Windsurf

Instructions

Step 1: Access Admin Dashboard Analytics

Navigate to Admin Dashboard > Analytics for team-wide metrics:

# Key metrics available in Windsurf Admin Dashboard
core_metrics:
  adoption:
    active_users_daily: "Unique developers using Windsurf per day"
    seat_utilization: "Active users / total seats (target: >80%)"
    feature_adoption: "Which AI features each user uses"

  quality:
    completion_acceptance_rate: "Supercomplete suggestions accepted vs shown"
    cascade_flow_success_rate: "Cascade tasks completed vs failed"

  consumption:
    credits_consumed_per_user: "Monthly credit usage per team member"
    credits_by_model: "Which AI models consume the most credits"

  efficiency:
    tasks_per_session: "Average Cascade interactions per session"
    time_saved_estimate: "Based on task complexity and completion speed"

Step 2: Set Up Usage Alerts

Monitor for underutilization and overuse:

# Alert thresholds for team management
alerts:
  low_adoption:
    condition: "seat_utilization < 50% for 7 days"
    action: "Schedule team training session"

  low_acceptance_rate:
    condition: "completion_acceptance_rate < 20% for 7 days"
    action: "Review .windsurfrules — AI suggestions not matching project patterns"

  high_cascade_failures:
    condition: "cascade_success_rate < 50% for 3 days"
    action: "Check workspace config — .codeiumignore may be too aggressive"

  credit_overspend:
    condition: "team_credits > 80% consumed before month half"
    action: "Review per-user usage, coach on credit conservation"

  inactive_seats:
    condition: "user has <10 interactions in 30 days"
    action: "Offer training or downgrade to Free tier"

Step 3: Build Custom Extension for Detailed Tracking

// windsurf-analytics-extension/src/extension.ts
import * as vscode from "vscode";

interface UsageEvent {
  event: string;
  timestamp: string;
  userId: string;
  file?: string;
  metadata?: Record<string, unknown>;
}

const events: UsageEvent[] = [];

export function activate(context: vscode.ExtensionContext) {
  // Track Cascade usage patterns
  const cascadeListener = vscode.workspace.onDidSaveTextDocument((doc) => {
    events.push({
      event: "file_save_after_cascade",
      timestamp: new Date().toISOString(),
      userId: vscode.env.machineId,
      file: doc.fileName,
      metadata: { languageId: doc.languageId, lineCount: doc.lineCount },
    });
  });

  // Flush events periodically
  setInterval(() => {
    if (events.length > 0) {
      const batch = events.splice(0);
      sendToAnalytics(batch);
    }
  }, 60000); // Flush every minute

  context.subscriptions.push(cascadeListener);
}

async function sendToAnalytics(batch: UsageEvent[]) {
  const endpoint = vscode.workspace
    .getConfiguration("windsurf-analytics")
    .get<string>("endpoint");
  if (!endpoint) return;

  await fetch(endpoint, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ events: batch }),
  }).catch(() => {}); // Silently fail — analytics should never block work
}

Step 4: Measure Productivity Impact

# Weekly team productivity report template
productivity_report:
  period: "Week of YYYY-MM-DD"
  team_size: 10
  active_windsurf_users: 8

  ai_metrics:
    total_cascade_tasks: 150
    cascade_success_rate: "78%"
    completion_acceptance_rate: "32%"
    credits_consumed: 1200

  productivity_proxies:
    commits_per_developer: 12       # vs baseline 8 pre-Windsurf
    pr_turnaround_hours: 6          # vs baseline 12 pre-Windsurf
    code_review_comments: 45        # quality indicator

  estimated_time_saved:
    per_developer_per_week: "3 hours"
    total_team_per_week: "24 hours"
    monthly_value: "$7,200"         # 24hrs * 4wks * $75/hr

  roi_calculation:
    monthly_windsurf_cost: "$300"   # 10 seats * $30
    monthly_value_generated: "$7,200"
    roi: "2,300%"

Step 5: Dashboard Visualization

Track these metrics over time in your preferred dashboard tool:

## Recommended Dashboard Panels

1. Daily Active Users vs Total Seats (line chart)
   - Shows adoption trend
   - Alert when utilization drops below 70%

2. Completion Acceptance Rate (line chart, 7-day rolling avg)
   - Higher = better .windsurfrules quality
   - Drop = rules need updating or team needs training

3. Cascade Success Rate (bar chart, weekly)
   - Tracks agentic task effectiveness
   - Low rate = prompts too vague or workspace too large

4. Credits per Developer (bar chart, monthly)
   - Identifies power users vs underutilizers
   - Guides seat tier decisions

5. Top Workflows Used (table)
   - Shows which automated workflows team uses most
   - Identifies candidates for new workflows

Error Handling

IssueCauseSolution
Low acceptance rateAI suggestions don't match project styleUpdate .windsurfrules with project conventions
Cascade flow failuresInsufficient tool permissions or contextCheck workspace config, .codeiumignore
Seat utilization lowTeam not adoptedTraining session, share productivity data
Analytics data missingNot on Teams/Enterprise planUpgrade for admin analytics
Custom extension conflictsExtension interferes with CascadeEnsure extension doesn't register completions

Examples

Quick Adoption Check

Admin Dashboard > Analytics > Overview
Look for: active users, acceptance rate, credit usage

Monthly Seat Optimization

steps:
  1. Export member usage from Admin Dashboard
  2. Sort by credits consumed (ascending)
  3. Bottom 20%: offer training or downgrade to Free
  4. Top 10%: interview for best practices to share
  5. Reallocate freed seats to new team members

Resources

Next Steps

For incident response procedures, see windsurf-incident-runbook.

When not to use it

  • When not using Windsurf Teams or Enterprise plans
  • When admin dashboard access is unavailable

Prerequisites

Windsurf Teams or Enterprise planAdmin dashboard access

Limitations

  • Analytics features are restricted to Teams and Enterprise plans
  • Custom extensions must not block work or register completions

How it compares

It provides centralized team-wide analytics and ROI reporting, unlike individual-only usage tracking.

Compared to similar skills

windsurf-observability side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
windsurf-observability (this skill)127dCautionIntermediate
agent-performance-benchmarker36moNo flagsAdvanced
clay-observability127dCautionIntermediate
firecrawl-cost-tuning127dCautionIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

You might also like

agent-performance-benchmarker

ruvnet

Agent skill for performance-benchmarker - invoke with $agent-performance-benchmarker

315

clay-observability

jeremylongshore

Set up comprehensive observability for Clay integrations with metrics, traces, and alerts. Use when implementing monitoring for Clay operations, setting up dashboards, or configuring alerting for Clay integration health. Trigger with phrases like "clay monitoring", "clay metrics", "clay observability", "monitor clay", "clay alerts", "clay tracing".

11

firecrawl-cost-tuning

jeremylongshore

Optimize FireCrawl costs through tier selection, sampling, and usage monitoring. Use when analyzing FireCrawl billing, reducing API costs, or implementing usage monitoring and budget alerts. Trigger with phrases like "firecrawl cost", "firecrawl billing", "reduce firecrawl costs", "firecrawl pricing", "firecrawl expensive", "firecrawl budget".

11

azure-monitor-query-java

microsoft

Azure Monitor Query SDK for Java. Execute Kusto queries against Log Analytics workspaces and query metrics from Azure resources. Triggers: "LogsQueryClient java", "MetricsQueryClient java", "kusto query java", "log analytics java", "azure monitor query java". Note: This package is deprecated. Migrate to azure-monitor-query-logs and azure-monitor-query-metrics.

01

clay-cost-tuning

jeremylongshore

Optimize Clay costs through tier selection, sampling, and usage monitoring. Use when analyzing Clay billing, reducing API costs, or implementing usage monitoring and budget alerts. Trigger with phrases like "clay cost", "clay billing", "reduce clay costs", "clay pricing", "clay expensive", "clay budget".

10

klingai-usage-analytics

jeremylongshore

Build usage analytics and reporting for Kling AI. Use when tracking generation patterns, analyzing costs, or creating dashboards. Trigger with phrases like 'klingai analytics', 'kling ai usage report', 'klingai metrics', 'video generation stats'.

10

Search skills

Search the agent skills registry