Every quarter, I run the same checklist on every org I manage. It takes me 60 seconds now because I automated it. Here's what I check and why.
Run this in Developer Console:
SELECT AssigneeId, COUNT(Id) FROM PermissionSetAssignment GROUP BY AssigneeId HAVING COUNT(Id) >= 10 ORDER BY COUNT(Id) DESC
If anyone has 10+, you have permission bloat. I've seen users with 23 permission sets where 15 were redundant. That's not just messy — it's a SOC 2 finding waiting to happen.
SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 1 ORDER BY COUNT(Id) DESC LIMIT 20
Every org has these. "ACME Corp" and "ACME Corporation" are two different accounts with two different pipelines. Your forecast is wrong and you don't know it.
SELECT COUNT() FROM FlowDefinitionView WHERE IsActive = true
If you have more than 100 active flows and can't explain what half of them do, you have automation sprawl. I've cleaned up orgs with 200+ flows where 40% were stale or duplicated.
Hit /services/data/v60.0/limits on your API. If any limit is above 80%, you're one bad integration update away from a production outage.
SELECT COUNT() FROM Contact WHERE Email = null
If you have thousands of contacts without emails, your marketing team is flying blind and your reports are lying to your VP.
Or you can skip all of this and run a free automated scan that checks everything above plus 15 more things. Takes 60 seconds.
I built it because I got tired of running these queries manually on every new engagement. Now the machine does it.