emiliodominguez/flow-skills

flow-simplify

Targeted cleanup of provably dead code and accidental complexity.

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/emiliodominguez/flow-skills --skill flow-simplify

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

Simplify

Subtract only where it improves understanding without changing required behavior. Fewer lines is a possible outcome, not the acceptance criterion.

Process

  1. Bound the cleanup, establish relevant checks and preserve unrelated staged/unstaged work.

Name the concrete complexity: dead paths, needless indirection, duplicate responsibility, stale comments or generated slop.

  1. Order reduction passes by semantic risk. For large scopes, authorized read-only reviewers can

inspect disjoint areas; one writer per file. No arbitrary agent or file-count threshold.

  1. Caller-check before deleting a symbol: imports, dynamic lookup, registries, reflection,

routes, config, templates, tests, generated sources, package exports. Repository search cannot see external consumers of a published API.

  1. Mark a deletion CONFIRMED-DEAD only with usage and runtime evidence; keep uncertain

exports or negotiate the compatibility change. Keep side-effect imports (registration, polyfills) and license, compiler and tool-directive comments.

  1. Inspect single-use abstractions instead of auto-inlining. Components, Hooks, closures and

effects carry identity, state lifetime and evaluation order even with one caller.

  1. Remove a defensive guard only when input provenance proves it redundant. Static types do not

validate network, JSON, storage, DOM or JavaScript consumers.

  1. Cut in small steps, run behavior and repository checks, inspect the combined diff. Stop when

the stated complexity is resolved.

Anti-patterns

  • Net-negative lines as a quality gate, or every single-use component as waste.
  • Removing imports, comments or guards on regex or type evidence alone.
  • Deleting a public export because internal grep finds no caller.
  • Quietly changing error behavior or component state lifetime.

Done when

  • The targeted code is easier to understand with semantics and compatibility preserved.
  • Deletions have evidence; uncertain consumers remain explicit.
  • Required checks ran on the resulting artifact, not an earlier baseline.

Use flow-review for the diff or flow-refactor for a separate ownership or structure problem.

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills