- sql.py: convert setCategoryDescription() INSERT loop to executemany()
(only remaining INSERT-in-loop; rest of sql.py already used executemany)
- spm/plugins/skel.py: add from __future__ import annotations and type
annotations to all 25 abstract interface methods (return types, param types)
using Python 3.10+ union syntax (X | None instead of Optional[X])
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>