What problem does it solve? Unbounded AEM queries (p.limit=-1 or setLimit(-1)) load entire result sets into heap, and when iterated in a loop they cause out-of-memory outages — the top OOM cause in AEM Cloud Service. This Skill finds those queries and fixes them safely without silently dropping rows. ## Core Features & Use Cases - Precise detection: Flags the two explicit unbounded markers — QueryBuilder p.limit=-1 predicate entries and JCR setLimit(-1) calls — including same-file constant references. - Consumption-based triage: Classifies each finding by how results are consumed (single-result, bounded list, iterate-all) and applies the safe fix: bound to 1, bound to N, or wrap in an offset paging loop. - Safe escalation: Request-path iterate-all queries are flagged as needs-pagination for human review rather than silently capped, preventing silent data truncation bugs. - Use Case: A scan flags p.limit=-1 in your search component after an OOM incident. The Skill reads the consuming method, bounds a single-result lookup to 1, and escalates a cross-method iterate-all query with a pagination recommendation. ## Quick Start Ask the assistant to scan my AEM project for unbounded queries and fix or flag each one based on how the results are consumed.