IS-IS is a link state routing protocol and was originally created for OSI networks. It uses the same Djikstra algorithm as OSPF and uses Network Service Access Point (NSAP) Addressing to identify routers, their area memberships and their adjacencies. IS-IS provides level 1 (intra-area) and level 2 (intra-area) routing.
IS-IS encapsulates its messages directly info data-link frames, where adjacencies and addressing information are encoded as TLV records making IS-Is flexible and extendable. Any new protocols need only be encoded in a new TLV for IS-IS to carry it.
IS-IS is considered protocol-agnostic in this regard since it can be used with transporting almost any protocol.