Creating a new plugin requires understanding StateMachinePlugin, Timeline, interaction recording, and assertion helpers. Write a step-by-step guide (docs/guides/writing-plugins.md already exists but could be expanded) with:
- A copy-paste plugin template
- Checklist of required methods (`record()`, `assertable_fields()`, proxy class)
- Common pitfalls (auto-assert prohibition, assertable_fields coverage)
- Reference implementations (LoggingPlugin as simplest, RedisPlugin as stateful)
Creating a new plugin requires understanding StateMachinePlugin, Timeline, interaction recording, and assertion helpers. Write a step-by-step guide (docs/guides/writing-plugins.md already exists but could be expanded) with: