Contractual liability coverage is the portion of your general liability policy that covers liability you assume through a contract or agreement. When you sign a subcontract that includes an indemnification clause requiring you to hold the GC harmless for claims arising from your work, you are assuming liability that would otherwise belong to the GC. Contractual liability coverage under your CGL policy insures that assumed obligation.
Standard CGL policies include contractual liability coverage for "insured contracts," which is defined broadly to include most construction contracts, leases, and hold harmless agreements. This means your policy will generally cover the indemnification obligations you assume in roofing subcontracts without requiring a separate endorsement. However, the coverage only applies to liability you would have had even without the contract; it does not cover the GC's sole negligence unless your indemnification clause specifically requires that and your policy does not exclude it.
Roofing contractors should understand the limits of contractual liability coverage when negotiating contracts. Some contracts contain broad form indemnification clauses that require you to assume liability even for the GC's own negligence. Many states prohibit or limit these broad form clauses in construction contracts, and even where they are legal, your insurance may not cover the GC's sole negligence that you contractually assumed. Have your attorney and broker review indemnification language before signing to ensure your contractual liability coverage actually matches what you are agreeing to indemnify.