Summary
Add a minimal, optional plugin interface to register custom personas that provide domain-specific prompts and output validation. Keep clean separation from core and ensure clean uninstall.
Why
- Extensibility for specialized domains without polluting core
- Optional by design; project choice
Scope
- Define base class and registry; load plugins if present
Tasks
Acceptance Criteria
- Core works unchanged without plugins
- If a plugin folder is present, persona prompt is augmented and validation is applied
- Removing plugin leaves no residual behavior
Risks & Mitigations
- Interface creep -> keep minimal surface, document versioning
References
suggestion.md (Plugin Architecture for Custom Personas)
a2a/personas.py, a2a/roles/*
Summary
Add a minimal, optional plugin interface to register custom personas that provide domain-specific prompts and output validation. Keep clean separation from core and ensure clean uninstall.
Why
Scope
Tasks
a2a/persona_plugins.pywithPersonaPluginbase andPersonaRegistry.a2dev/personas/for pluginsget_expertise_prompt(),validate_output(output) -> boolexamples/personas/Acceptance Criteria
Risks & Mitigations
References
suggestion.md(Plugin Architecture for Custom Personas)a2a/personas.py,a2a/roles/*