Investigate problem, verify findings, and derive solutions
49
52%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/recipe-diagnose/SKILL.mdExecute Skill: llm-friendly-context before writing Agent prompts, handoffs, or generated artifacts.
Context: Diagnosis flow to identify root cause and present solutions
Target problem: $ARGUMENTS
Core Identity: "I am not a worker. I am an orchestrator."
Execution Method:
Orchestrator invokes sub-agents and passes structured JSON between them.
Task Registration: Register execution steps using TaskCreate and proceed systematically. Update status using TaskUpdate.
| Type | Criteria |
|---|---|
| Change Failure | Indicates some change occurred before the problem appeared |
| New Discovery | No relation to changes is indicated |
If uncertain, ask the user whether any changes were made right before the problem occurred.
If the following are unclear, ask with AskUserQuestion before proceeding:
Invoke rule-advisor via Agent tool:
subagent_type: rule-advisor
description: "Problem essence analysis"
prompt: Identify the essence and required rules for this problem: [Problem reported by user]Confirm from rule-advisor output:
taskAnalysis.mainFocus: Primary focus of the problemmandatoryChecks.taskEssence: Root problem beyond surface symptomsselectedRules: Applicable rule sectionswarningPatterns: Patterns to avoidInclude the following in investigator prompt:
Problem → investigator → verifier → solver ─┐
↑ │
└── coverage insufficient ─┘
(max 2 iterations)
coverage sufficient → ReportContext Separation: Pass only structured JSON output to each step. Each step starts fresh with the JSON data only.
Register the following using TaskCreate and execute:
Agent tool invocation:
subagent_type: investigator
description: "Investigate problem"
prompt: |
Comprehensively collect information related to the following phenomenon.
Phenomenon: [Problem reported by user]
Problem essence: [taskEssence from Step 0.3]
Investigation focus: [investigationFocus from Step 0.4]
[For change failures, additionally include:]
Change details: [What was changed]
Affected area: [What broke]
Shared components: [Commonalities between cause and effect]Expected output: pathMap (execution paths per symptom), failurePoints (faults found at each node), impactAnalysis per failure point, unexplored areas, investigation limitations
Review investigation output:
Quality Check (verify JSON output contains the following):
pathMap exists with at least one symptom, and each symptom has at least one path with nodes listedlocation, upstreamDependency, symptomExplained, causalChain (reaching a stop condition), checkStatus, evidence with a source citing a specific file or locationcomparisonAnalysis (normalImplementation found or explicitly null)causeCategory for each failure point is one of: typo / logic_error / missing_constraint / design_gap / external_factorinvestigationSources covers at least 3 distinct source types (code, history, dependency, config, document, external)investigationFocus items (when provided in Step 0.4)If quality insufficient: Re-run investigator specifying missing items explicitly:
prompt: |
Re-investigate with focus on the following gaps:
- Missing: [list specific missing items from quality check]
Previous investigation results (for context, do not re-investigate covered areas):
[Previous investigation JSON]design_gap Escalation:
When investigator output contains causeCategory: design_gap or recurrenceRisk: high:
includeRedesign: true to solverProceed to verifier once quality is satisfied.
Agent tool invocation:
subagent_type: verifier
description: "Verify investigation results"
prompt: Verify the following investigation results.
Investigation results: [Investigation JSON output]Expected output: Coverage check (missing paths, unchecked nodes), Devil's Advocate evaluation per failure point, failure point evaluation with checkStatus, coverage assessment
Coverage Criteria:
Agent tool invocation:
subagent_type: solver
description: "Derive solutions"
prompt: Derive solutions based on the following verified failure points.
Confirmed failure points: [verifier's conclusion.confirmedFailurePoints]
Refuted failure points: [verifier's conclusion.refutedFailurePoints]
Failure point relationships: [verifier's conclusion.failurePointRelationships]
Impact analysis: [investigator's impactAnalysis]
Coverage assessment: [sufficient/partial/insufficient]Expected output: Multiple solutions (at least 3), tradeoff analysis, recommendation and implementation steps, residual risks
Completion condition: coverageAssessment=sufficient
When not reached:
Prerequisite: coverageAssessment=sufficient achieved
After diagnosis completion, report to user in the following format:
## Diagnosis Result Summary
### Identified Failure Points
[Confirmed failure points from verification results]
- Per failure point: location, symptom explained, finalStatus
### Verification Process
- Path coverage: [Paths traced and nodes checked]
- Additional investigation iterations: [0/1/2]
- Coverage assessment: [sufficient/partial/insufficient]
### Recommended Solution
[Solution derivation recommendation]
Rationale: [Selection rationale]
### Implementation Steps
1. [Step 1]
2. [Step 2]
...
### Alternatives
[Alternative description]
### Residual Risks
[solver's residualRisks]
### Post-Resolution Verification Items
- [Verification item 1]
- [Verification item 2]56ab6c1
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.