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.zipInstalls 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.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
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
Authentication
Use an authenticated organization-admin session for dashboards. If analytics API access is enabled, use the organization-issued credential from an approved secret store, request read-only scope where available, and never include the credential or raw member data in reports.
Tool Use
- Use
Readto inspect only the repository files and configuration needed for the request. - Use
Writeonly for a new artifact the user requested; never write credentials or unreviewed production configuration. - Use
Editfor bounded, reviewable changes and preserve unrelated user work.
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 set by the organization)"
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:
quota_utilization: "Daily and weekly included usage, when exposed"
on_demand_usage: "Approved variable usage beyond included quota"
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 .devin/rules/project.md — 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"
variable_usage_risk:
condition: "on-demand usage approaches the approved spending limit"
action: "Notify the billing owner and review model/context choices"
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%"
quota_utilization: "source-defined value"
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_subscription_cost: "from invoice"
estimated_value_generated: "calculation with stated assumptions"
roi: "derived only after finance approves the model"
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 .devin/rules/project.md 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. Included vs On-Demand Usage (bar chart, billing period)
- Shows where variable spend occurs
- Guides seat and spending-limit decisions
5. Top Workflows Used (table)
- Shows which automated workflows team uses most
- Identifies candidates for new workflows
Output
Produce a dated adoption and reliability report with source definitions, cohort size, active usage, quota or on-demand exposure, acceptance and rework signals, incidents, limitations, and recommended experiments. Avoid claiming causation from editor telemetry alone.
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Low acceptance rate | AI suggestions don't match project style | Update .devin/rules/project.md with project conventions |
| Cascade flow failures | Insufficient tool permissions or context | Check workspace config, .codeiumignore |
| Seat utilization low | Team not adopted | Training session, share productivity data |
| Analytics data missing | Not on Teams/Enterprise plan | Upgrade for admin analytics |
| Custom extension conflicts | Extension interferes with Cascade | Ensure extension doesn't register completions |
Examples
Quick Adoption Check
Admin Dashboard > Analytics > Overview
Look for: active users, acceptance rate, quota utilization, and on-demand usage
Monthly Seat Optimization
steps:
1. Export member usage from Admin Dashboard
2. Sort by authorized usage for the review period (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
Related Skill
Continue with windsurf-incident-runbook to turn monitoring thresholds into owned response actions, rollback criteria, and durable incident evidence.
When not to use it
- →When not using Windsurf Teams or Enterprise plans
- →When admin dashboard access is unavailable
Prerequisites
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| windsurf-observability (this skill) | 1 | 2mo | Caution | Intermediate |
| agent-performance-benchmarker | 3 | 7mo | No flags | Advanced |
| clay-observability | 1 | 2mo | Caution | Intermediate |
| firecrawl-cost-tuning | 1 | 2mo | Caution | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
agent-performance-benchmarker
ruvnet
Agent skill for performance-benchmarker - invoke with $agent-performance-benchmarker
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".
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".
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.
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".
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'.