What problem does it solve? Writing and reviewing fflib selector classes in Apex is error-prone: constructor flags change security posture and field sorting, bind variables fail silently when local names mismatch, subselects and parent traversal throw obscure exceptions, and dynamic filters invite SOQL injection. This Skill grounds every decision in the actual fflib-apex-common source so selectors are correct, secure, and mockable. ## Core Features & Use Cases - Selector construction and security posture: Covers the constructor and DataAccess matrix (USER_MODE, SYSTEM_MODE, LEGACY), field sets, getOrderBy parsing, and CRUD/FLS enforcement old versus WITH USER_MODE. - Full fflib_QueryFactory API: selectField, setCondition, addOrdering, setLimit, setOffset, subselectQuery, toSOQL, deepClone, parent field traversal, and child subselects via configureQueryFactoryFields and addQueryFactorySubselect. - Safe dynamic queries and batch support: Dynamic filters without SOQL injection using Database.queryWithBinds, QueryLocator selectors for Batch Apex, aggregate wrappers, and a 20-item anti-pattern review checklist. - Use Case: When writing an AccountsSelector that needs a filtered query with a child subselect and user-supplied search criteria, use this Skill to build it with newQueryFactory, bind maps, and WITH USER_MODE instead of concatenated strings. ## Quick Start Ask the assistant to write or review an Apex selector class extending fflib_SObjectSelector, for example to add a filtered query method with a child subselect and user-mode enforcement.