# Persona Services Package This package contains platform-specific persona generation and analysis services, providing a modular and extensible architecture for creating platform-optimized writing personas. ## Structure ``` services/persona/ ├── __init__.py # Package initialization ├── linkedin/ # LinkedIn-specific persona services │ ├── __init__.py # LinkedIn package initialization │ ├── linkedin_persona_service.py # Main LinkedIn persona service │ ├── linkedin_persona_prompts.py # LinkedIn-specific prompts │ └── linkedin_persona_schemas.py # LinkedIn-specific schemas └── README.md # This documentation ``` ## LinkedIn Persona Services ### LinkedInPersonaService The main service class for generating LinkedIn-specific persona adaptations. **Key Features:** - Enhanced LinkedIn-specific prompt generation - Professional networking optimization - Industry-specific adaptations - Algorithm optimization for LinkedIn - Persona validation and quality scoring **Methods:** - `generate_linkedin_persona()` - Generate LinkedIn-optimized persona - `validate_linkedin_persona()` - Validate persona data quality - `optimize_for_linkedin_algorithm()` - Algorithm-specific optimizations - `get_linkedin_constraints()` - Get LinkedIn platform constraints ### LinkedInPersonaPrompts Handles LinkedIn-specific prompt generation with professional optimization. **Key Features:** - Industry-specific targeting (technology, business, etc.) - Professional networking focus - Thought leadership positioning - B2B optimization - LinkedIn algorithm awareness ### LinkedInPersonaSchemas Defines LinkedIn-specific JSON schemas for persona generation. **Key Features:** - Enhanced LinkedIn schema with professional fields - Algorithm optimization fields - Professional networking elements - LinkedIn feature-specific adaptations ## Usage ```python from services.persona.linkedin.linkedin_persona_service import LinkedInPersonaService # Initialize the service linkedin_service = LinkedInPersonaService() # Generate LinkedIn persona linkedin_persona = linkedin_service.generate_linkedin_persona( core_persona=core_persona_data, onboarding_data=onboarding_data ) # Validate persona quality validation_results = linkedin_service.validate_linkedin_persona(linkedin_persona) # Optimize for LinkedIn algorithm optimized_persona = linkedin_service.optimize_for_linkedin_algorithm(linkedin_persona) ``` ## Integration with Main Persona Service The main `PersonaAnalysisService` automatically uses the LinkedIn service when generating LinkedIn personas: ```python # In PersonaAnalysisService._generate_single_platform_persona() if platform.lower() == "linkedin": return self.linkedin_service.generate_linkedin_persona(core_persona, onboarding_data) ``` ## Benefits of This Architecture 1. **Modularity**: Each platform has its own dedicated service 2. **Extensibility**: Easy to add new platforms (Facebook, Instagram, etc.) 3. **Maintainability**: Platform-specific logic is isolated 4. **Testability**: Each service can be tested independently 5. **Reusability**: Services can be used across different parts of the application ## Future Extensions This architecture makes it easy to add new platform-specific services: - `services/persona/facebook/` - Facebook-specific persona services - `services/persona/instagram/` - Instagram-specific persona services - `services/persona/twitter/` - Twitter-specific persona services - `services/persona/blog/` - Blog-specific persona services Each platform service would follow the same pattern: - `{platform}_persona_service.py` - Main service class - `{platform}_persona_prompts.py` - Platform-specific prompts - `{platform}_persona_schemas.py` - Platform-specific schemas