Here are several BIPs specifying output script descriptors as implemented in Bitcoin Core.
In order to make it easier for implementors to indicate which descriptors they support, I’ve split up the specifications into multiple BIPs. The first is a general BIP describing the philosophy, general structure, shared expressions, and the checksum. The rest of the BIPs specify each descriptor function itself and are grouped into categories of non-segwit (pk, pkh, p2sh), segwit (wpkh, wsh), multi (multi, sortedmulti), combo (by itself), opaque wrappers (raw, addr), and tr (by itself).