What problem does it solve? Salesforce Apex controllers often run SOQL and DML in system mode, bypassing the caller's CRUD and field-level security, while permission sets are built by guesswork and end up over- or under-granted. This Skill provides a canonical workflow to enforce USER_MODE access and derive self-sufficient, least-privilege permission sets that survive deployment and audit review. ## Core Features & Use Cases - USER_MODE Conversion: Detects every system-mode static SOQL query reachable from @AuraEnabled, @InvocableMethod, VF, or webservice entry points and converts queries to WITH USER_MODE and DML to "as user". - Permission-Set Derivation: Enumerates the user-mode object and field surface from the code, cross-checks field permissionability via sf sobject describe, and builds exact objectPermissions and fieldPermissions. - Deploy Verification: Reads ObjectPermissions and FieldPermissions back from the org to catch silent drops from master-detail children and compound address fields, then proves sufficiency with System.runAs or persona walks. - Use Case: Before a security audit, run the hardening pass on a quoting controller: convert all queries to USER_MODE, generate a permission set granting Quote read/edit plus only the permissionable fields the code touches, deploy it, and confirm the org read-back matches the file. ## Quick Start Review my Apex controller for system-mode SOQL and DML, convert everything to USER_MODE, and build a least-privilege permission set that grants exactly what the code touches.