We use the concepts of Impulse and Angular impulse.
If the force is applied below the center of gravity in forward direction then, frictional force will act in backward direction because the contact point has both angular velocity and translational velocity in forward direction and friction tries to make it stationary relative to the surface.
Let us apply a force F at a height "h" above the center of gravity of the cylinder. Impulse(J): mv = Ft
Angular impulse = Iw = τt = Fht (h is distance perpendicular to force)= J*h
Iw = mvh
In the case of pure rolling, v= wr
I/r = mh
h = I /mr
If force is applied at a distance H(> I/mr) above the center of gravity, frictional force would act in the direction of force and if H lies below I/mr, frictional force will act opposite to that of force and ofcourse parallel to surface and passing through the contact point.
And since we have a spool of thread, force is being applied at a distance r from COM, so frictional force will act in the direction of force. (ASSUMING, I < mr²)
HERE,
I = MOMENT OF INERTIA ABOUT COM
w = angular velocity
t = time
m = mass
τ = Torque
r = radius
v = velocity
I am assuming the following:
The inertia of the object is that of a cylinder.
Spool of thread is massless