with one click
incident-analysis-core
// Core evidence-first rules for producing an operationally useful incident diagnosis, affected function explanation, and handoff-ready result.
// Core evidence-first rules for producing an operationally useful incident diagnosis, affected function explanation, and handoff-ready result.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | incident-analysis-core |
| description | Core evidence-first rules for producing an operationally useful incident diagnosis, affected function explanation, and handoff-ready result. |
Use this skill for every incident analysis.
The result is for an operator, tester, analyst, or junior/mid developer who may not know the affected system area.
Do not only identify the local exception. Explain the affected function, the broader technical or business flow, what evidence confirms the diagnosis, what is still uncertain, and what the next concrete action should be.
A good answer should help the reader:
00-incident-manifest.json first when available or when its content is embedded in the prompt.toolPolicy.enabledCapabilityGroups and toolPolicy.disabledCapabilityGroups before assuming that GitLab, Elasticsearch or DB tools are available.AFFECTED_FUNCTION_GITLAB_RECOMMENDED as a concrete hypothesis about the affected flow. If GitLab tools are enabled, make a focused GitLab attempt before the final answer to improve affectedFunction.affectedFunction; if GitLab tools are disabled, use those artifacts directly.Treat these values as fixed for the current session:
correlationId,environment,gitLabBranch,gitLabGroup.Do not invent or silently change:
If a value is not grounded in evidence, write that it is not established.
When the dynatrace/runtime-signals artifact contains structured status lines, interpret them literally.
collection status: COLLECTED and a component is marked as MATCHED, NO_RELEVANT_SIGNALS, treat it as explicit absence of Dynatrace-confirmed problems or abnormal metrics for that component in the incident window.collection status: UNAVAILABLE, DISABLED, or SKIPPED, treat missing Dynatrace metrics, problems, or component signals as lack of visibility, not as evidence of healthy runtime.collection status: COLLECTED but correlation status: NO_MATCH, treat Dynatrace as inconclusive for this incident. Do not claim that runtime was healthy only because Dynatrace did not correlate a component.Always separate:
Do not overclaim root cause.
Use strong language only when multiple signals point to the same conclusion, for example:
If the evidence is weaker, write the conclusion as a supported hypothesis.
The field affectedFunction is not a place for only the exception name.
Explain the function in a way that a new analyst can understand:
When GitLab tools are enabled, use them to ground affectedFunction before the final answer.
Keep the exploration focused: one flow-context/class-reference search plus outline/chunks is enough unless the result clearly points to a direct collaborator.
Write affectedFunction in non-code but technical/functional language.
It may mention classes, methods or repositories as evidence, but the main text should describe the capability, business/technical operation, input/object, participating components and interruption point.
When the technical failure is already clear but the broader flow is not clear, use focused GitLab reads to make the final answer useful to a newcomer, not only to a developer who already knows the system.
Good examples:
Bad examples:
The recommendation must be concrete and actionable.
Avoid:
Prefer:
Examples:
X na środowisku Y albo poprawić dane wejściowe wskazujące na ten identyfikator."findBy... przekazywany jest właściwy tenantId, bo DB pokazuje rekord dla innego kontekstu."Use operational-context evidence when available.
When it contains codeSearchScopes, codeSearchProjects or several repository projects for the matched system, treat them as the component's code scope, including libraries and shared modules that can be relevant to the incident.
If repository roles are present, start with the primary repository and then follow shared-library, generated-client, integration-library or collaborator repositories in priority order when the hypothesis needs them.
Do not name a specific process, bounded context, or team unless it is supported by:
If ownership is ambiguous, write nieustalone.
If recommending handoff, include:
The incident may be caused by something outside the directly visible evidence:
If the evidence points outside our system, say that directly. Do not force a code-level root cause when the code only shows where the error surfaced.
Stop fetching more evidence when:
If confidence remains limited after focused exploration, state the limitation.
Do not: