diff --git a/changelog/11054.bugfix.rst b/changelog/11054.bugfix.rst
new file mode 100644
index 000000000..a8ee04fe3
--- /dev/null
+++ b/changelog/11054.bugfix.rst
@@ -0,0 +1 @@
+Fixed ``--last-failed``'s "(skipped N files)" functionality for files inside of packages (directories with `__init__.py` files).
diff --git a/src/_pytest/cacheprovider.py b/src/_pytest/cacheprovider.py
index 89a4a55f8..84ca2c688 100755
--- a/src/_pytest/cacheprovider.py
+++ b/src/_pytest/cacheprovider.py
@@ -219,7 +219,7 @@ class LFPluginCollWrapper:
 
     @hookimpl(hookwrapper=True)
     def pytest_make_collect_report(self, collector: nodes.Collector):
-        if isinstance(collector, Session):
+        if isinstance(collector, (Session, Package)):
             out = yield
             res: CollectReport = out.get_result()
 
diff --git a/testing/test_cacheprovider.py b/testing/test_cacheprovider.py
index ee2fe1845..7c6606e2b 100644
--- a/testing/test_cacheprovider.py
+++ b/testing/test_cacheprovider.py
@@ -420,7 +420,13 @@ class TestLastFailed:
         result = pytester.runpytest()
         result.stdout.fnmatch_lines(["*1 failed in*"])
 
-    def test_terminal_report_lastfailed(self, pytester: Pytester) -> None:
+    @pytest.mark.parametrize("parent", ("session", "package"))
+    def test_terminal_report_lastfailed(self, pytester: Pytester, parent: str) -> None:
+        if parent == "package":
+            pytester.makepyfile(
+                __init__="",
+            )
+
         test_a = pytester.makepyfile(
             test_a="""
             def test_a1(): pass