Merges ac-helper (PHP Activation Calendar) and brief-extractor (Python AI) into a single Docker app with React/TypeScript frontend. Features: - Brief upload → AI extraction → review → Activation Calendar import - Handsontable v17 spreadsheet with dependent dropdowns (148 categories) - AI natural language commands via Gemini (YOLO mode, voice input) - Azure AD MSAL SPA PKCE authentication, user roles (user/admin) - CSV Activation Calendar export - Real-time WebSocket job progress - Admin: user management, dropdown Excel upload - Multi-stage Dockerfile, docker-compose, nginx proxy instructions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| backup_old | ||
| ac_command.txt | ||
| consolidation_analysis.txt | ||
| multi_perspective_analysis.txt | ||
| README.md | ||
| system_multi_perspective.txt | ||
| system_validation.txt | ||
| universal_schema.json | ||
| validation_analysis.txt | ||
AI Prompts Directory
This directory contains the AI prompts used by the Enhanced Brief Processing System, extracted from the main Python code for better maintainability and editability.
Files Overview
Core Analysis Prompts
-
multi_perspective_analysis.txt- Main prompt for extracting marketing deliverables from documents- Used in
_perform_multi_perspective_analysis()method - Contains comprehensive extraction rules and multiplier handling logic
- Template parameter:
{doc_type}(e.g., "powerpoint", "word", "pdf")
- Used in
-
validation_analysis.txt- Quality assurance prompt for validating extractions- Used in
_enhance_and_validate_results()method - Validates completeness and accuracy of initial extraction
- Template parameters:
{asset_count},{doc_type}
- Used in
System Messages
system_multi_perspective.txt- System message for main analysissystem_validation.txt- System message for validation phase
Usage in Code
The prompts are loaded dynamically using the _load_prompt() method in the DocumentAnalyzer class:
# Load and format prompts
prompt_template = self._load_prompt('multi_perspective_analysis')
prompt = prompt_template.format(doc_type=doc_type.value)
system_message = self._load_prompt('system_multi_perspective')
Benefits of External Prompts
- Easy Editing - Modify prompts without touching Python code
- Version Control - Track prompt changes separately from code changes
- Readability - View full prompts in text editors with proper formatting
- Collaboration - Non-programmers can review and modify prompts
- Testing - Easier to A/B test different prompt variations
Template Variables
multi_perspective_analysis.txt
{doc_type}- Document type (powerpoint, word, pdf, excel)
validation_analysis.txt
{asset_count}- Number of assets found in initial extraction{doc_type}- Document type from metadata
Modifying Prompts
- Edit the
.txtfiles directly - Use standard Python string formatting for variables:
{variable_name} - Test changes by running the processing script
- No code changes required when modifying prompt content