Przejdź do treści
Biblioteka skilli
Programowanie · Przegląd i audyt

scale-canary

/scale-canary

Wyszukuje w kodzie problemy wydajności: pętle O(N²), zapytania N+1, nieograniczone kolekcje i blokujące wywołania w pętli zdarzeń.

Repozytorium
coalmine ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
28.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
3
Skrypty
0
Komentarze HTML
5
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 28.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co sprawdzić przed instalacją
  • SKILL.md zawiera komentarze HTML (5). Nie widać ich w podglądzie Markdown, a model je czyta.

Co robi i kiedy

Wyszukuje w kodzie problemy wydajności: pętle O(N²), zapytania N+1, nieograniczone kolekcje i blokujące wywołania w pętli zdarzeń.

Wyzwalacze z opisu

scale-canaryperformance auditscale audit
Oryginalny opis (EN)

Performance complexity and resource allocation canary — checks for O(N^2) loops, database N+1 query patterns, memory leaks (unbounded collections), and blocking calls in main event loop. Triggers on keywords: "/scale-canary", "scale-canary", "performance audit", "scale audit". Use when writing loops over growing data, DB queries, caches, or async/event-loop code.

Jak działa

  1. Auditing Categories
  2. Fix mode (choice-gated)
  3. Grants & denials (CLASSIFY-BLOCK)
  4. Output
Sekcje z nagłówków SKILL.md, w oryginale · 44 linii, 347 słów
Podgląd SKILL.md
---
name: scale-canary
description: >-
  Performance complexity and resource allocation canary — checks for O(N^2) loops, database N+1 query patterns, memory leaks (unbounded collections), and blocking calls in main event loop. Triggers on keywords: "/scale-canary", "scale-canary", "performance audit", "scale audit". Use when writing loops over growing data, DB queries, caches, or async/event-loop code.
---

# Scale Canary (Performance & Resource Allocation Audit)

<!-- SHARED:LANGUAGE_HEADER -->

Audit code for scalability issues, performance bottlenecks, and resource leaks.

## Auditing Categories
1. **O(N^2) Complexity** — nested loops over growable collections without indexing or caching (crashes at scale).
2. **N+1 Database Queries** — querying records in a loop instead of a batch JOIN or bulk prefetch.
3. **Memory Bloat / Leaks** — appending to global arrays/maps without clearing them → unbounded growth.
4. **Blocking Main Loop** — synchronous FS ops or CPU-heavy work on the main event thread (lag/hangs).
5. **Resource Leakage** — streams, connections, or handles left open without a `finally` close.

Per-ORM N+1 shapes, per-stack blocking patterns, and what NOT to flag: read `references/checks.md` before scanning.

## Fix mode (choice-gated)

In Agent Context, after the report, present via `ask_question`:

- **Apply safe optimizations:** async-ify synchronous file ops; insert `finally` blocks for stream closing. Each fix: checkpoint (copy the touched file(s) aside, or use an isolated worktree — never `git stash`/`git commit`, which can hide or include unrelated staged/unstaged user work) → record a build+test BASELINE → apply → build + tests → auto-revert only if a NEW failure appeared versus the baseline.
- **Let me pick:** user selects specific optimizations.
- **Report only:** exit unchanged.

## Grants & denials (CLASSIFY-BLOCK)
| class | step it powers | grant | on denial |
|---|---|---|---|
| read | scan loops/queries/caches for the categories above | `Read`·`Grep`·`Glob` | refuse that file, name it — never a clean bill |
| write | Fix mode's safe-optimization apply, incl. checkpoint → baseline → build+tests → auto-revert only on a NEW failure | `Edit`·`Bash` (checkpoint/build/revert need exec) | report the fix as NOT applied AND the checkpoint/revert as NOT available, never claim done |

<!-- SHARED:CLASSIFY_BLOCK -->

## Output
`| file:line | bottleneck | severity | finding | optimization plan |`

Severity: CRITICAL (O(N^2) on user-facing API / unclosed file handles) · HIGH (N+1 query pattern / blocking main loop) · MEDIUM (unbounded cache growth) · LOW (minor efficiency suggestions)

<!-- SHARED:REPORTING_FOOTER -->

<!-- SHARED:ORCHESTRATION -->

<!-- SHARED:ESCALATION_FOOTER -->

Pliki w paczce (3)
  • SKILL.md 3 KB
  • skill-meta.json 1 KB
  • references/checks.md 2 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · thecolliery/coalmine90Apache-2.0
thecolliery/coalmine90Apache-2.0

Migawka bazy z 28.10.2026 · wersja paczki 4b497dbed301 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100better-performance
    Bada i poprawia wydajność oprogramowania na podstawie profilowania, benchmarków, śladów i planów zapytań: opóźnienia, przepustowość, pamięć, N+1, blokujące I/O i wycieki zasobów.
  • 100code-optimization
    Analizuje kod pod kątem problemów wydajności, wycieków pamięci, nieefektywnych pętli, wywołań blokujących i marnowania zasobów.
  • 100canary
    Znajduje lub publikuje wydanie canary pkg.pr.new dla gałęzi Storybook i podaje specyfikator pakietu albo ręcznie uruchamia workflow canary.
  • 90drift-canary
    Sprawdza migracje bazy danych, zmiany kontraktów API i zgodność wstecz w payloadach przed wdrożeniem zmian.
  • 100performance-review
    Przegląda pod kątem wydajności i zużycia zasobów pull request lub diff open source: I/O w pętli, nowe zapytania, cache, duże alokacje, zmiany złożoności i mieszanie kodu blokującego z asynchronicznym.
  • 100review-perf
    Prowadzi pogłębiony audyt wydajności: zapytania do bazy, złożoność algorytmiczna, wąskie gardła frontendu i wycieki zasobów, z raportem uszeregowanym według ważności.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.