From sf-demo-scout
Analyzes Salesforce debug logs for root-cause diagnosis: governor limits, stack traces, slow queries, CPU/heap pressure. Scores issues 1-100 and recommends fixes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sf-demo-scout:debugging-apex-logsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when the user needs **root-cause analysis from debug logs**: governor-limit diagnosis, stack-trace interpretation, slow-query investigation, heap / CPU pressure analysis, or a reproduction-to-fix loop based on log evidence.
CREDITS.mdREADME.mdassets/benchmarking-template.clsassets/cpu-heap-optimization.clsassets/dml-in-loop-fix.clsassets/null-pointer-fix.clsassets/soql-in-loop-fix.clsreferences/analysis-playbook.mdreferences/benchmarking-guide.mdreferences/cli-commands.mdreferences/common-issues.mdreferences/debug-log-reference.mdreferences/log-analysis-tools.mdreferences/scoring-rubric.mdUse this skill when the user needs root-cause analysis from debug logs: governor-limit diagnosis, stack-trace interpretation, slow-query investigation, heap / CPU pressure analysis, or a reproduction-to-fix loop based on log evidence.
Use debugging-apex-logs when the work involves:
.log files from SalesforceDelegate elsewhere when the user is:
Ask for or infer:
Use the commands in references/cli-commands.md to list, download, or stream logs for the target org.
Prefer fixes that are:
Expanded workflow: references/analysis-playbook.md
| Issue | Primary signal | Default fix direction |
|---|---|---|
| SOQL in loop | repeating SOQL_EXECUTE_BEGIN in a repeated call path | query once, use maps / grouped collections |
| DML in loop | repeated DML_BEGIN patterns | collect rows, bulk DML once |
| Non-selective query | high rows scanned / poor selectivity | add indexed filters, reduce scope |
| CPU pressure | CPU usage approaching sync limit | reduce algorithmic complexity, cache, async where valid |
| Heap pressure | heap usage approaching sync limit | stream with SOQL for-loops, reduce in-memory data |
| Null pointer / fatal error | EXCEPTION_THROWN / FATAL_ERROR | guard null assumptions, fix empty-query handling |
Expanded examples: references/common-issues.md
When finishing analysis, report in this order:
Suggested shape:
Issue: <summary>
Location: <class / line / transaction>
Root cause: <explanation>
Severity: Critical | Warning | Info
Fix: <specific action>
Verify: <test or rerun step>
| Rule | Rationale |
|---|---|
| Always base fix recommendations on log evidence | Avoid speculative diagnosis — root cause must be traceable in the log |
| Report all six output fields for every issue found | Ensures actionable, complete findings for each problem |
| Classify every finding as Critical, Warning, or Info | Helps the user prioritize which issues to address first |
Delegate code generation to generating-apex | This skill diagnoses; it does not rewrite Apex code |
Delegate test execution to running-apex-tests | This skill does not run or repair test classes |
Never assume limits are safe without reading LIMIT_USAGE events | Limits may be consumed by earlier operations not visible in the failure point |
| Pitfall | Resolution |
|---|---|
| Log truncated at 2 MB | Reduce debug levels (e.g., ApexCode: INFO, ApexProfiling: FINE) and re-capture |
| Same issue appears as both SOQL and CPU problem | Fix SOQL-in-loop first — it typically drives the CPU spike as a secondary effect |
| No logs appear after trace flag is set | Verify the trace flag ExpirationDate is in the future and the correct user is traced |
| Async context changes limit values | CPU limit is 60,000 ms async vs 10,000 ms sync — check transaction type before flagging limits |
| Stack trace points to framework line, not user code | Walk up the call stack past trigger handlers to find the originating user code |
| Need | Delegate to | Reason |
|---|---|---|
| Implement Apex fix | generating-apex | code change generation / review |
| Reproduce via tests | running-apex-tests | test execution and coverage loop |
| Deploy fix | deploying-metadata | deployment orchestration |
| Create debugging data | handling-sf-data | targeted seed / repro data |
| File | When to read |
|---|---|
references/analysis-playbook.md | Start here — expanded step-by-step workflow for any debugging session |
references/common-issues.md | Quick lookup for SOQL in loop, DML in loop, CPU/heap pressure, null pointer patterns |
references/cli-commands.md | SF CLI commands for retrieving, streaming, and managing debug logs |
references/debug-log-reference.md | Full event type catalog, log levels, and governor limit reference values |
references/log-analysis-tools.md | Tool guide: Apex Log Analyzer, Developer Console, CLI grep patterns |
references/benchmarking-guide.md | Performance benchmarking techniques, benchmark data, and anti-patterns |
references/scoring-rubric.md | 100-point scoring rubric for evaluating analysis quality |
assets/benchmarking-template.cls | Copy-paste Anonymous Apex template for running performance benchmarks |
assets/cpu-heap-optimization.cls | Apex patterns for reducing CPU time and heap allocation |
assets/dml-in-loop-fix.cls | Before/after example for resolving DML-in-loop violations |
assets/soql-in-loop-fix.cls | Before/after example for resolving SOQL-in-loop violations |
assets/null-pointer-fix.cls | Patterns for guarding against null pointer exceptions |
| Score | Meaning |
|---|---|
| 90+ | Expert analysis with strong fix guidance |
| 80–89 | Good analysis with minor gaps |
| 70–79 | Acceptable but may miss secondary issues |
| 60–69 | Partial diagnosis only |
| < 60 | Incomplete analysis |
npx claudepluginhub seb-schi/sf-demo-scout --plugin sf-demo-scoutAnalyzes Salesforce debug logs for root-cause diagnosis: governor limits, stack traces, slow queries, CPU/heap pressure. Scores issues 1-100 and recommends fixes.
Retrieves and analyzes Apex debug logs from Salesforce orgs to identify governor-limit hits, SOQL N+1 patterns, unhandled exceptions, and async job failures.
Applies advanced Salesforce debugging via debug logs, SOQL query plans, and EventLogFile analysis for governor limits, slow queries, and complex bugs.