Struggling to get a nice Shade smooth on Low poly
With low-poly objects like this one you’ll have this kind of artefacts because Blender tries to smooth between these faces and Auto-Smooth won’t be able to fix it completely, it only takes the face angles into account.
A good way to improve your shading is to use the WeightedNormal modifier in addition to the Auto-Smooth option. This modifier, like Shade Smooth or Auto-Smooth, will act on the split normals. The split normals are the normals at each corner of the face that determine the shading between the faces. If they converge they will tend to round the shading, if they diverge they will tend to flatten the shading. Here, the same cube, the left one with Shade Flat, the right one with Shade Smooth:

The WeightedNormal modifier will make the split normals converge but their direction will take the face size into account: The higher the Weight value is, the more the large faces will weigh on the split normals. Therefore to preserve the large faces and to smooth the smaller faces, keep the value very low. Here, without and with the modifier:

Note that you can choose a vertex group.