For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Add a dependency-free Markdown-to-ContentState importer to draftjs_exporter, with a two-phase parse-then-filter architecture.
Architecture: MarkdownImporter wires together MarkdownParser (CommonMark core → valid ContentState) and ContentStateFilter (declarative rules → filtered ContentState). Entity creation for links/images goes through configurable resolver chains; a shipped scheme_resolver helper handles internal-URL syntaxes like wagtail://image?id=10. A configurable inline_html_styles whitelist maps paired HTML tags (<sup>) to inline styles. Spec: docs/superpowers/specs/2025-07-21-markdown-importer-design.md.
Tech Stack: Python 3.10+ stdlib only (re, urllib.parse), pytest + unittest-style test classes,