/** * Skill Prompt Analytics (SK-011) * * Tracks usage of Claude skill prompts (research_product, monitor_changes, etc.) * to understand which skills are most used, their success rates, and common * parameter modifications. * * This is different from ProceduralMemory skills - those are learned browsing * patterns. Skill prompts are user-facing workflow templates in skills/prompts/. */ /** * Record of a single skill prompt execution */ export interface SkillPromptExecution { /** Skill prompt ID (e.g., 'research_product', 'monitor_changes') */ skillPromptId: string; /** Workflow step within the skill (if known) */ workflowStep?: number; /** Start timestamp */ startedAt: number; /** End timestamp */ completedAt?: number; /** Whether the execution succeeded */ success: boolean; /** Duration in milliseconds */ durationMs?: number; /** Domain being browsed */ domain?: string; /** Error message if failed */ errorMessage?: string; /** Parameters that were overridden from defaults */ parameterOverrides?: Record; } /** * Aggregated statistics for a skill prompt */ export interface SkillPromptStats { /** Skill prompt ID */ skillPromptId: string; /** Total number of executions */ totalExecutions: number; /** Number of successful executions */ successCount: number; /** Number of failed executions */ failureCount: number; /** Success rate (0-1) */ successRate: number; /** Average duration in milliseconds */ avgDurationMs: number; /** 95th percentile duration */ p95DurationMs: number; /** First used timestamp */ firstUsed: number; /** Last used timestamp */ lastUsed: number; /** Common domains used with this skill */ topDomains: Array<{ domain: string; count: number; }>; /** Most common parameter overrides */ commonOverrides: Array<{ parameter: string; count: number; exampleValues: unknown[]; }>; } /** * Summary of all skill prompt analytics */ export interface SkillPromptAnalyticsSummary { /** Schema version for API compatibility */ schemaVersion: string; /** When this snapshot was generated */ generatedAt: number; /** Total executions across all skills */ totalExecutions: number; /** Overall success rate */ overallSuccessRate: number; /** Most used skill prompts */ mostUsed: SkillPromptStats[]; /** Highest success rate skills */ highestSuccessRate: SkillPromptStats[]; /** Skills with potential issues (low success rate) */ needsAttention: SkillPromptStats[]; /** Stats by skill prompt */ bySkillPrompt: Record; } /** * Options for getting analytics */ export interface SkillPromptAnalyticsOptions { /** Limit for number of items in lists (default: 10) */ limit?: number; /** Filter by skill prompt ID */ skillPromptId?: string; /** Filter by domain */ domain?: string; /** Time range start (timestamp) */ since?: number; /** Time range end (timestamp) */ until?: number; } /** * Record the start of a skill prompt execution */ export declare function startSkillPromptExecution(skillPromptId: string, options?: { workflowStep?: number; domain?: string; parameterOverrides?: Record; }): SkillPromptExecution; /** * Complete a skill prompt execution */ export declare function completeSkillPromptExecution(execution: SkillPromptExecution, success: boolean, errorMessage?: string): void; /** * Record a complete skill prompt execution in one call */ export declare function recordSkillPromptExecution(skillPromptId: string, success: boolean, options?: { workflowStep?: number; domain?: string; durationMs?: number; errorMessage?: string; parameterOverrides?: Record; }): void; /** * Get analytics summary for skill prompts */ export declare function getSkillPromptAnalytics(options?: SkillPromptAnalyticsOptions): SkillPromptAnalyticsSummary; /** * Get stats for a specific skill prompt */ export declare function getSkillPromptStats(skillPromptId: string): SkillPromptStats | null; /** * Get recent executions (for debugging/auditing) */ export declare function getRecentExecutions(limit?: number): SkillPromptExecution[]; /** * Clear all stored executions (mainly for testing) */ export declare function clearSkillPromptAnalytics(): void; /** * Get raw execution count (for quick checks) */ export declare function getSkillPromptExecutionCount(): number; //# sourceMappingURL=skill-prompt-analytics.d.ts.map