Harjoitus 30: Definition of Done -skill¶
Tavoite
Luoda Definition of Done -skill, joka tarkistaa kaikki kriteerit ennen pull requestia: testit, lint, muutetut tiedostot, dokumentaatio ja Git-difft.
Taustaa¶
Definition of Done (DoD) määrittelee, millaiset ehdot täytyy olla täytetty ennen kuin työ on "valmis".
Tällä tavalla voit automatisoida tarkistuksia:
| Tarkistus | Miten? |
|---|---|
| Testit | npm test tai pytest |
| Lint | npm run lint |
| Muutetut tiedostot | git diff --name-only |
| Dokumentaatio | ?docs/-tiedostomuutokset |
| Git-difft | git log --oneline -5 |
Tehtävä¶
Luo /done-skill, joka tarkistaa kaikki yllä olevat kriteerit ja palauttaa yhteenveton.
Ratkaisu¶
Tiedosto: .claude/skills/done/SKILL.md¶
---
name: done
description: Check Definition of Done before PR — tests, lint, changed files, docs, git diff.
disable-model-invocation: false
user-invocable: true
allowed-tools:
- Bash(npm test *)
- Bash(npm run lint *)
- Bash(git diff *)
- Bash(git log *)
model: sonnet
---
## Definition of Done Check
1. **Testit** — aja `npm test`
2. **Lint** — aja `npm run lint`
3. **Muutetut tiedostot** — tarkista `git diff --name-only`
4. **Dokumentaatio** — onko `docs/`-kansiossa muutoksia?
5. **Git** — tarkista `git log --oneline -5`
Palauta lopuksi yhteenveto: OK / FAIL jokaiselle kohteelle.
Esimerkkikäyttö¶
/done
Claude vastaa:
## ✅ Definition of Done
1. Tests: ✅ PASS (25/25 tests)
2. Lint: ✅ PASS (0 errors)
3. Changed files: 4 (src/api.js, src/utils.js, tests/api.test.js, docs/api.md)
4. Documentation: ✅ docs/api.md updated
5. Git: ✅ 2 commits (abc123, def456)
RESULT: ✅ READY FOR PR
Lähde: Esimerkki 30 [S1]