diff --git a/phpcs-sniffs/Formidable/Sniffs/CodeAnalysis/PreferFrmAppHelperSniff.php b/phpcs-sniffs/Formidable/Sniffs/CodeAnalysis/PreferFrmAppHelperSniff.php
new file mode 100644
index 0000000000..d8f5dc9bfa
--- /dev/null
+++ b/phpcs-sniffs/Formidable/Sniffs/CodeAnalysis/PreferFrmAppHelperSniff.php
@@ -0,0 +1,89 @@
+getTokens();
+
+ // Check if this is FrmProAppHelper::.
+ $prevToken = $phpcsFile->findPrevious( T_WHITESPACE, $stackPtr - 1, null, true );
+
+ if ( false === $prevToken || $tokens[ $prevToken ]['code'] !== T_STRING ) {
+ return;
+ }
+
+ if ( $tokens[ $prevToken ]['content'] !== 'FrmProAppHelper' ) {
+ return;
+ }
+
+ // Check the method name after ::.
+ $methodToken = $phpcsFile->findNext( T_WHITESPACE, $stackPtr + 1, null, true );
+
+ if ( false === $methodToken || $tokens[ $methodToken ]['code'] !== T_STRING ) {
+ return;
+ }
+
+ $methodName = $tokens[ $methodToken ]['content'];
+
+ if ( ! in_array( $methodName, $this->methods, true ) ) {
+ return;
+ }
+
+ $fix = $phpcsFile->addFixableError(
+ 'Use FrmAppHelper::%s instead of FrmProAppHelper::%s to avoid wrapper overhead.',
+ $prevToken,
+ 'UseAppHelper',
+ array( $methodName, $methodName )
+ );
+
+ if ( $fix ) {
+ $phpcsFile->fixer->beginChangeset();
+ $phpcsFile->fixer->replaceToken( $prevToken, 'FrmAppHelper' );
+ $phpcsFile->fixer->endChangeset();
+ }
+ }
+}
diff --git a/phpcs-sniffs/Formidable/ruleset.xml b/phpcs-sniffs/Formidable/ruleset.xml
index 8fb43e899b..c04a5e84da 100644
--- a/phpcs-sniffs/Formidable/ruleset.xml
+++ b/phpcs-sniffs/Formidable/ruleset.xml
@@ -30,21 +30,22 @@
-
+
-
+
+