Implement an already-specified change in an unfamiliar or high-stakes codebase with the smallest viable diff - establish a green baseline first, match the surrounding idiom rather than importing your own, separate refactor commits from behavior commits, gate behind a flag where blast radius warrants it, and draft the…
Review a change specifically for data handling before release - what sensitive data crosses this path, whether it is logged or cached, encryption in transit and at rest, secrets externalized, and whether the audit trail satisfies the stated obligation. Use as a pre-release gate on anything touching personal data…
Generate genuine alternatives for a non-trivial change - including do-nothing and solve-it-outside-this-system - evaluate them against the real constraints already established, recommend one, and record why the others were rejected, as an ADR that survives your departure. Use when a change has more than one plausible…
Translate the current technical position into something a busy non-engineer reads in ninety seconds - what changed, what it means, what decision is needed, what the risk is - pitched at the right register for the reader. Use at every phase boundary rather than only at the end, when a sponsor or delivery lead needs an…
Get realistic test data in an organization where production data cannot be copied - synthesis, subsetting, masking with referential integrity preserved, and fixtures for the awkward edge cases that only real systems produce. Use when tests need data you do not have, when verification is blocked because no usable…
Follow one concrete business operation end to end through every layer and process boundary - entry point, orchestration, persistence, messaging, downstream calls, and the error and retry paths - producing a sequence narrative with a citation at every hop. Use when you need to know how something actually works before…
Map every acceptance criterion to the specific evidence that proves it - which test, which manual check, which measurement - and surface the gap list of criteria with no verification at all. Use once implementation is underway, before claiming anything is done, before a release decision, or when someone asks "how do…
Reconstruct an undocumented data model from whatever exists - migrations, DDL, ORM definitions, and most reliably the queries actually issued - then surface the gap between the schema's stated intent and its real use. Use when a schema is undocumented, when the domain model is unclear, before a migration or reporting…
Build or change ETL, ELT, warehouse, and reporting pipelines where the failure modes are silent - data quality decay, late-arriving and duplicate records, backfill and reprocessing, idempotency, lineage, and reconciliation against a source of truth. Use for analytics and reporting engagements, when a pipeline produces…
Change a schema against a live production database without taking an outage - expand and contract patterns, zero-downtime DDL, lock and replication-lag behavior on large tables, reversibility, and coordinating the migration with the application deploy that depends on it. Use before any schema change on a system that…
Plan the moment two systems swap - data migration and backfill, dual-run and reconciliation, the consistency window, traffic shifting, the point of no return, and what abort means at each stage. Use for any migration or replatform where data moves and both systems briefly coexist, when a legacy system is being…
Turn a system off safely - proving there are no remaining consumers, which is much harder than it sounds, then data retention and archival obligations, a staged darkening sequence, and how long to keep the ability to reverse. Use when a system is being retired, after a migration leaves the old system idle, when…
Run an EOL or version-driven upgrade where the scope is fixed, the deadline is external, and the risk is concentrated in transitive breakage - ordering the upgrade, building a compatibility matrix, cutting over incrementally, and telling a real break from a warning. Use for end-of-life work, runtime or framework…
Change code that must change but is not safely changeable - find the seams that let you alter behavior without rewriting, using branch-by-abstraction, strangler fig, and adapter insertion, always leaving the system releasable at every step. Use when extracting from a monolith, when a component must be replaced…
Diagnose a red, flaky, or slow pipeline by identifying the failure class first - genuine break, flake, environment drift, ordering dependency, or resource contention - before attempting fixes, and distinguishing making it green from making it right. Use when the build is failing, when tests pass locally but not in CI…
Ask whether a failure could have been seen, then close the gaps - missing logs, metrics, traces, and alerts - so the next incident is cheaper to diagnose. Use after any incident where the answer was hard to find, before shipping anything whose failure would be silent, when a change has no way to be detected going…
Define and execute the observation window after a release - smoke checks, the specific metrics that would show this change broke something, how long to watch, and pre-agreed rollback triggers - converting "seems fine" into a recorded verification. Use immediately after any non-routine deploy, during a staged or…
Design an API, event, or schema contract with compatibility as the primary concern - versioning strategy, backward compatibility, migration path for existing consumers, and failure semantics - plus a consumer impact list. Use when creating or changing anything that crosses a team boundary, when adding a field to a…
Work on a vendor platform where the deliverable is configuration rather than code - SAP, Salesforce, ServiceNow, Workday, Dynamics, Guidewire and similar - where the binding constraint is the vendor upgrade path, config lives in the platform rather than in git, and the right answer is often not to build it. Use for…
Build a client against a system you do not control and cannot fully see - contract discovery from observed traffic and existing callers, defensive parsing, timeout and retry and circuit-breaking posture, and a fake for testing. Use when consuming a legacy, undocumented, mainframe, SOAP, flat-file, or externally-owned…