К основному содержанию
скилл CX Codex

platform-apex-logs-debug — скилл для Claude Code: разбор логов Apex

Скилл разбирает debug-логи Salesforce: находит причину падения, ловит превышение governor limits и объясняет стек вызовов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add forcedotcom/sf-skills --skill platform-apex-logs-debug -a claude-code
Открыть на GitHub

Что делает platform-apex-logs-debug

Скилл включается, когда в работе появляются .log файлы из Salesforce, стек-трейсы, ошибки по лимитам или медленные SOQL-запросы. Он ведёт разбор по порядку: точка входа и тип транзакции, исключения, governor limits, повторяющиеся SOQL и DML, hotspots по CPU и heap, тайминги callout. Каждую находку помечает как Critical, Warning или Info.

Внутри — справочники в references/: плейбук анализа, каталог типов событий лога, команды SF CLI для выгрузки и стриминга логов, разбор типовых проблем вроде SOQL в цикле. Для работы нужны sf версии 2.0.0 и выше и jq от 1.6.0. Советует начать с references/analysis-playbook.md.

Скилл только диагностирует. Правку кода он передаёт в platform-apex-generate, прогон тестов — в platform-apex-test-run, разбор трейсов Agentforce — в agentforce-observe. Есть и подводные камни: лог обрезается на 2 MB, поэтому уровни отладки придётся понизить и снять заново. А ещё лимит CPU в асинхронном контексте — 60 000 ms против 10 000 ms в синхронном, так что тип транзакции проверяйте до того, как ругать код.

Какие задачи решает

  • найти причину падения транзакции по стек-трейсу
  • разобраться, какой governor limit исчерпан и на каком шаге
  • убрать SOQL и DML из цикла по повторяющимся событиям в логе
  • оценить давление на CPU и heap перед синхронным лимитом
  • понять, почему запрос сканирует слишком много строк

Примеры запросов агенту

  • разбери этот .log из Salesforce и скажи, что упало
  • почему транзакция словила governor limit — посмотри лог
  • найди в логе повторяющиеся SOQL и предложи минимальную правку

Как установить platform-apex-logs-debug

1Через Skills CLI (Vercel)

npx skills add forcedotcom/sf-skills --skill platform-apex-logs-debug -a claude-code

2Вручную: положить файлы

~/.claude/skills/platform-apex-logs-debug/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/platform-apex-logs-debug/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о platform-apex-logs-debug

Как установить platform-apex-logs-debug в Claude?

Выполните npx skills add forcedotcom/sf-skills --skill platform-apex-logs-debug -a claude-code. Скилл встанет в ~/.claude/skills/platform-apex-logs-debug/SKILL.md.

Что делает platform-apex-logs-debug?

Разбирает debug-логи Salesforce: ищет корневую причину сбоя, интерпретирует стек-трейсы, проверяет governor limits и повторяющиеся SOQL/DML. Выдаёт отчёт с местом, причиной, серьёзностью и шагом проверки.

Чем этот скилл отличается от platform-apex-generate и platform-apex-test-run?

Он только диагностирует по логам. Правку Apex-кода отдаёт в platform-apex-generate, запуск и починку тестов — в platform-apex-test-run, разбор сессий Agentforce — в agentforce-observe.

Исходный текст

SKILL.md · Apache-2.0
---
name: platform-apex-logs-debug
description: "Salesforce debug log analysis and troubleshooting with 100-point scoring. TRIGGER when: user analyzes debug logs, hits governor limits, reads stack traces, or touches .log files from Salesforce orgs. DO NOT TRIGGER when: running Apex tests (use platform-apex-test-run), generating or fixing Apex code (use platform-apex-generate), or Agentforce session tracing (use agentforce-observe)."
metadata:
  version: "1.1"
  domains: ["Platform"]
  relatedSkills:
    - "agentforce-observe"
    - "platform-apex-generate"
    - "platform-apex-test-run"
    - "platform-data-manage"
    - "platform-metadata-deploy"
    - "platform-soql-query"
  cliTools:
    - tool: ["sf"]
      semver: ">=2.0.0"
    - tool: ["jq"]
      semver: ">=1.6.0"
---

# platform-apex-logs-debug: Salesforce Debug Log Analysis & Troubleshooting

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.

## When This Skill Owns the Task

Use `platform-apex-logs-debug` when the work involves:
- `.log` files from Salesforce
- stack traces and exception analysis
- governor limits
- SOQL / DML / CPU / heap troubleshooting
- query-plan or performance evidence extracted from logs

Delegate elsewhere when the user is:
- running or repairing Apex tests → [platform-apex-test-run](../platform-apex-test-run/SKILL.md)
- generating or implementing the code fix → [platform-apex-generate](../platform-apex-generate/SKILL.md)
- debugging Agentforce session traces / parquet telemetry → [agentforce-observe](../agentforce-observe/SKILL.md)

---

## Required Context to Gather First

Ask for or infer:
- org alias
- failing transaction / user flow / test name
- approximate timestamp or transaction window
- user / record / request ID if known
- whether the goal is diagnosis only or diagnosis + fix loop

---

## Recommended Workflow

### 1. Retrieve logs

Use the commands in [references/cli-commands.md](references/cli-commands.md) to list, download, or stream logs for the target org.

