You can do it with the native tools.
Plugins could make it easier…
Helical Stairs [often incorrectly, but very commonly, known as ‘Spiral Stairs’] have to follow a set of interacting rules - varying by building-type, country and area - but many rules are common.
You need to check your local building-codes - no plugin is going to do everything for you.
So let’s assume that you establish that for your building/area the minimum width is 1000mm, the maximum taper of a tread is 15°, and the rules say the ‘going’ mid-tread is 250mm and the minimum going at the center is 50mm, and the treads should overlap by 25mm, and other rules say the ‘rise’ needs to be perhaps 170mm [this depends on the going and the total rise etc]…
You now have everything needed to make a component tread.
Draw out the constraints using the model’s origin as the component’s center.
Add 3d thickness to the tread etc.
Lift the tread’s geometry up by the ‘rise’.
Exit the edit-mode…
Use the Rotate tool on the component-instance, press Ctrl to instigate ‘copy’ and rotate the copy 15°.
Move the copy up by the ‘rise’.
Check that the treads relate to each other as you expect.
Now you can use Rotate+Ctrl to copy the two selected treads by 30°.
Move them up by 2xrise.
Now repeat with the four, and Move up 2xrise etc…
Repeat until you have the required number of treads in 3d…
Now you have a set of radially array treads, each stepping up by the ‘rise’.
You can edit a tread and add some baluster posts and a sloping piece of handrail around a 3d-arc - look at followme etc.
If you hide the end edges of the rail they’ll fit together nicely with their siblings…
The first and last treads will probably each need ‘make-unique’ and then editing to form different handrail forms bottom/top etc…
Stairs are one of the most complex things to design and get right - ‘spiral’ ones are perhaps evn worse !