Amey-Thakur
- 1k skills
- 0 followers
- 1 day ago last updated
- ▌ Frontend State · amey-thakurDecide where frontend state lives and how it flows, so UIs stay predictable as they grow. Use when structuring components, adding state, or untangling prop-drilling and sync bugs.
- ▌ Dotnet Async · amey-thakurWrite async C# that never blocks on tasks, flows cancellation everywhere, and uses ValueTask where it pays. Use when writing .NET async code or debugging thread-pool starvation and deadlocks.
- ▌ MCP Resource Design · amey-thakurExpose data through MCP resources with stable URIs, useful listings, and sizes that fit a context window. Use when an agent needs to read data rather than perform an action.
- ▌ Bundle Size · amey-thakurShrink JavaScript bundles by analyzing what ships, enabling real tree shaking, splitting heavy code, and putting the dependency list on a diet. Use when the initial JS payload is large, slow to parse, or growing unchecked.
- ▌ Python CLI Tools · amey-thakurBuild Python command-line tools with correct exit codes, stream discipline, and a distributable entry point. Use when writing or packaging a CLI in Python.
- ▌ Python Packaging · amey-thakurPackage a Python project with a single pyproject.toml, a src layout, and a clean build/publish path to PyPI including entry points. Use when turning a script or library into an installable, distributable package.
- ▌ Reading Papers · amey-thakurRead research papers efficiently in passes, separating claims from evidence and assessing reproducibility. Use when extracting value from academic papers without reading every one cover to cover.
- ▌ Usability Testing · amey-thakurWatch real users attempt real tasks to find where a design fails, with few participants and honest tasks. Use when validating a design or diagnosing why users struggle, before or after building.
- ▌ Concise Writing · amey-thakurCut writing to its essential words so every one earns its place, without losing meaning or voice. Use when a piece is too long, dense, or padded, or whenever brevity respects the reader's time.
- ▌ Narrative Craft · amey-thakurTell a story that holds attention and makes a point, through character, tension, and concrete scenes. Use when using storytelling in writing: an essay, a talk, a case study, a brand story, a personal account.
- ▌ Strong Openings · amey-thakurWrite openings that earn the next sentence: hook the reader, promise value, and get to the point fast. Use when a piece's beginning is slow, generic, or buries what matters.
- ▌ Aria Usage · amey-thakurUse ARIA correctly by preferring native HTML, applying roles/states/properties only where needed, and following known widget patterns. Use when making custom components accessible or fixing broken ARIA.
- ▌ Idempotency Keys · amey-thakurImplement idempotency keys so retried requests produce one effect and one canonical response. Use when making POST endpoints retry-safe, especially payments and order creation.
- ▌ Code Review · amey-thakurReview code changes for correctness, security, and maintainability with severity-ranked, evidence-based findings. Use when asked to review a diff, a pull request, or a file before merge.
- ▌ Refactoring · amey-thakurImprove code structure in small, always-green steps without changing behavior. Use when asked to clean up, simplify, restructure, or de-duplicate working code.
- ▌ Type Safety · amey-thakurModel data so illegal states will not compile, then turn the checker to strict and let it prove correctness for free. Use when designing types, modeling state machines, or hardening a loosely typed module.
- ▌ Backup Restore · amey-thakurDesign backups around tested restores, point-in-time recovery, and backup security. Use when setting up database backups or verifying that existing backups would actually work in a disaster.
- ▌ Nosql Modeling · amey-thakurModel NoSQL data from access patterns first, with single-table and denormalization discipline. Use when designing for a document or key-value store, or when a relational mindset is fighting a NoSQL database.
- ▌ Error Tracking · amey-thakurWire an error tracker to releases, tune grouping rules, and route each issue to an owner so exceptions become triaged work. Use when exceptions vanish into log noise and nobody knows which are new, which are spiking, or whose they are.
- ▌ Form Design · amey-thakurDesign forms people complete, with the fewest fields, clear labels, and error handling that helps rather than punishes. Use when collecting any information from users.
- ▌ Capacity Planning · amey-thakurForecast load, size headroom, discover scaling limits before they bite, and track cost curves. Use when planning capacity for growth or a known traffic event, or after a saturation incident.
- ▌ Config Management · amey-thakurSeparate config from code and secrets, keep environments at parity, and change config safely. Use when wiring application configuration for deployment or fixing environment-specific bugs and config drift.
- ▌ Rollback Strategy · amey-thakurDecide rollback versus fix-forward, handle migrations safely, and rehearse rollbacks so they work under pressure. Use when planning deploy safety or during an incident deciding how to recover.
- ▌ Cqrs · amey-thakurSplit read and write models when their shapes genuinely diverge, and manage the sync lag honestly. Use when one data model cannot serve both commands and queries well, or when reviewing an over-engineered CQRS setup.
- ▌ Jvm Profiling · amey-thakurProfile JVM services with async-profiler and JFR, separating CPU, allocation, and lock evidence, safely in production. Use when a JVM service is slow, hot, or memory-hungry and you need the cause.
- ▌ Kotlin Idioms · amey-thakurWrite Kotlin that uses null safety, data classes, and coroutines as designed, with clean Java interop. Use when writing Kotlin or migrating Java code and habits to it.
- ▌ MCP Prompt Templates · amey-thakurShip reusable prompt templates from an MCP server so users invoke tested workflows rather than improvising. Use when a server supports a workflow that benefits from a known-good prompt.
- ▌ Mobile Navigation · amey-thakurStructure mobile navigation with a clear stack, tab, and modal hierarchy and a back stack that survives deep links and process death. Use when designing app navigation, adding a deep-link target, or fixing lost-state and wrong-back-button bugs.
- ▌ Issue Triage · amey-thakurProcess incoming issues so real problems get found fast and the queue stays honest about what will be worked on. Use when an issue tracker has grown past what anyone reads.
- ▌ Cdn Strategy · amey-thakurPush work to the edge so requests never touch your origin, using cache headers, invalidation, and origin shielding. Use when origin load is high, global latency is uneven, or a CDN sits in front of your app but barely caches.
- ▌ Font Loading · amey-thakurLoad web fonts without layout shift by subsetting the file, setting font-display, preloading first-paint weights, and matching fallback metrics. Use when custom fonts cause invisible text, a flash of restyle, or a CLS spike.
- ▌ HTTP Caching · amey-thakurUse HTTP caching correctly with etags, max-age, and stale-while-revalidate so clients and proxies reuse responses without serving stale data. Use when responses lack cache headers, a bad deploy served stale content, or revalidation traffic is heavy.
- ▌ Lazy Loading · amey-thakurDefer expensive work until the moment it is actually needed, so startup stays fast and unused paths cost nothing. Use when initialization is slow, a page ships code it never runs, or a list renders far more rows than the screen shows.
- ▌ Startup Time · amey-thakurCut startup latency by deferring heavy imports, precompiling ahead of time, and pruning the dependency tree that loads before first useful work. Use when CLI launch, serverless cold start, or dev-loop boot time is too slow.
- ▌ Python Decorators · amey-thakurWrite decorators that preserve signatures and compose cleanly, including parameterized and class-applied forms. Use when adding cross-cutting behavior to Python functions or fixing decorator-related introspection breakage.
- ▌ Python Generators · amey-thakurBuild lazy pipelines with generators and itertools, trading materialized lists for constant memory, and know when eager evaluation is the right call. Use when processing streams, large or infinite sequences, or composing data transformations.
- ▌ Data Encryption · amey-thakurEncrypt data at rest and in transit with vetted primitives and a managed key service that rotates on schedule. Use when handling sensitive data on disk or over the network, or when reviewing how a system stores and moves it.
- ▌ Least Privilege · amey-thakurScope every credential to the minimum actions it uses, with per-workload identities and expiry so a leak has a small blast radius. Use when writing an IAM policy, provisioning a service account, or reviewing an access grant.
- ▌ Sbom Management · amey-thakurProduce signed software bills of materials from real artifacts and consume them to answer "are we affected" fast. Use when setting up build output, responding to a new advisory, or fielding a customer SBOM request.
- ▌ Security Review · amey-thakurReview code for the vulnerabilities that actually get exploited, ranked by real risk with concrete attack scenarios. Use when reviewing changes that touch input handling, auth, secrets, files, queries, or network calls.
- ▌ Threat Modeling · amey-thakurMap assets, entry points, and STRIDE threats before writing code so defenses land in the design instead of a later patch. Use when starting a feature that handles auth, money, personal data, or external input.
- ▌ Power Query · amey-thakurBuild repeatable data transformations that refresh on demand, replacing manual cleaning steps with a recorded pipeline. Use when the same import and cleaning happens more than once.
- ▌ Approval Testing · amey-thakurAssert hard-to-specify output by reviewing a human-readable snapshot once, approving it, then failing on any later diff. Use when the correct result is easy to recognize but tedious to write as explicit assertions.
- ▌ Contract Testing · amey-thakurVerify a service boundary with a consumer-driven contract that records the payload the caller actually reads and that both sides check in CI. Use when two services deploy independently and an unannounced response change would silently break the consumer.
- ▌ Database Testing · amey-thakurExercise data-access code, migrations, and transactions against the real database engine so constraints, rollbacks, and schema changes are proven rather than assumed. Use when tests for queries or migrations run on SQLite while production runs Postgres.
- ▌ Mutation Testing · amey-thakurMeasure how strong a test suite is by mutating the code and checking the tests notice, exposing assertions that never actually fail. Use when coverage is high but you doubt the tests would catch a real regression.
- ▌ Regression Tests · amey-thakurPin every fixed bug with a test that fails before the fix and passes after, kept beside the code it guards. Use when closing a bug so the same defect cannot return silently through a later refactor or merge.
- ▌ Snapshot Testing · amey-thakurUse snapshot tests for serialized output only, with disciplined review of every diff and hard limits on snapshot size. Use when pinning stable rendered output like markup or an API response shape.
- ▌ Test Maintenance · amey-thakurRefactor test code with the same care as production: extract helpers, remove duplication, and delete tests that no longer earn their place. Use when the test suite has become slow to change, repetitive, or full of tests nobody trusts.
- ▌ Testing Strategy · amey-thakurDecide what to test, at which level, and what to skip, so tests catch real regressions without freezing the design. Use when writing tests or planning coverage for a change.
- ▌ Unit Test Design · amey-thakurWrite unit tests that document behavior through explicit arrange-act-assert phases and a single assertion of intent. Use when writing or repairing a unit test that has grown hard to read.
- ▌ Interaction Design · amey-thakurDesign how users act and the interface responds: affordances, feedback, states, and forgiving flows. Use when designing controls, flows, and interactive behavior, or fixing an interface that confuses or frustrates.
- ▌ Graceful Shutdown · amey-thakurDrain servers on SIGTERM so deploys and scale-downs drop zero requests and corrupt no jobs. Use when implementing shutdown handling or chasing errors that spike during every deploy.
- ▌ Multi Region Design · amey-thakurChoose between active-passive and active-active multi-region architectures with eyes open to data, cost, and failover reality. Use when regional resilience or data residency forces the multi-region question.
- ▌ Code Metrics · amey-thakurRead code metrics as smoke that points at where to look, not as verdicts that rank code good or bad. Use when triaging a large codebase for refactoring targets or reviewing metric-gated quality checks.
- ▌ Code Reading · amey-thakurUnderstand unfamiliar code quickly by tracing real execution paths rather than reading files in order. Use when joining a codebase, reviewing an unfamiliar area, or debugging something you did not write.
- ▌ Pr Authoring · amey-thakurShape pull requests a reviewer can actually hold in their head, through small size, a why-first description, and a self-review pass. Use when opening a pull request or preparing a change for review.
- ▌ Style Guides · amey-thakurWrite a code style guide people actually follow by deciding once, automating enforcement, and logging exceptions. Use when style debates recur in review or a new guide is being drafted.
- ▌ Todo Hygiene · amey-thakurKeep TODO comments actionable by requiring an owner, a ticket, and an expiry, or deleting them. Use when writing, reviewing, or sweeping in-code TODO, FIXME, and HACK markers.
- ▌ CSS Debugging · amey-thakurDiagnose layout, stacking, and overflow bugs by isolating the failing rule with devtools instead of guessing. Use when an element is misplaced, invisible, unscrollable, or styled by something you cannot find.
- ▌ Alerting Design · amey-thakurDesign alerts that fire on the symptoms users feel, using error-budget burn rate, a page-worthiness test, and a runbook link on every rule. Use when writing or pruning alerts and you want the pager to mean something instead of crying wolf.
- ▌ Print Debugging · amey-thakurPlace labeled, greppable print statements at decision points to trace the real execution, then remove them cleanly. Use when a debugger is unavailable or awkward and you need to watch values flow through the actual run.
- ▌ Race Conditions · amey-thakurDiagnose data races by reasoning about happens-before order, running sanitizers, and stressing the timing until the bug shows. Use when a bug appears only under load, only sometimes, or vanishes when you add a print statement.
- ▌ Email Subject Lines · amey-thakurWrite subject lines that get emails opened and found later: specific, honest, and action-signaling. Use when the subject line decides whether your email is opened, prioritized, or buried.
- ▌ Frontend Routing · amey-thakurStructure client routes so the URL is the source of truth, data loads per route, and back/scroll behave. Use when adding routes, wiring route data loading, or fixing lost-filter or scroll-jump bugs.
- ▌ Email Marketing · amey-thakurRun lifecycle and campaign email that people open, with segmentation, timing, and permission handled properly. Use when email is a channel you own and want to keep.
- ▌ MCP Context Budgeting · amey-thakurKeep tool results small enough that an agent can hold what matters, through pagination, projection, and summarisation at the server. Use when tool output floods the context window.
- ▌ Mobile Performance · amey-thakurMake a mobile app fast where users feel it by protecting startup time, keeping lists at frame rate, handling images at display size, and keeping work off the main thread. Use when the app is slow to open, scrolling janks, or the UI freezes during work.
- ▌ Push Notifications · amey-thakurDeliver mobile push that users keep enabled by asking permission at the right moment, managing token lifecycle, using categories and silent pushes correctly, and respecting quiet hours. Use when adding push, debugging non-delivery, or opt-in rates are low.
- ▌ Load Balancing · amey-thakurDistribute traffic across instances with the right algorithm, health checks, and draining so capacity is used and failures are absorbed. Use when scaling a service horizontally or diagnosing uneven load.
- ▌ Python Concurrency · amey-thakurChoose threads, processes, or asyncio from workload shape, and use concurrent.futures without deadlocks. Use when parallelizing Python work or debugging concurrency that is slower than sequential.
- ▌ Python Dataclasses · amey-thakurChoose between dataclass, NamedTuple, and pydantic, and configure frozen, slots, and validation correctly. Use when modeling structured data in Python or reviewing class boilerplate.
- ▌ Python Performance · amey-thakurProfile first, then remove Python-level overhead through vectorization, better algorithms, or a compiled extension. Use when Python code is too slow and you must decide where and how to optimize.
- ▌ Load Shedding · amey-thakurReject excess work deliberately under overload so the system serves some requests well instead of failing all of them. Use when traffic spikes cause complete collapse rather than partial service.
- ▌ Input Validation · amey-thakurValidate untrusted input at every trust boundary with allowlists, canonicalization, and hard limits so malformed data never reaches logic. Use when accepting data from requests, files, uploads, or third-party APIs.
- ▌ Password Storage · amey-thakurStore passwords with a slow, salted, memory-hard hash and a plan to raise the cost over time. Use when building signup or login, migrating off a weak hash, or reviewing how a system persists user passwords.
- ▌ Sast Integration · amey-thakurWire a static analysis scanner into CI so it blocks real security bugs while staying under a defined noise budget. Use when adding a SAST tool to a pipeline or when an existing one is being ignored.
- ▌ Secrets Scanning · amey-thakurScan commit history and CI for leaked credentials and rotate on every hit, because a pushed secret is already compromised. Use when hardening a repo against committed keys or responding to a suspected leak.
- ▌ Security Headers · amey-thakurSet the HTTP response headers that constrain what a browser will execute, embed, and leak on behalf of your origin. Use when hardening a web app against cross-site scripting, clickjacking, or referrer leakage, or when a security scan flags missing headers.
- ▌ Pivot Tables · amey-thakurSummarise and cross-tabulate large tables quickly with pivots, keeping the source data clean and the refresh reliable. Use when aggregating data by category, period, or dimension.
- ▌ Deduplication Queries · amey-thakurFind and remove duplicate rows deterministically, keeping the record you meant to keep. Use when a table has accumulated duplicates or an import needs a clean unique set.
- ▌ Coverage Strategy · amey-thakurRead coverage as a map of untested risk that steers the next test, rather than enforcing a percentage target. Use when deciding what to test next or when a team is tempted to mandate a coverage number.
- ▌ Pact Verification · amey-thakurVerify a provider against its consumers' recorded pacts in CI so a breaking API change fails before it ships. Use when independently deployed services share an HTTP contract and you want to catch breaks without end-to-end staging.
- ▌ API Change Management · amey-thakurClassify API changes as breaking or compatible, evolve additively, and gate breaking changes with compatibility tests. Use when changing an API and needing to know whether it breaks consumers.
- ▌ API Pagination Design · amey-thakurDesign pagination with cursors for stable ordering, sensible page limits, and awareness of total-count cost. Use when adding pagination to a list endpoint or fixing duplicate or skipped items under load.
- ▌ GRAPHQL Schema Design · amey-thakurDesign GraphQL schemas that model the domain, solve N+1 with dataloaders, and handle pagination and errors, knowing when REST wins. Use when building a GraphQL API or evaluating GraphQL against REST.
- ▌ Request Validation · amey-thakurValidate requests at the boundary with schemas, reject unknown fields, and return errors clients can act on. Use when hardening API input handling or standardizing validation across endpoints.
- ▌ Autoscaling Policies · amey-thakurDesign autoscaling on the right metric with velocity controls, warm capacity, and flap prevention. Use when configuring autoscaling or diagnosing oscillation, lag, and cost spikes in scaled fleets.
- ▌ Kubernetes Workloads · amey-thakurConfigure Kubernetes workloads with correct requests, probes, disruption budgets, and workload types. Use when deploying services to Kubernetes or debugging evictions, OOMKills, and rollout failures.
- ▌ Serverless Tradeoffs · amey-thakurDecide where functions-as-a-service fit using cold-start, limit, and cost-crossover math. Use when choosing between serverless and containers, or rescuing a serverless design that hit its limits.
- ▌ Code Comments · amey-thakurWrite comments that record why the code is shaped as it is, and delete the ones that only restate it. Use when adding, reviewing, or pruning comments in a codebase.
- ▌ Function Size · amey-thakurSize functions to one clear job, extracting when they blur and leaving them long when the logic is linear. Use when a function grows hard to name or scan.
- ▌ Guard Clauses · amey-thakurFlatten nested conditionals into early returns that handle edge cases up front and keep the main path unindented. Use when logic marches rightward into deep nesting.
- ▌ Linting Setup · amey-thakurTriage lint rules so bug-catchers are errors, style is left to the formatter, and every suppression carries a reason. Use when configuring a linter, taming warning noise, or setting a suppressions policy.
- ▌ Magic Numbers · amey-thakurReplace unexplained literal values with named constants that carry their meaning, without over-formalizing the obvious. Use when a bare number or string encodes a rule.
- ▌ Naming Things · amey-thakurChoose names that carry meaning so readers grasp intent without chasing definitions. Use when naming variables, functions, types, or files, or when a name reads as vague.
- ▌ Null Handling · amey-thakurMake absence explicit in the type and resolve it at the edges so the interior never dereferences a surprise null. Use when designing return types, parsing external input, or chasing null-reference crashes.
- ▌ Strangler Fig · amey-thakurReplace a legacy system incrementally behind a routing facade, moving one slice at a time instead of a big-bang rewrite. Use when retiring or rewriting a system that must keep running throughout.
- ▌ CSS Animations · amey-thakurAnimate with compositor-friendly properties, honest durations, and reduced-motion fallbacks. Use when adding UI motion or fixing janky, battery-hungry animations.
- ▌ Web Typography · amey-thakurSet a type scale, measure, and loading strategy that make text readable and stable across devices. Use when establishing typography for a site or fixing cramped, shifting, or slow-loading text.