Skip to content

Harjoitus 10: Incident triage-skill

Tavoite

Luoda toistettava incident-triage-skill, joka aina suorittaa saman diagonnoserun.

Taustaa

Incident triage on erityisen hyvä skill-esimerkki, koska se:

  • Ottaa tilanteen mukaan (esim. login tiedosto)
  • Suorittaa aina saman analyysiputken
  • Palauttaa rakenteksen tuloksen

Tämä vähentää kontekstin kulumista ja tarjoaa yhtenäisen prosessin.

Tehtävä

Luo skill, joka:

✅ Ottaa login tiedoston argumenttina
✅ Tekee 4 vaihetta: parse → classify → reproduce → recommend
✅ Ei koskaan väitä varmuutta ilman näyttöä

Ratkaisu

Tiedosto: .claude/skills/incident-triage/SKILL.md

---
name: incident-triage
description: Triage an application incident from a log file.
argument-hint: [logfile]
arguments: logfile
---

Analyzing $logfile...
- classify symptom
- extract first failure
- identify probable root cause
- list evidence
- propose next three checks
- never claim certainty without evidence

Esimerkkikäytänto

/incident-triage logs/production-error.log

Claude vastaa:

## Incident Triage: logs/production-error.log

1. **Symptom classification**: ERROR — tietokantayhteyden ajanloppu
2. **First failure**: 
   ```
   ERROR [2025-01-15 14:32:01] Connection refused: database timeout
   ```
3. **Root cause (hypoteesi)**: Yhteyspoolin enimmäiskoko on liian pieni kuormituksen aiheuttamana.
4. **Evidence**:
   - `src/db/pool.js:15` — poolSize = 10
   - logs → 150 samanaikasta yhteyttä 14:31–14:32
   - CPU 95% palvelimen aikana
5. **Next three checks**:
   - (1) Tarkista poolin konfiguraatio `src/db/pool.js`-ssä
   - (2) Analysoi yhteyksien määrä `/metrics`-endpointistä
   - (3) Kokeile suuremmalla poolilla QA-ympäristössä

ADVANCED-VINKKI 04

Pidä skillin description lyhyenä ja osuvana — se näkyy 1 536 merkin rajan sisällä. description + when_to_use on tärkeä.


Lähde: Esimerkki 10 [S1], [S8]