Akula

test-driven-development

Use when implementing any feature or bugfix, before writing implementation code

obraSource Checked 7 November 2026b02e8efa2d6d

Security

No findings

Files checked: 2 of 2. Code blocks and scripts analysed: 19. Risk score: 10 of 100. Static analysis does not guarantee safety: it finds only known techniques.

Effect by model

Difference in success rate with and without the skill, in percentage points. The bar and the numbers in brackets show the 95% interval. The vertical line marks zero; gridlines are 50 pp apart. Repetitions: 3. Sandbox: docker.

ModelEffectConclusionWithout skillWith skillUnrelated tasksTokens
opus-5-5Helps50%100%0 pp6.6×
sonnet-5-5Helps0%100%0 pp8.6×
haiku-5-5Helps56%100%0 pp4.5×

What the gain costs

  • opus-5-5Proven gain50 points more tasks solved, at 6.6× the tokens.
  • sonnet-5-5Proven gain100 points more tasks solved, at 8.6× the tokens.
  • haiku-5-5Proven gain44 points more tasks solved, at 4.5× the tokens.

Where the skill made the biggest difference

  • HelpedAdd call_with_retry(fn, attempts) to net.py. It calls fn() and returns its result. If fn raises, it tries again, up to attempts calls in total, then re-raises the last error.opus-5-5 · 0% → 100%sonnet-5-5 · 0% → 100%haiku-5-5 · 0% → 100%
  • HelpedAdd unique_slug(slug, taken) to slugs.py. If slug is not in the set taken, return it. Otherwise return slug-2, or slug-3, and so on: the first free one.opus-5-5 · 0% → 100%sonnet-5-5 · 0% → 100%haiku-5-5 · 33% → 100%
  • HelpedCustomers say a 10% coupon on a 200.00 cart takes off 10.00 instead of 20.00. Please fix it in cart.py.sonnet-5-5 · 0% → 100%haiku-5-5 · 0% → 100%
  • HelpedA booking from 2026-03-01 to 2026-03-03 should bill for both nights, and a same-day booking should bill one night, but same-day bookings are billed zero. Fix nights() in booking.py.sonnet-5-5 · 0% → 100%
  • Helpedsplit_row in rows.py breaks on values like: a,"b,c",d. That should give three fields: a, b,c and d. Please fix it. Use only the standard library.sonnet-5-5 · 0% → 100%
  • HelpedAdd chunked(items, size) to batches.py. It returns a list of lists of at most size items, in order. A size below 1 must raise ValueError.sonnet-5-5 · 0% → 100%
Tasks used in this measurement: 6 with the skill in mind, 2 unrelated
  1. fix-coupon-totalCustomers say a 10% coupon on a 200.00 cart takes off 10.00 instead of 20.00. Please fix it in cart.py.
  2. fix-booking-nightsA booking from 2026-03-01 to 2026-03-03 should bill for both nights, and a same-day booking should bill one night, but same-day bookings are billed zero. Fix nights() in booking.py.
  3. fix-quoted-csvsplit_row in rows.py breaks on values like: a,"b,c",d. That should give three fields: a, b,c and d. Please fix it. Use only the standard library.
  4. add-retry-helperAdd call_with_retry(fn, attempts) to net.py. It calls fn() and returns its result. If fn raises, it tries again, up to attempts calls in total, then re-raises the last error.
  5. add-unique-slugAdd unique_slug(slug, taken) to slugs.py. If slug is not in the set taken, return it. Otherwise return slug-2, or slug-3, and so on: the first free one.
  6. add-chunkedAdd chunked(items, size) to batches.py. It returns a list of lists of at most size items, in order. A size below 1 must raise ValueError.
  7. bump-versionSet the version in package.json to 2.0.0. Change nothing else.
  8. count-todosCount the lines containing TODO in notes.txt and write just the number to count.txt.

Compatibility and permissions

Stable
  • opus-5-5StableSkill opened in 100% of runs
  • sonnet-5-5StableSkill opened in 100% of runs
  • haiku-5-5StableSkill opened in 100% of runs
Declared tools
none
Inferred from files
Bash
Programs
cargomakenpm
External hosts
none
Environment variables
none