I want something thorough, i.e. that will cover "everything" on the board at a given level of detail, and yet which is as simple as possible at each level of detail and thus as quick as possible to use.
Inspired by Dan Heisman's tactics/middlegame advice to consider "Checks, Captures, and Threats, in that order", I would like to put together a more detailed and specific procedure to implement Dan's advice, which I'll call "All One-Move Tactics". The idea is that this procedure must be followed at each move, first for my moves and then for my opponent's (assuming a "null move" for me). This should give a complete first-order picture of all tactics (simple tactics) on the board in the current position. Note that this is not about evaluating the strength of any of these tactics (which I am pretty good at), merely at identifying every (simple) tactic (which I sometimes fail to do).
So, let's start the list. Items on this list must be identified/eliminated in order. (Note: this list assumes my king is not already in check; if it is, that will need to be a completely different "list".)
#1 Checkmate in One.
#2 Any check of opponent's king from a non-attacked (safe) square, including via discovery.
#1 and #2 cover Dan's Checks except for sequences of checks. I am still debating whether these also need to be considered for the opponent also before moving further down the list.
Before moving further down the list, it will be useful to identify loose pieces on the board, since these will be considered in multiple steps below, so:
#2.5 Identify all pieces on the board that are not protected at all (loose pieces).
#3 Any/all captures of loose pieces.
#4 Any/all captures of any piece by a lesser-value piece, considering knights and bishops as equal-valued.
Here already I can hear the second-order objection, "wait, what about captures above which open up a discovered attack on one of your other pieces". Yes any such condition needs to be "noted and (mentally) logged" with the move under consideration, for later analysis. But for purposes of simplicity, this cannot be allowed to slow down the "all one-move tactics" process.
Also to note here, no "removal of the guard" analysis fits in this scheme, since that is a two-move tactic.
#3 and #4 are all the captures this scheme considers. That differs from Dan's Captures in that captures of protected pieces by greater-or-equal-valued pieces are not to be considered. And of course neither are sequences of multiple captures to be considered (no quiescence searching). Again, we're only trying to identify the bedrock one-move tactics first, on which such further analysis should hang.
#5 Any move which attacks a loose piece from a non-attacked (safe) square, including via discovery. Note: any such move that attacks more than one loose piece is one type of fork/discovery, and any such move that is also in #2 above is a king fork/discovery.
#6 Any move which attacks a greater-valued piece (knights and bishops equal) from a non-attacked (safe) square, including via discovery. Note: any such move that is also in #2 above is a type of (king) fork/discovery, any such move that is also in #5 above is another type of fork/discovery, and any such move that attacks more than one greater-valued piece is yet another type of fork/discovery.
#7 Moving a passed pawn to a non-attacked (safe) square, or making a passed pawn via a push or a pxp capture onto a non-attacked (safe) square. Note: a #3 or #4 capture may also create a passed pawn.
That seems to be it. This type of move identification would seem to be of good use also at the end of any later quiescence searches, although it would be harder to keep accurate mental track of what the board looks like then. Assuming non-quiescence includes both checks and captures, the end-of-quiescence-search identification would only need to consider the Threats (#5, #6, #7) above.
I'm going to add one final Threat to consider, since it seems to be forcing in a similar manner to Checks in that it must be answered/answerable or the game is lost. Technically maybe it is a 1.5- or 2-move tactic, but it also kind of "closes the loop" with the very first item on this list. And it is:
#8 A move that threatens a mate-in-one on the following move.