With neutral or colored pants:
You can go with almost any color pant here - and neutrals would be khakis, grey, black, white. I paired mine with grey jeans and white flats, and then added a pop of color with my bag. Denim I would consider a neutral, so pairing it with a natural slate is a no-brainer.
Shirt / Madewell (similar here and here)
Pants / Paige
Shoes / Madewell (similar here)
Denim on denim:
This is a big trend lately, and the key to wearing denim on denim and not looking like a mother from the 90's is to contrast the shades. I paired my light shirt with dark wash jeans. By adding heels and a brown satchel, it elevated the chic factor and made it look intentional.
Shirt / Madewell (similar here and here)
Pants / Paige (similar here)
Purse / Dooney and Bourke (similar here)
With a skirt:
This follows the same rule as colored pants - because denim would be considered a neutral here, almost any skirt could work. Something to watch though is the shape and style of your shirt and skirt. I had a fitted denim button-up with brass buttons, so I wore a flowy floral skirt to soften the look.
Shirt / H&M (similar here)
Skirt / Mango
Shoes / Steve Madden (similar here and here)
Some options for a denim shirt are below: