By secondsky
Develop, debug, optimize, and deploy JavaScript scripts for SAP Analytics Cloud Analytics Designer and Optimized Story Experience. Generate templates for planning operations, data filtering, charts, tables; analyze performance issues and errors; query APIs with specialist agents; manage versions, locking, workflows; deploy via local Node.js MCP server.
npx claudepluginhub secondsky/sap-skills --plugin sap-sac-scriptingModifies files
Hook triggers on file write and edit operations
Requires secrets
Needs API keys or credentials to function
Debug SAC script issues with guided analysis and common error resolution
Analyze SAC scripts for performance optimization opportunities
Generate SAC planning operation templates and workflows
Generate SAC script templates for common Analytics Designer and Optimized Story Experience scenarios
Use this agent when the user asks about SAC APIs, needs method examples, API documentation, or asks "how to use getDataSource", "which API for filtering", "SAC method for charts", "what methods does Table have", "DataSource API", "Widget API reference". <example> Context: API usage question user: "How do I get the selected value from a dropdown in SAC?" assistant: "I'll use the sac-api-helper agent to find the correct API and provide working examples." <commentary> API discovery requires searching reference documentation and providing context-appropriate examples. </commentary> </example> <example> Context: Finding the right method user: "What's the method to change a chart's measure programmatically?" assistant: "Let me use the sac-api-helper agent to find the Chart API methods for measure manipulation." <commentary> Chart APIs include addMeasure(), removeMeasure(), and getMeasures() for measure control. </commentary> </example> <example> Context: Understanding API differences user: "What's the difference between Analytics Designer and Optimized Story Experience APIs?" assistant: "I'll use the sac-api-helper agent to explain the API differences between these environments." <commentary> Analytics Designer and OSE have different API sets and capabilities. </commentary> </example> <example> Context: OSE-specific API question user: "What OSE API methods are available for planning version management?" assistant: "I'll use the sac-api-helper agent to find OSE Planning API methods." <commentary> OSE has its own Planning API with PlanningModel, PlanningVersion, and related classes documented in ose-api-planning-calendar.md. </commentary> </example> <example> Context: OSE method lookup user: "How do I set a filter in OSE scripting? Which method to use?" assistant: "Let me use the sac-api-helper agent to find the correct OSE DataSource filter methods." <commentary> OSE DataSource has setDimensionFilter, removeDimensionFilter, and removeAllFilters β documented in ose-api-datasource.md. </commentary> </example>
Use this agent when the user asks about SAC script performance, slow dashboards, optimization, or mentions "optimize my script", "why is my app slow", "improve SAC performance", "dashboard takes long to load", "reduce backend calls", "SAC performance issues". <example> Context: Slow SAC application user: "My dashboard takes forever to load, especially when switching filters" assistant: "I'll use the sac-performance-optimizer agent to analyze your scripts for performance bottlenecks." <commentary> Performance issues often stem from excessive backend calls, missing refresh pausing, or heavy onInitialization code. </commentary> </example> <example> Context: Optimizing data access user: "Is there a faster way to get dimension members in SAC?" assistant: "Let me use the sac-performance-optimizer agent to recommend the most efficient data access patterns." <commentary> getResultSet() vs getMembers() is a critical performance choice - getResultSet uses cached data. </commentary> </example> <example> Context: Multiple filter operations user: "My script applies 5 filters and each one causes a refresh" assistant: "I'll use the sac-performance-optimizer agent to show you how to batch filter operations." <commentary> setRefreshPaused() pattern is essential for batching multiple data operations. </commentary> </example>
Use this agent when the user works with SAC planning features, version management, data locking, publish operations, data actions, or asks "how to publish version", "copy planning data", "lock data in SAC", "planning workflow", "version management", "private to public version", "data action scripting". <example> Context: Planning version management user: "How do I copy data from my private version to the public version?" assistant: "I'll use the sac-planning-assistant agent to guide you through the version copy process with proper error handling." <commentary> Planning operations require specific API sequences, version checks, and error handling. </commentary> </example> <example> Context: Data locking workflow user: "I need to lock data before users can edit their planning input" assistant: "Let me use the sac-planning-assistant agent to show you the data locking patterns." <commentary> Data locking involves checking lock status, acquiring locks, and handling conflicts. </commentary> </example> <example> Context: Multi-story planning application user: "How should I structure my planning application across multiple stories?" assistant: "I'll use the sac-planning-assistant agent to recommend the multi-story planning architecture pattern." <commentary> Complex planning applications benefit from modular story architecture with navigation. </commentary> </example>
Use this agent when the user encounters SAC script errors, needs to debug Analytics Designer or Optimized Story scripts, or asks "why is my script not working", "fix this SAC error", "debug my Analytics Designer script", "script throws error", "undefined is not a function in SAC". <example> Context: User has a script error in SAC Analytics Designer user: "My script throws 'undefined is not a function' error when I click the button" assistant: "I'll use the sac-script-debugger agent to analyze this error and find the root cause." <commentary> Common SAC error requiring analysis of API usage, widget references, and method signatures. </commentary> </example> <example> Context: Script not behaving as expected user: "My filter isn't applying to the chart even though the script runs without errors" assistant: "Let me use the sac-script-debugger agent to trace the data flow and identify the issue." <commentary> Silent failures in SAC often involve incorrect dimension names, data source references, or filter syntax. </commentary> </example> <example> Context: Widget interaction not working user: "The onSelect event fires but nothing happens in my target table" assistant: "I'll use the sac-script-debugger agent to analyze the event handler and widget bindings." <commentary> Event handler debugging requires checking selection data structure and target widget references. </commentary> </example>
Comprehensive real estate investment analysis plugin with financial modeling, market data APIs, deal analysis agents, and tax-aware structuring. Covers all property types: residential, commercial, multifamily, short-term rentals, and land development.
Open-source, local-first Claude Code plugin for token reduction, context compression, and cost optimization using hybrid RAG retrieval (BM25 + vector search), reranking, AST-aware chunking, and compact context packets.
Efficient skill management system with progressive discovery β 410+ production-ready skills across 33+ domains
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.