### 2. Analyze in this order
1. entry point and transaction type
2. exceptions / fatal errors
3. governor limits
4. repeated SOQL / DML patterns
5. CPU / heap hotspots
6. callout timing and external failures

### 3. Classify severity
- **Critical** — runtime failure, hard limit, corruption risk
- **Warning** — near-limit, non-selective query, slow path
- **Info** — optimization opportunity or hygiene issue

### 4. Recommend the smallest correct fix
Prefer fixes that are:
- root-cause oriented
- bulk-safe
- testable
- easy to verify with a rerun

Expanded workflow: [references/analysis-playbook.md](references/analysis-playbook.md)

---

## High-Signal Issue Patterns

| 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](references/common-issues.md)

---

## Output Format

When finishing analysis, report in this order:

1. **What failed**
2. **Where it failed** (class / method / line / transaction stage)
3. **Why it failed** (root cause, not just symptom)
4. **How severe it is**
5. **Recommended fix**
6. **Verification step**

Suggested shape:

```text
Issue: <summary>
Location: <class / line / transaction>
Root cause: <explanation>
Severity: Critical | Warning | Info
Fix: <specific action>
Verify: <test or rerun step>
```

---

## Rules / Constraints

| 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 `platform-apex-generate` | This skill diagnoses; it does not rewrite Apex code |
| Delegate test execution to `platform-apex-test-run` | 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 |

---

## Gotchas

| 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 |

---

## Cross-Skill Integration

| Need | Delegate to | Reason |
|---|---|---|
| Implement Apex fix | [platform-apex-generate](../platform-apex-generate/SKILL.md) | code change generation / review |
| Reproduce via tests | [platform-apex-test-run](../platform-apex-test-run/SKILL.md) | test execution and coverage loop |
| Deploy fix | [platform-metadata-deploy](../platform-metadata-deploy/SKILL.md) | deployment orchestration |
| Create debugging data | [platform-data-manage](../platform-data-manage/SKILL.md) | targeted seed / repro data |
| Optimize slow SOQL queries | [platform-soql-query](../platform-soql-query/SKILL.md) | query shape / performance tuning |

---

## Reference File Index

| 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 Guide

| 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 |

© forcedotcom · Apache-2.0 · forcedotcom/sf-skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
salesforce-apex-cursorrules-prompt-file PatrickJS Правило для Cursor, которое настраивает ИИ на разработку Salesforce на Apex: очередь вместо @future, паттерны GoF и минимум комментариев. ★ 41 011звёзд репо salesforce-apex-quality официальный github Проверяет Apex-код на риски governor limits, проблемы безопасности и пробелы в тестах. Подходит для ревью классов, триггеров и тестовых классов. 884установок apex официальный github Правило задаёт Copilot стиль кода Apex: массовые операции, имена классов и методов, проверка прав доступа. Пригодится, если вы пишете триггеры и классы на платформе Salesforce. ★ 40 418звёзд репо render-debug Render Разбирает упавшие деплои на Render по логам, метрикам и состоянию базы, находит причину и предлагает правку. CX Codex +1 541установок salesforce-developer https://github.com/Jeffallan Пишет Apex-классы, собирает Lightning Web Components, оптимизирует SOQL-запросы и настраивает пакетную обработку на платформе Salesforce. Следит за governor limits и булкифицирует код. CX Codex +1 4 300установок salesforce-dx Mindrally Скилл задаёт агенту правила разработки на Salesforce DX: Apex, триггеры, LWC, scratch orgs и выкладка через SFDX CLI. CX Codex +1 688установок

Из того же набора167

platform-apex-generate Пишет и рефакторит Apex-классы и триггеры, затем прогоняет код через анализатор и тесты. Пригодится, когда в проекте много Salesforce-кода. CX Codex +1 7 100установок platform-apex-test-generate Скилл пишет и чинит тест-классы Apex: фабрики данных, массовые прогоны, моки и разбор покрытия. Пригодится, когда перед деплоем не хватает покрытия. CX Codex +1 7 000установок platform-apex-test-run Запускает тесты Apex через Salesforce CLI, анализирует покрытие кода и ведёт цикл исправления упавших тестов. Помогает разобрать ошибки перед деплоем. CX Codex +1 6 900установок platform-soql-query Пишет и оптимизирует запросы SOQL/SOSL в Salesforce: от формулировки на естественном языке до анализа селективности и плана запроса. CX Codex +1 6 800установок platform-metadata-deploy Оркестрирует деплой метаданных Salesforce через sf CLI v2, проверяет изменения перед релизом и ведёт развёртывание в прод без прямых запусков deploy start. CX Codex +1 6 700установок platform-metadata-retrieve Скилл тянет метаданные из org в локальный проект через sf project retrieve start: все изменения, каталог, тип, манифест или пакет. CX Codex +1 6 600установок platform-permission-set-generate Создаёт метаданные Salesforce PermissionSet XML для прав объектов, полей, пользователей и приложений. Нужен при настройке FLS, вкладок и развёртывании наборов разрешений. CX Codex +1 6 500установок platform-docs-get Тянет официальную документацию Salesforce и заставляет агента отвечать по ней, а не по чужим блогам. Полезен, когда страницы рендерятся через JS и обычный fetch возвращает пустую оболочку. CX Codex +1 6 500установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой