Set up comprehensive observability for Windsurf integrations with metrics, traces, and alerts. Use when implementing monitoring for Windsurf operations, setting up dashboards, or configuring alerting for Windsurf integration health. Trigger with phrases like "windsurf monitoring", "windsurf metrics", "windsurf observability", "monitor windsurf", "windsurf alerts", "windsurf tracing".
Monitor Windsurf AI IDE adoption, feature usage, and productivity impact across your team. Covers Admin Dashboard analytics, custom tracking via extensions, and ROI measurement.
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.
Read to inspect only the repository files and configuration needed for the request.Write only for a new artifact the user requested; never write credentials or unreviewed production configuration.Edit for bounded, reviewable changes and preserve unrelated user work.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"
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"
// 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
}
# 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"
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
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.
| 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 |
Admin Dashboard > Analytics > Overview
Look for: active users, acceptance rate, quota utilization, and on-demand usage
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
Continue with windsurf-incident-runbook to turn monitoring thresholds into owned response actions, rollback criteria, and durable incident evidence.
npx skills add jeremylongshore/windsurf-observability下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer