← all publishers

narenaryan

@narenaryan source repo

29 published skills

  1. Git Hooks · narenaryan
    Use when writing, debugging, or configuring git hooks (pre-commit, commit-msg, pre-push, pre-receive, etc.) — covers firing order, arguments, exit-code effects, and core.hooksPath for team distribution
    0
    installs
  2. Git Rerere · narenaryan
    Use when the same merge conflicts keep recurring across rebases or long-running integration branches — enables automatic replay of previously-recorded resolutions
    0
    installs
  3. Git Worktrees · narenaryan
    Use when needing multiple checked-out branches simultaneously without re-cloning — review a PR while keeping WIP, per-branch build caches, or hotfix alongside feature work
    0
    installs
  4. Go Data Idioms · narenaryan
    Use when working with Go slices, maps, defer, or named returns — covers new vs make, slice capacity and backing-array aliasing, append reallocation, defer LIFO and argument-capture timing, named returns mutated by defer, and zero-value-useful design
    0
    installs
  5. UI Form Design · narenaryan
    Use when designing or reviewing forms and inputs — text fields, dropdowns/selects, password fields, autocomplete, defaults/pre-fills, or form-level validation and error messaging.
    0
    installs
  6. Git Submodules · narenaryan
    Use when working with git submodules — cloning, updating, pinning a branch, pushing safely, branch switching that adds/removes submodules, or resolving submodule conflicts
    0
    installs
  7. Go Error Handling · narenaryan
    Use when designing Go error types, choosing error vs panic, or implementing recover — covers structured error types with Unwrap, errors.Is/As, the direct-call rule for recover, re-panic, and panic-as-internal-control-flow for complex parsers
    0
    installs
  8. UI Scroll Regions · narenaryan
    Use when building or debugging horizontally scrollable UI regions — timelines, Gantt/swimlane views, wide tables, frozen first columns, synced rulers/headers — or when scroll "doesn't work", the scrollbar is invisible, or panes drift out of sync.
    0
    installs
  9. Git Data Recovery · narenaryan
    Use when commits or branches seem lost — after hard reset, force-push, branch delete, or botched rebase — to locate dangling objects via reflog and fsck before gc prunes them
    0
    installs
  10. Go Pprof Profiling · narenaryan
    Use when profiling Go programs with pprof — CPU hotspots, allocation rates, GC pressure, lock contention, or goroutine leaks; covers profile types (cpu/heap/block/mutex/goroutine), go tool pprof interactive commands, flat vs cum, differential profiles with -base, and sample_index for inuse vs alloc
    0
    installs
  11. UI Design Patterns · narenaryan
    Use when designing or reviewing a UI/UX flow — choosing navigation structure, organizing content/menus, deciding which controls to surface first, adding a wizard/settings page/help system, structuring multi-step or parallel tasks, or picking page transitions/animations.
    0
    installs
  12. Github Ssh Keys · narenaryan
    Use when setting up, troubleshooting, or hardening SSH keys for GitHub — FIDO2/U2F hardware keys (ed25519-sk/ecdsa-sk), macOS Keychain integration (UseKeychain, --apple-use-keychain), Windows MSYS2-vs-native-OpenSSH agent confusion, "Bad configuration option: usekeychain" errors, or choosing between ed25519 and rsa-4096
    0
    installs
  13. Git Reset Mechanics · narenaryan
    Use when undoing commits, unstaging files, or choosing between reset/checkout/restore — clarifies which tree each variant touches and when --hard is unsafe
    0
    installs
  14. Conventional Commits · narenaryan
    Use when writing or validating Conventional Commits v1.0.0 messages — choosing between `!` and `BREAKING CHANGE:` footer, formatting git-trailer footers (Token-with-dashes vs `BREAKING CHANGE`), scope syntax, mapping types to SemVer bumps, prepending gender-neutral gitmoji-style icons (feat ⚡ / fix 🐛 / refactor ♻️ / docs 📝), or handling revert/multi-paragraph body rules
    0
    installs
  15. Git Advanced Merging · narenaryan
    Use when resolving non-trivial merge conflicts, choosing a merge strategy, or undoing a merge — covers -X options, diff3 markers, strategy vs option, reset vs revert -m, and re-merging reverted branches
    0
    installs
  16. Git Bisect Forensics · narenaryan
    Use when hunting a regression across many commits or tracing the origin of a line/function/string — covers automated bisect, skip, replay, blame -L/-C/-w, and pickaxe search (-S/-G)
    0
    installs
  17. Git Revisions Syntax · narenaryan
    Use when selecting commits, ranges, or historical refs in git — covers ^, ~, .., ..., @{N}, @{time}, --not, and pickaxe content selectors
    0
    installs
  18. Git Rewriting History · narenaryan
    Use when editing past commits — amending, splitting, squashing, reordering, dropping, or bulk-rewriting history with interactive rebase or filter-repo
    0
    installs
  19. Go Concurrency Patterns · narenaryan
    Use when designing Go concurrent code — goroutine lifetimes, channel sizing, worker pools, parallelization, or diagnosing goroutine leaks and data races; covers semaphore via buffered channel, leaky buffer, fan-out, channel-of-channels for RPC
    0
    installs
  20. Go Interfaces Embedding · narenaryan
    Use when designing Go type hierarchies with interfaces, type switches, or struct/interface embedding — covers implicit satisfaction, comma-ok assertions, compile-time interface checks via var _, method promotion rules, and name-collision resolution
    0
    installs
  21. Python Descriptors Mro · narenaryan
    Use when designing Python attribute protocols, multiple inheritance, or metaclasses — descriptor precedence, __set_name__, __slots__ interaction, C3 linearization rules, super() order, "MRO conflict" TypeError; applies when building validators, ORM fields, property-like wrappers, or debugging surprising attribute lookups
    0
    installs
  22. Python Unicode Gotchas · narenaryan
    Use when handling Python text encoding — UnicodeDecodeError/EncodeError, mojibake, filesystem names with non-UTF-8 bytes, combining-character mismatches, case-insensitive string compare, regex \w/\d unexpected behavior, or round-tripping unknown-encoding files; covers error handlers (surrogateescape, backslashreplace), normalization (NFC/NFD/NFKC/NFKD), BOM handling, and open()'s encoding vs errors
    0
    installs
  23. Rust Runtime Bug Classes · narenaryan
    Use when writing or reviewing Rust code that touches the filesystem, processes untrusted input, reimplements a Unix CLI, crosses a trust boundary like chroot, or handles bytes that may not be UTF-8 — covers TOCTOU on paths, permission races, OsStr vs String, panic-on-input, silently-discarded errors, NSS/dlopen after chroot, and bug-for-bug compatibility with GNU tools
    0
    installs
  24. NPM Publish CI Pitfalls · narenaryan
    Use when setting up or debugging npm publishing from CI (GitHub Actions tag-release workflows) — covers EOTP token failures, npm ≥11.6 silently stripping ./-prefixed bin entries, provenance/OIDC rejections on private repos, ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING from shipping raw .ts, and registry 404s right after a successful publish
    0
    installs
  25. Python Logging Cookbook · narenaryan
    Use when configuring Python logging beyond basicConfig — non-blocking handlers for latency-sensitive paths, multi-process log aggregation, propagation control, injecting contextual attributes, dictConfig incremental updates, level routing per handler, or library authors avoiding handler conflicts; covers QueueHandler/QueueListener, SocketHandler, LoggerAdapter vs Filter, contextvars, NullHandler for libraries
    0
    installs
  26. Rust Compile Time Invariants · narenaryan
    Use when designing Rust APIs, structs, or enums to make invalid states unrepresentable and force the compiler to flag missed updates when fields/variants change — covers private-field sealing,
    0
    installs
  27. Modularize Large Files · narenaryan
    Use when a source file has grown past ~2k lines or a "god module" is hard to navigate - finds the largest files, splits them along cohesion seams (not arbitrary line counts), preserves the public API with re-exports, and moves in behavior-preserving steps verified by tests between each extraction
    0
    installs
  28. Macos Disk Space Recovery · narenaryan
    Use when a Mac is low on disk space or Finder/System Data is vague - measures APFS usage, ranks real offenders, separates safe cache cleanup from risky data deletion, stops apps that recreate files, and re-measures reclaimed space
    0
    installs
  29. Minimal Sufficient Evidence · narenaryan
    Use when designing or reviewing tests, debugging plans, regression suites, process metrics, documentation templates, predictive models, or root-cause analyses to remove redundancy and keep only the smallest evidence set that still supports the decision
    0
    installs